Thursday, November 6th, 2025 at 2:37 PM
Booting to a browser for a raspberry pi 3b

Notes from putting together artist info display. This is with raspberry pi OS lite (no desktop). I ended up doing 32 bit but maybe could have done 64.

in .xinitrc, which automatically runs when x session starts. Some of this specific for this monitor.

#!/bin/bash
# --- Configure display ---
# Rotate HDMI-1 90° left (portrait)
xrandr --output HDMI-1 --rotate left --pos 0x0

# --- Disable screen blanking / power saving ---
xset -dpms          # disable DPMS (Energy Star)
xset s off          # disable screen saver
xset s noblank      # don't blank the video device

# --- Hide mouse cursor after 0 seconds of inactivity ---
# (Make sure unclutter is installed: sudo apt install unclutter)
unclutter -idle 0 -root &

# --- Wait briefly for display to settle ---
sleep 1

# --- Launch Chromium window ---
chromium \
  --noerrdialogs \
  --disable-infobars \
  --window-position=0,0 \
  --window-size=1280,400 \
  --app=https://artist-info.grantcuster.com

And this in .bash_profile to automatically start x.

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
  startx
fi

I had a lot of trouble with wifi, and tried to strip it way back, but it was hard to even figure out what was actually controlling it between NetworkManager and netplan and random other things. Eventually I reflashed and basically used the standard config.

I also had display issues which were finally soved by using the 'fake' video driver in /boot/firmware/config.txt.

dtoverlay=vc4-fkms-v3d

Turned on autologin in raspberry pi settings.

So it boots, runs bash_profile from TTY which starts X which runs .xinitrc.