Page 1 of 1

RV1106 (ultra w) LVGL + DRM

Posted: 2026-01-24 7:58
by RomkaAmigo
Hi i trying to use DRM with LVGL 8.3.10. It forks well with fb0 output, but with DRM i have an error:
drm: Found plane_id: 55 connector_id: 70 crtc_id: 66
drm: 800x480 (85mm X 85mm) pixel format XR24
size 1536000 pitch 3200 offset 268435456
size 1536000 pitch 3200 offset 269971456
DRM subsystem and buffer mapped successfully
error: drmModeAtomicCommit failed: Permission denied
error: Flush fail
DRM is enabled in kernel.
DRM_ROCKCHIP [=y]

Permissions:
ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root 80 Jan 24 07:22 by-path
crw-rw-rw- 1 root video 226, 0 Jan 24 07:22 card0
crw-rw-rw- 1 root video 226, 128 Jan 24 07:22 renderD128

I add for lvgl

Code: Select all

    #  define USE_DRM           1
    lv_init();
    /*Linux FrameBuffer or DRM device init*/
    #if (USE_DRM == 1)
        drm_init();
    #elif (USE_FBDEV == 1)
        fbdev_init();
    #endif
    static lv_disp_draw_buf_t disp_buf;
    lv_disp_draw_buf_init(&disp_buf, buf0, buf1, DISP_SIZE);

    static lv_disp_drv_t disp_drv;
    lv_disp_drv_init(&disp_drv);
    disp_drv.draw_buf   = &disp_buf;
    #if (USE_DRM == 1)
        disp_drv.flush_cb   = drm_flush;
    #elif (USE_FBDEV == 1)
        disp_drv.flush_cb   = fbdev_flush; 
    #endif
...
Whats wrong and what i should do else?

Re: RV1106 (ultra w) LVGL + DRM

Posted: 2026-01-26 1:28
by Crocodile
Hello, may I ask what system you are using? Has the system installed desktop display services like X11/wayland?

It should be noted that LVGL 8.3.10 has poor support for DRM, and the display smoothness will be lower than that of framebuffer. Moreover, the examples are only applicable to systems without desktop display services.