Environment
- Hardware: Raspberry Pi 5 Model B Rev 1.1
- OS: Ubuntu Core 24
- ubuntu-frame version: 393-mir2.23.0, Rev 17237 (24/stable)
- Kernel: pi-kernel 6.8.0-1039.43 (24/stable)
- Gadget: pi 24-3, Rev 151 (24/stable)
Problem
For my usecase im trying to take a clean install of Ubuntu Core on a Raspberry Pi 5 and run the suggested demo of Ubuntu-Frame. However, the Ubuntu-Frame demo fails to work.
My steps
start with a clean install of Ubuntu Core
run $ sudo snap refresh
modify the config.txt file $ sudo vi /run/mnt/ubuntu-seed/config.txt to use vc4-kms-v3d
run $ sudo snap install ubuntu-frame wpe-webkit-mir-kiosk
run $ sudo snap set wpe-webkit-mir-kiosk url=https://ubuntu.com/core
but what i see is
ubuntu-frame cannot start because no DRM devices are detected. The vc4 kernel module loads but never binds to hardware. /dev/dri/card0 is never created.
Error Output
[2025-10-29 22:45:16.157163] <information> atomic-kms: Unsupported: No DRM devices detected
ERROR: ./src/server/graphics/default_configuration.cpp(200): Exception while creating graphics platform
std::exception::what: Failed to find any platforms for current system
Root Cause
All device tree display components are created but remain disabled, preventing vc4 driver initialization:
$ cat /sys/firmware/devicetree/base/soc/hdmi@7ef00700/status
disabled
$ cat /sys/firmware/devicetree/base/hvs@107c580000/status
disabled
Critical Finding: BOTH Overlays Fail Identically
I tested both the generic and Pi 5-specific overlays:
Test 1: Generic overlay
dtoverlay=vc4-kms-v3d,cma-128
Result: HDMI/HVS disabled, no /dev/dri, ubuntu-frame fails
Test 2: Pi 5-specific overlay
dtoverlay=vc4-kms-v3d-pi5,cma-128
Result: HDMI/HVS disabled, no /dev/dri, ubuntu-frame fails
Changing to the Pi 5-specific overlay made ZERO difference. Both result in identical failure.
Diagnostic Evidence
Device tree nodes exist but are disabled:
$ find /sys/firmware/devicetree/base/ -name "*hdmi*" -o -name "*hvs*"
/sys/firmware/devicetree/base/soc/hdmi@7ef00700
/sys/firmware/devicetree/base/soc/hdmi@7ef05700
/sys/firmware/devicetree/base/hvs@107c580000
# All show status="disabled"
vc4 module loads but never binds:
$ lsmod | grep vc4
vc4 479232 0
# Usage count = 0, module not bound to any devices
No vc4 initialization in dmesg:
$ sudo dmesg | grep -i vc4
[empty output - driver never attempts to initialize]
No DRM devices created:
$ ls /dev/dri/
ls: cannot access '/dev/dri/': No such file or directory
No HDMI/HVS platform devices:
$ ls /sys/bus/platform/devices/ | grep -E "hdmi|hvs|7ef|7c580000"
[empty - only axi:gpu exists, no display hardware devices]
Analysis
The vc4 driver uses a component framework that waits for all display subsystem components (HDMI controllers, HVS, pixel valves) to have status=“okay” before binding. Since all components remain status=“disabled” regardless of which overlay is used, the driver never completes initialization.
This suggests:
- Both .dtbo overlay files in pi-kernel 6.8.0-1039.43 are broken/incomplete for Pi 5
- Ubuntu Core’s bootloader isn’t properly applying overlays
- The pi-gadget snap or initrd is disabling device tree nodes after overlay loading
Related Information
- Launchpad Bug #2128161 reports identical failure on Compute Module 5
- One user successfully deployed ubuntu-frame on Ubuntu Core 24 + Pi 5 Ubuntu Discourse, Aug 29 2025, proving this configuration CAN work, but the working configuration is undocumented
- I had a reply ready to this topic where i wanted to ask the original poster what their configuration was but it was already closed.
- The same hardware works correctly with Raspberry Pi OS and Ubuntu Desktop 24 LTS, confirming hardware is functional
Questions for Canonical/MirServer
- What is the correct device tree overlay configuration for Pi 5 on Ubuntu Core 24?
- Why do both vc4-kms-v3d and vc4-kms-v3d-pi5 result in disabled device tree nodes?
- Should ubuntu-frame detect and specifically report disabled device tree nodes as a known failure mode?
- Can you provide documentation or diagnostic tools for “No DRM devices detected” on Ubuntu Core?
Since one ubuntu-frame deployment on this exact platform is confirmed working, there must be a configuration that succeeds - but it’s not documented anywhere.