Ubuntu Frame demo on Ubuntu Core on Raspberry Pi 5

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:

  1. Both .dtbo overlay files in pi-kernel 6.8.0-1039.43 are broken/incomplete for Pi 5
  2. Ubuntu Core’s bootloader isn’t properly applying overlays
  3. 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

  1. What is the correct device tree overlay configuration for Pi 5 on Ubuntu Core 24?
  2. Why do both vc4-kms-v3d and vc4-kms-v3d-pi5 result in disabled device tree nodes?
  3. Should ubuntu-frame detect and specifically report disabled device tree nodes as a known failure mode?
  4. 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.

Workaround: After working with a developer at this URL

The correct overlay to use is vc4-kms-v3d-pi5 but you will likely need to sudo snap refresh to get it. However, after you have the correct overlay, I can confirm that the path to the overlay vc4-kms-v3d-pi5 will be too long when loaded and will silently fail. To work around this first you need to shorten the path to the correct overlay used on Raspberry Pi 5 by coping and renaming it. Next you will need edit your /run/mnt/ubuntu-seed/config.txt to use the correct overlay with shortened path name. After a reboot Ubuntu Frame will be working and the display will show the correct URL provided.

My workaround: (only for Raspberry Pi 5)

Starting with a fresh install of Ubuntu Core on the Raspberry Pi 5

sudo snap refresh
sudo cp /boot/piboot/pi-kernel_1047.snap/overlays/vc4-kms-v3d-pi5.dtbo /boot/piboot/pi-kernel_1047.snap/overlays/vc4-pi5.dtbo
sudo sed -i 's/dtoverlay=vc4-fkms-v3d,cma-128/dtoverlay=vc4-pi5/' /run/mnt/ubuntu-seed/config.txt
sudo snap install ubuntu-frame wpe-webkit-mir-kiosk
sudo snap set wpe-webkit-mir-kiosk url=https://ubuntu.com/core
sudo reboot
1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.