ardera / flutter-pi

A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.
MIT License
1.48k stars 153 forks source link

🐛 throwing DRM and GBM errors w/ latest kernel #404

Open lukas-runge opened 1 month ago

lukas-runge commented 1 month ago

Hi folks,

I just updated my Pi 5 to the latest kernel version with sudo apt update && sudo apt upgrade. I am now running on: 6.6.26-v8-16k+

Sadly flutter-pi just crashes now - every time I try to start it in release mode.

> flutter-pi --release build/flutter_assets

modesetting.c: Could not set DRM client universal planes capable. drmSetClientCap: Operation not supported
flutter-pi.c: Could not create drmdev from device at "/dev/dri/card1". Continuing.
egl_gbm_render_surface.c: Couldn't create GBM surface for rendering. gbm_surface_create_with_modifiers: Invalid argument
egl_gbm_render_surface.c: Will retry without modifiers
flutter: {}
modesetting.c: Couldn't add buffer as DRM fb. drmModeAddFB2WithModifiers: Invalid argument
egl_gbm_render_surface.c: Couldn't add GBM buffer as DRM framebuffer.
window.c: Couldn't present flutter layer on screen. surface_present_kms: Input/output error

Any ideas on how to solve that? 🙌

Kind regards, @lukas-runge

lukas-runge commented 1 month ago

Just rolled back my Raspberry Pi 5 to Kernel v6.1.77 via sudo rpi-update 5fc4f643d2e9c5aa972828705a902d184527ae3f. 🚧

After a reboot flutter-pi works perfectly again. 🎉 Non the less a fix would be great to support newer kernel versions in the future. 🙌

Best regards, @lukas-runge

DonatelloX commented 2 weeks ago

I have the same problem. Please, can you fix it?

ardera commented 2 weeks ago

@lukas-runge @DonatelloX What display are you using and how is it connected? If you have a DSI display, can you try with latest master? I just merged a fix for a Pi 5 DSI problem yesterday: #416 .

DonatelloX commented 2 weeks ago

The problem seems solved now.

DonatelloX commented 2 weeks ago

It does not always appear but sometimes immediately after launching the application:

modesetting.c: Could not set DRM client universal planes capable. drmSetClientCap: Operation not supported
flutter-pi.c: Could not create drmdev from device at "/dev/dri/card0". Continuing.

Last kernel 6.6.28