rockchip_dri.so missing Topic is solved

Have some feedback, questions, suggestions, or just fancy a chat? Pop it in here.
Post Reply
stemmo
Posts: 8
Joined: Wed Dec 04, 2019 1:19 pm

rockchip_dri.so missing

Post by stemmo »

Hi all,
I'm trying to port the flutter engine on Tinker board on the top of DietPi OS.
I installed some missing packages but now the embedder says that the rockchip_dri.so driver is missing.

Where I can find it, please?
Thanks!
User avatar
Joulinar
Posts: 5619
Joined: Sat Nov 16, 2019 12:49 am

Re: rockchip_dri.so missing

Post by Joulinar »

Hi,
I don't think it is an issue of DietPi as DietPi isn't an own OS. It's a set of script on top of a base image. In your case probably Armbian. I fond an old Armbian forum entry that sounds similar https://forum.armbian.com/topic/5344-ro ... r-missing/
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
User avatar
MichaIng
Site Admin
Posts: 3216
Joined: Sat Nov 18, 2017 6:21 pm

Re: rockchip_dri.so missing

Post by MichaIng »

Not sure how that engine is trying to talk to the GPU, but you need to assure that it uses GLES/EGL. Probably installing the related libraries will already work:

Code: Select all

apt install libgles2 libegl1
stemmo
Posts: 8
Joined: Wed Dec 04, 2019 1:19 pm

Re: rockchip_dri.so missing

Post by stemmo »

The libraries are yet installed, even if there was a substitution:

Code: Select all

root@DietPi:~# apt install  libgles1-mesa-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libmali-xu4-x11-gbm-fbdev' instead of 'libgles1-mesa-dev'
libmali-xu4-x11-gbm-fbdev is already the newest version (19.0.6-3armbian1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

After little modifications (needed for Raspberry..) now the messages are:

[modesetting] Could not set DRM client universal planes capable. drmSetClientCap: Operation not supported
[flutter-pi] Could not create drmdev from device at "/dev/dri/card1". Continuing.
[flutter-pi] WARNING: display didn't provide valid physical dimensions.
             The device-pixel ratio will default to 1.0, which may not be the fitting device-pixel ratio for your display.
===================================
display mode:
  resolution: 1920 x 1080
  refresh rate: 60Hz
  physical size: 0mm x 0mm
  flutter device pixel ratio: 1.000000
===================================
flutter-pi: symbol lookup error: flutter-pi: undefined symbol: gbm_surface_create_with_modifiers
I don't know exactly what does it mean; the driver seems to be there, so why it is not able to create drmdev?
My guess the undefined symbol error is the effect of the first error + continuing

Regards
User avatar
MichaIng
Site Admin
Posts: 3216
Joined: Sat Nov 18, 2017 6:21 pm

Re: rockchip_dri.so missing

Post by MichaIng »

What the hack. So you use the ASUS Tinker Board, right? I just checked the Armbian repository and it seems it actively overrides the EGL/GLES packages with their own libmali proprietary blobs, on armhf the one for Odroid XU4, which is a completely different SoC and of course cannot work like that. Furthermore GUI software installed from Debian won't work with these likely.

Luckily it is a separate component we do not add to new images anymore. Please remove it: Edit /etc/apt/sources.list.d/armbian.list and remove buster-desktop and buster-utils there, so only main remains (which holds the essential kernel and firmware packages).

Then purge libmali-xu4-x11-gbm-fbdev and its dependencies. Also check dpkg -l for other possible GPU related packages pulled from Armbian, identified by the suffix in the version string. Then again install the Mesa drivers from Debian. But I just checked the package lists, and for Rockchip support, the newer Mesa drivers from Buster backports are required: https://packages.debian.org/buster-back ... i/filelist

Code: Select all

apt install -t buster-backports libgl1-mesa-dri libegl1 libgles2
stemmo
Posts: 8
Joined: Wed Dec 04, 2019 1:19 pm

Re: rockchip_dri.so missing

Post by stemmo »

Thanks a lot!!!
I followed your statement and the code moves on ...
Now it is breaking some rows ahead with an exception:

Code: Select all

printf("init .. %p %d %d\n", flutterpi.egl.display, major, minor);
        eglInitialize(flutterpi.egl.display, &major, &minor);
printf(".. after\n");

Output:
init .. 0x167e4e0 19137245 5122628
Segmentation fault
The challenge continues .. :D
User avatar
Joulinar
Posts: 5619
Joined: Sat Nov 16, 2019 12:49 am

Re: rockchip_dri.so missing

Post by Joulinar »

Segmentation fault usually points into direction of corrupted files
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
Post Reply