Raspberry Pi 5: Xorg issues - Chromium Autostart (Cannot run in framebuffer mode)

Alright! I ended up working my way through the issue.

After running chromium autostart as root and inspecting the xorg log as @Joulinar suggested, I noticed this: (EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices.

A bit of searching led me to this post which had the solution…Create 99-vc4.conf in /etc/X11/xorg.conf.d/ with the following content:

Section "OutputClass"
  Identifier "vc4"
  MatchDriver "vc4"
  Driver "modesetting"
  Option "PrimaryGPU" "true"
EndSection

After rebooting, chromium launched my URL in 4K. I have yet to try this as the dietpi user which I would prefer to do. I’ll report back on that later.


Update: No permission issues running as user dietpi.

Update 2: For future readers…a better explanation. This is a result of Debian moving away from X in favor of Wayland (I think). The kernel creates two devices, /dev/dri/card0 and /dev/dri/card1. One is for vc4 (display) and the other is for v3d (3d hardware). They are allocated randomly. X is dumb, it just uses /dev/dri/card0 which ends up working/failing half of the time. The generic Debian packages don’t know that Pi has a display driver called vc4, so you need a config file to describe that. That config exists in the full versions of RPIOS. The devs don’t care about X working in their lite versions because they are intended to be used without a desktop, so they didn’t bother to address this issue. I assume that DietPi is based on the lite images of Raspberry Pi OS, so it must have inherited the same issue.

I deserve 0 credit for that explanation btw. Most of if was copy and pasted from the Raspberry Pi forum.

1 Like