rockchip_dri.so missing Topic is solved

Have some feedback, questions, suggestions, or just fancy a chat? Pop it in here.
stemmo
Posts: 10
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: 6047
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: 3370
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: 10
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: 3370
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: 10
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: 6047
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
stemmo
Posts: 10
Joined: Wed Dec 04, 2019 1:19 pm

Re: rockchip_dri.so missing

Post by stemmo »

Dears,
yesterday I had a OS upgrade to DietPi v7.6.2.
Now I'm not able to compile the flutter-pi project.
I have the follolwing error:

Code: Select all

root@DietPi:~/flutter-pi/build# make
[  5%] Building C object CMakeFiles/flutter-pi.dir/src/flutter-pi.c.o
/root/flutter-pi/src/flutter-pi.c:36:10: fatal error: EGL/egl.h: No such file or directory
 #include <EGL/egl.h>
          ^~~~~~~~~~~
compilation terminated.
I look into the /usr/include/ directory and I see only the GL directory.
So I realize that the reuired libegl1-mesa-dev library is not installed, so:

Code: Select all

root@DietPi:~/flutter-pi/build# apt install  libegl1-mesa-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libegl1-mesa-dev : Depends: libglvnd-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Then I try to install libglvnd-dev library:

Code: Select all

root@DietPi:~/flutter-pi/build# apt install libglvnd-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libglvnd-dev : Depends: libglvnd0 (= 1.1.0-1) but 1.3.2-1~bpo10+2 is to be installed
                Depends: libegl1 (= 1.1.0-1)
                Depends: libgles1 (= 1.1.0-1)
                Depends: libgles2 (= 1.1.0-1)
                Depends: libgl1 (= 1.1.0-1) but it is not going to be installed
                Depends: libglx0 (= 1.1.0-1) but it is not going to be installed
                Depends: libopengl0 (= 1.1.0-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
There is something wrong ...
:cry: :cry: :cry:
User avatar
Joulinar
Posts: 6047
Joined: Sat Nov 16, 2019 12:49 am

Re: rockchip_dri.so missing

Post by Joulinar »

I guess you would need to install from Buster backports as stated above

Code: Select all

apt install -t buster-backports libgl1-mesa-dri libegl1 libgles2
Pls let us know if a solution is working. This could help others if they hit by similar situation. Your DietPi Team
stemmo
Posts: 10
Joined: Wed Dec 04, 2019 1:19 pm

Re: rockchip_dri.so missing

Post by stemmo »

oh my ... thanks a lot ..
Post Reply