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 Underscan
and 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 -dpms
if you want the display to stay on permanently. To adjust standby times, you can setxset -dpms 60 120
.
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
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://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.
Last updated