Performance issues Silverblue for Raspberry Pi 4b

Hello there

I have fedora silverblue 39 flashed and running on a raspberry pi 4. I’ve noticed there is severely degraded performance compared with the workstation edition. input lag, dropped frames, unresponsive ui, etc.

As well it does not correctly read my HDMI monitor’s available resolutions. for example on workstation I have /sys/class/drm/card2-HDMI-A-1, with a legit edid, but on silverblue I only get /sys/class/drm/card0-Unknown-2/ with an empty edid.

Workstation idles at approximately 0% CPU
Silverblue idles at about 14% CPU. Same hardware.

What can I do to help improve the performance of silverblue on RPi 4?

What does Settings → About → System Details say under Graphics?

Thanks for replying

System Details Report


Report details

  • Date generated: 2023-11-11 23:36:03

Hardware Information:

  • Hardware Model: Raspberry Pi Foundation Raspberry Pi 4 Model B
  • Memory: 4.0 GiB
  • Processor:
  • Graphics: Software Rendering
  • Disk Capacity: (null)

Software Information:

  • Firmware Version: UEFI Firmware v1.34
  • OS Name: Fedora Linux 39.20231111.0 (Silverblue)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: Not Available
  • Windowing System: Wayland
  • Kernel Version: Linux 6.5.11-300.fc39.aarch64
⬢ [fedora-toolbox:39] ❯ inxi -G
Graphics:
  Message: No ARM data found for this feature.
  Display: wayland server: X.Org v: 23.2.2 compositor: gnome-shell driver:
    dri: swrast gpu: N/A resolution: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: kms_swrast,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.5 vendor: mesa v: 23.2.1 renderer: llvmpipe (LLVM 16.0.6
    128 bits)
❯ sudo cat /boot/efi/config.txt
arm_64bit=1
enable_uart=1
uart_2ndstage=1
enable_gic=1
armstub=RPI_EFI.fd
disable_commandline_tags=1
disable_overscan=1
device_tree_address=0x1f0000
device_tree_end=0x200000
dtoverlay=miniuart-bt
dtoverlay=upstream-pi4

You might be able to spot the problem with the GPU driver in the kernel logs: journalctl -k

How did you install Silverblue in the first place? Support for amdV8 raspberry pi 4b etc · Issue #150 · fedora-silverblue/issue-tracker · GitHub

I see, it’s the pftf UEFI. Workstation image is using U-Boot with working V3D, that might be why.

Firmware Version: UEFI Firmware v1.34

To get working V3D hardware acceleration in UEFI, Devicetree is needed in System Table Selection.
Though some stuff might be broken, last time I tired ACPI+Devicetree on RPi400 (with vanilla kernel), latest base DTB doesn’t boot, LED & power key don’t work, power off becomes reboot… etc.

quite helpful, @navras

I entered the bootloader by pressing escape when the raspberyr pi logo displayed on screen
I entered the Device Configuration > Advanced menu, and made two changes

  1. disable the 3gb memory limit
  2. change the System Table Selection to ACPI+DeviceTree

I then rebooted.

I now have this in “System Configuration”

System Details Report


Report details

  • Date generated: 2023-11-12 08:24:25

Hardware Information:

  • Hardware Model: Raspberry Pi Foundation Raspberry Pi 4 Model B
  • Memory: 4.0 GiB
  • Processor:
  • Graphics: V3D 4.2
  • Disk Capacity: (null)

Software Information:

  • Firmware Version: UEFI Firmware v1.34
  • OS Name: Fedora Linux 39.20231112.0 (Silverblue)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 45.1
  • Windowing System: Wayland
  • Kernel Version: Linux 6.5.11-300.fc39.aarch64

As well, my HDMI monitor reports and uses the correct resolutions, and i’m able to play sound through the built in speakers.

As well, I’m apparently still able to access my NAS storage USB drive, so this is appears to be a complete solution.

Thanks again!

Update: I don’t have fan control and can’t read the CPU temperature. My use case doesn’t strictly need those so this solution is good for me, but might not be for everyone. My understanding is that more and more of these features will be enabled with future kernel versions.

1 Like