Hi,
I need some support around the GPU topic of the iMX8MP.
After I switched from Kernel 5.15.52 to Kernel 6.6.23 my LVDS display did not work as expect.
I recognized that the galcore kernel module did not create a device (/dev/galcore).
How can I found out why the device is not create? I tried to remove the module and insert again but this works without error messages. I searched in dmesg and journalctl but also with no success.
So what possibilities do I have to get more information?
Solved! Go to Solution.
Hi I found out that I miss to enable the mix_gpu_ml node in the devicetree.
After I add the lines
&mix_gpu_ml {
status = "okay";
};
and reboot I have a /dev/galcore device. And now I am also able to start weston
I checked the following things:
$ strings /usr/lib/libGAL.so | grep VERSION
$VERSION$6.4.11:745085:bc7b6a2a0f$
$ strings /usr/lib/modules/6.6.23-v6.6.23-2.0.0-phy-ge2011246/updates/galcore.ko | grep VERSION
$VERSION$6.4.11:745085$
$ldconfig -p | grep libGAL.so
libGAL.so (libc6,AArch64) => /lib/libGAL.so
So the Galcore firmware (libGAL.so) and the kernel module (galcore.ko) have the same version. I can see the galcore with lsmod command.
I have a /dev/dri/card0 device but no /dev/galcore device
Which possibilities do I have to do further checks? How is the connection between LVDS and Galcore?
Hello,
You have galcore in your system and it's ready to use, you just need to send the graphics to lvds, make sure your display is lvds in uboot.
Regards
That's a point I will check.
You mean it is not necessary to have a device called /dev/galcore ? I thought this is mantandory for a iMX8 system with Vivante GPU.
This is a part of weston 12 output:
[12:26:48.568] libseat: session control granted
[12:26:48.571] using /dev/dri/card0
[12:26:48.571] DRM: supports atomic modesetting
[12:26:48.571] DRM: does not support GBM modifiers
[12:26:48.571] DRM: does not support async page flipping
[12:26:48.571] DRM: supports picture aspect ratio
[12:26:48.571] Loading module '/usr/lib/libweston-12/gl-renderer.so'
[ 1] Failed to open device: No such file or directory, Try again...
[ 2] Failed to open device: No such file or directory, Try again...
[ 3] Failed to open device: No such file or directory, Try again...
[ 4] Failed to open device: No such file or directory, Try again...
[ 5] _OpenDevice(1031): FATAL: Failed to open device, errno=No such file or directory.
[ 6] Failed to open device: No such file or directory, Try again...
[ 7] Failed to open device: No such file or directory, Try again...
[ 8] Failed to open device: No such file or directory, Try again...
[ 9] Failed to open device: No such file or directory, Try again...
[ 10] _OpenDevice(1031): FATAL: Failed to open device, errno=No such file or directory.
[12:26:56.585] [seatd/client.c:471] Client disconnected
I thought the "Failed to open device" messages were from a missing /dev/galcore device. How can I get more information about the missing file or directory?
Hi I found out that I miss to enable the mix_gpu_ml node in the devicetree.
After I add the lines
&mix_gpu_ml {
status = "okay";
};
and reboot I have a /dev/galcore device. And now I am also able to start weston
I'm seeing the same issue with 5.4. galcore driver is loaded, but no /dev/galcore device. Nothing in either dmesg or journalctl. Any suggestions?
Hello,
Send us you dmesg log file is not possible not building the galcore in 6.6.23.
regards
Can you tell me how the procedure with the vivante galcore firmare is?
The firmware is a binary blob. The kernel module loads the firmware and initialize the GPU. Is the firmware part of the kernel module (galcore.ko) or should there a .bin file in the /lib/firmware folder which is load?