Xf86-video-mali driver for S905X SoC

Hi Gouwa,

I faced to the potential problem with EXA/DRI2 driver for X11.

In the latest build root from openlinux.amlogic.com we have the Amlogic pathed driver based on the original ARM Mali driver r5p0-01rel0. Starting from next ARM’s Mali revision r5p1-01rel0 which needed for S905X there are ARM’s changes and patch from Amlogic seems not compatible.

If we see at changes from r5p0-01rel0 to r7p0-00rel0 we can deside that we can use r7p0-00rel0 version without any problems on S905, S905X, and S912 SoSc but we need the patch from Amlogic to be able to use kernel FB driver!!!

Do you have working patches for at least r5p1 revision???

I think we don’t need to support HWCursor because it make problems with ncurses when we work in console terminals before startx. I think we need patch at least without HWCursor support.

Best Regards,
Andrey K.

P.S.
If you need I can send you the original versions of ARM xf86-video-mali drivers.

Hi, Andrey:
When we ported LibreELEC-7 on Khadas VIM a few month ago, we used gxbb-r6p1-01rel0 as the driver for GPU, and it works on VIM S905X.
As the version r5p0-01rel0 you mentioned, I think it’s 32-bit armhf as the config file on LibreELEC showed below(file path: packages/graphics/opengl-meson/package.mk):

   case $MESON_FAMILY in
      8)
        PKG_VERSION="8-r5p1-01rel0-armhf"
        ;;
      6)
        PKG_VERSION="6-r5p1-01rel0-armhf"
        ;;
      gxbb)
        PKG_VERSION="gxbb-r6p1-01rel0"

r5p0-01rel0 may works on S905, but not sure on S905X.
I’m also not quite sure about the latest version r7p0-00rel0 yet, but will take a notice on it and try to port to Ubuntu on VIM.

Well, back to your quetsion:

Can you try with the r6p1 version instead?

1 Like

Hi Gouwa,

I understand that I have to use arm64/r6p1 version of binary libMali.so. And r6p1-01rel0 version of xf86-video-mali for S905X (I have mentioned only r5p0 -> r5p1 changes from ARM).

As I understand I can use original ARM’s xf86-video-mali version r6p1-01rel0. Is it right?
If yes then you can shift to r7p0-00rel0 because there are no changes made by ARM between r6p1 and r7p0! (ftp://ftp.radix.pro/sources/hal/Mali/xf86-video-mali/DX/r7p0-00rel0/)

Ok. I will use original xf86-video-driver from ARM (without HWCursor support). It is enough for me!

Thanks a lot for quick answer.

Best Regards,
Andrey K.

Hi Gouwa,

It seems that we talk about different thinks. I talk about EXA/DRI2 driver for X11 xf86-video-mali but you mentioned binary libMali.so (https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/graphics/opengl-meson/package.mk)!

If you have some idea about xf86-video-mali for X.org please let me known.

Best Regards,
Andrey K.

I think you are right, but might take a risk that some features are not full supported on Amlogic SOCs.

Just didn’t notice the numbers between 0 and 1.:slight_smile: Will research more for that.

OKay, we will take a try.

1 Like

I check the link you mentioned above, the opengl version is r5p1 and works on S905(Not sure for 905X).

And the contents I paste above is local on my computer and will release at our Github soon, and I fix it to 'r6p1` for VIM:

Hi Gouwa,

You all right the gxbb SoCs works with r6p1 user-space binaries! This we can find in configs of buildroot from Amlogic.

I have point to ELEC sources for clean the difference between user-space binary libMali.so and EXA/DRI2 driver for X11 (xf86-video-mali http://malideveloper.arm.com/resources/drivers/open-source-mali-gpus-linux-exadri2-and-x11-display-drivers/).

I talk about xf86-video-mali driver.

Best Regards,
Andrey K.

I see now.:wink::wink:

May I know that which Linux distributions you are porting on S905X?

I porting the Radix.pro distribution. I work on the http://svn.radix.pro/svn/platform/branches/radix-1.1 branch.

1 Like

sorry for incorrect link. I have fixed the link to the repository.

Expect Radix.pro on VIM.

1 Like

Hi Gouwa,

I have managed to make the port of my system to the Khadas VIM. Now I start to integrate the Linux and U-boot (http://svn.radix.pro/svn/platform/branches/radix-1.1/).

Could you please explain the main differences between Vim and ubuntu branches of your repository https://github.com/khadas/linux ?

Best Regards,
Andrey K.

Hi, Andrey:
Thanks to share the radix to us. Can you write a article with the detailed step to built GPU/MALI on VIM. This will help developers include Khadas Team to build their ROMs.

About the U-Boot question, can you create a new topic, and I will reply you there soon. We need keep forum tidy and more easy for reading.

Thanks.

Hi Gouwa,

Of course I will write article but at first I have to bring up the board and test Mali libraries on X.org server. Currently I create only user-space package. It is very simple: 1) I take Mali user-space library from Amlogic buildroot and add Headers (with little patch because Amlogic headers are not equal to Khronos headers). This process you can consider in this Makefile

Next step is kernel-space driver. And for it I have to build the Linux kernel. I will appreciate if you explane the main purpose of creating two branches Vim and ubuntu. Is the Vim - for Android and ubuntu - for ordinary Linux system?

Regarding U-Boot I will create the topic when I will prepare boot SD card for Khadas VIM.

Hi, Andrey:
Do you know the difference ‘libMali.so’ on between m450-X and m450:

buildroot/output/mesongxl_p212/build/opengl/lib/arm64/r6p1/m450-X/libMali.so
buildroot/output/mesongxl_p212/build/opengl/lib/arm64/r6p1/m450/libMali.so

Of course!!!

m450-X - for X Window system
m450 - for Linux Framebuffer.

You can check dependencies using following command:

readelf -d libMali.so

1 Like