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:
- Install the Software Stack on a New Image with Desktop: - This involves creating a new image with a desktop environment. 
 
- 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
- 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
 
- 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 Underscanand set it to "No".
 
- 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 -dpmsif you want the display to stay on permanently. To adjust standby times, you can set- xset -dpms 60 120.
 
- Enable X-Server Autostart: - Create or edit the - .bash_profilefile in the home directory:- nano /home/pi/.bash_profile
- Add the following line: - [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor
 
- Reboot the Raspberry Pi: - Restart the Raspberry Pi to apply the changes: - sudo reboot now
 
- 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://flagsand enable:- ignore-gpu-blocklist
- enable-gpu-rasterization
 
- To access the URL bar, remove the - --kioskflag from the Openbox autostart file and the- -nocursorflag from the- .bash_profilefile. 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.
Last updated
