VAN PI DOCUMENTATION
  • VAN PI DOCS OVERVIEW
  • German Docs Version
  • 💫GET STARTED
    • FLASH VAN PI OS
    • Build your VAN PI CORE
    • First Start
      • Userinterfaces Overview
  • ➕Connecting devices
    • Watersensors
      • Resistance (Ohm)
      • Capacitiv (V)
    • Loads via relays
    • Signal Inputs
      • Input ALL OFF Funktionen
    • VAN PI DIMMY - LED Controller WIRED
    • Temperature Sensors
    • Setting up or moving temperature sensor
  • 🛜Wirelesss and Network
    • Network Config Overview
    • Wifi Settings
    • Bluetooth Devices
      • Ruuvi Tags
      • Pekaway MPPT S20
      • Senso4s Gok
      • Battery BMS
    • Time Sync
    • Victron Ve.Direct
    • Zigbee
  • 🪫ENERGY MANAGEMENT
    • Battery Monitoring
      • Pekaway Wireless Shunt
      • Bluetooth BMS Batterie
      • Victron Smart Shunt
    • Solar Controller
      • Pekaway MPPT S20
      • Victron
      • Votronic Solar
  • Remote Connection
    • Pekaway App
    • Pekaway LTE Bridge 4G
      • LTE BRIDGE UPDATE
    • LTE Router
    • Telegram
    • Apple Homekit - Homebridge
    • other
  • Position
    • RJ45 UART GPS
    • USB GPS
    • Pekaway 4G Bridge
    • orientation sensor
  • 🌡️heater
    • Autoterm 2D & 4D
    • Webasto
    • Truma
    • Chinese Diesel heater
  • API
    • MQTT
    • HTTP
  • DISPLAYs
    • RJ45 UART - Pekaway Touchdisplay
    • Tablets
    • Pekaway Android 5,5"
    • Sonoff NS PANEL
    • Button PLUS
    • HDMI
  • OTHER SOFTWARE STACKS
    • Home Assistant connector
    • NomadPI
  • DEBUG
    • I2C
    • Waterlevel
    • Network
Powered by GitBook
On this page
  1. DISPLAYs

HDMI

Summary

VAN PI OS does not natively include a desktop environment and functions only as a server application.

There are two ways to utilize HDMI:

  1. Install the Software Stack on a New Image with Desktop:

    • This involves creating a new image with a desktop environment.

  2. Follow This Guide:

    • If you already have an HDMI touchscreen display and want to display the dashboard on it, you can follow these steps.

Since our operating system is "headless" (without a desktop interface), we use X for graphical output and Openbox as the window manager.

Steps to Set Up HDMI Display

  1. Install Required Packages:

    • Log in via SSH to the Raspberry Pi and install the necessary packages:

      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox
      sudo apt-get install --no-install-recommends chromium-browser
  2. Configure Raspberry Pi for CLI Auto-Login:

    • Run the following command:

      sudo raspi-config
    • Select:

      • 1 System Options → S5 Boot/Auto-Login → B2 Console Autologin

    • If you notice a black border on your display later, go to 2 Display Options → D2 Underscan and set it to "No".

  3. Set Up Openbox Autostart:

    • Edit the Openbox autostart file:

      sudo nano /etc/xdg/openbox/autostart
    • Add the following lines to the end of the file:

      # Disable any form of screen saver / screen blanking / power management
      xset s off
      xset s noblank
      # xset -dpms
      
      # Allow quitting the X server with CTRL-ALT-Backspace
      setxkbmap -option terminate:ctrl_alt_bksp
      
      # Start Chromium in kiosk mode
      sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
      sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
      chromium-browser --noerrdialogs --incognito --disable-infobars --check-for-update-interval=31536000 --kiosk 'http://127.0.0.1:1880/ui/'
    • Uncomment the line # xset -dpms if you want the display to stay on permanently. To adjust standby times, you can set xset -dpms 60 120.

  4. Enable X-Server Autostart:

    • Create or edit the .bash_profile file in the home directory:

      nano /home/pi/.bash_profile
    • Add the following line:

      [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor
  5. Reboot the Raspberry Pi:

    • Restart the Raspberry Pi to apply the changes:

      sudo reboot now
  6. Optimize Performance:

    • Assign more memory to the GPU in the Raspberry Pi configuration:

      • 4 Performance Options → P2 GPU Memory, set it to 256MB.

    • In Chromium browser, go to chrome://flags and enable:

      • ignore-gpu-blocklist

      • enable-gpu-rasterization

    • To access the URL bar, remove the --kiosk flag from the Openbox autostart file and the -nocursor flag from the .bash_profile file. After making the necessary changes, re-add these flags for kiosk mode.

Note: Running the browser continuously may increase the CPU temperature, but it remains within normal limits. Testing was done without active cooling or heatsinks.

PreviousButton PLUSNextHome Assistant connector

Last updated 10 months ago