Mesa for Linux PPC

AmigaOne X1000 platform specific issues related to Linux only.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

marcus wrote:Any luck with Mesa 10.4?
I will try it. :-)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Compiling Mesa 10.4.3 on Debian Sid:

I had to compile libtool version 2.4.5:

Code: Select all

./configure
make
make install
I patched the file p_format.h in the directory src/gallium/include/pipe/ because of the wrong colors problem.

Code: Select all

//#if defined(PIPE_ARCH_LITTLE_ENDIAN)
#define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM
#define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM
#define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM
#define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
#define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM
#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM
#define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM
#define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM
#define PIPE_FORMAT_RGBA8888_SNORM PIPE_FORMAT_R8G8B8A8_SNORM
#define PIPE_FORMAT_RGBX8888_SNORM PIPE_FORMAT_R8G8B8X8_SNORM
#define PIPE_FORMAT_ABGR8888_SNORM PIPE_FORMAT_A8B8G8R8_SNORM
#define PIPE_FORMAT_XBGR8888_SNORM PIPE_FORMAT_X8B8G8R8_SNORM
#define PIPE_FORMAT_RGBA8888_SRGB PIPE_FORMAT_R8G8B8A8_SRGB
#define PIPE_FORMAT_RGBX8888_SRGB PIPE_FORMAT_R8G8B8X8_SRGB
#define PIPE_FORMAT_BGRA8888_SRGB PIPE_FORMAT_B8G8R8A8_SRGB
#define PIPE_FORMAT_BGRX8888_SRGB PIPE_FORMAT_B8G8R8X8_SRGB
#define PIPE_FORMAT_ARGB8888_SRGB PIPE_FORMAT_A8R8G8B8_SRGB
#define PIPE_FORMAT_XRGB8888_SRGB PIPE_FORMAT_X8R8G8B8_SRGB
#define PIPE_FORMAT_ABGR8888_SRGB PIPE_FORMAT_A8B8G8R8_SRGB
#define PIPE_FORMAT_XBGR8888_SRGB PIPE_FORMAT_X8B8G8R8_SRGB
#define PIPE_FORMAT_LA88_UNORM PIPE_FORMAT_L8A8_UNORM
#define PIPE_FORMAT_AL88_UNORM PIPE_FORMAT_A8L8_UNORM
#define PIPE_FORMAT_LA88_SNORM PIPE_FORMAT_L8A8_SNORM
#define PIPE_FORMAT_AL88_SNORM PIPE_FORMAT_A8L8_SNORM
#define PIPE_FORMAT_LA88_SRGB PIPE_FORMAT_L8A8_SRGB
#define PIPE_FORMAT_AL88_SRGB PIPE_FORMAT_A8L8_SRGB
#define PIPE_FORMAT_LA1616_UNORM PIPE_FORMAT_L16A16_UNORM
#define PIPE_FORMAT_AL1616_UNORM PIPE_FORMAT_A16L16_UNORM
#define PIPE_FORMAT_RG88_UNORM PIPE_FORMAT_R8G8_UNORM
#define PIPE_FORMAT_GR88_UNORM PIPE_FORMAT_G8R8_UNORM
#define PIPE_FORMAT_RG88_SNORM PIPE_FORMAT_R8G8_SNORM
#define PIPE_FORMAT_GR88_SNORM PIPE_FORMAT_G8R8_SNORM
#define PIPE_FORMAT_RG1616_UNORM PIPE_FORMAT_R16G16_UNORM
#define PIPE_FORMAT_GR1616_UNORM PIPE_FORMAT_G16R16_UNORM
#define PIPE_FORMAT_RG1616_SNORM PIPE_FORMAT_R16G16_SNORM
#define PIPE_FORMAT_GR1616_SNORM PIPE_FORMAT_G16R16_SNORM
//#elif defined(PIPE_ARCH_BIG_ENDIAN)
//#define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM
//#define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM
//#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
//#define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM
//#define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM
//#define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM
//#define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM
//#define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM
//#define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM
//#define PIPE_FORMAT_ABGR8888_SNORM PIPE_FORMAT_R8G8B8A8_SNORM
//#define PIPE_FORMAT_XBGR8888_SNORM PIPE_FORMAT_R8G8B8X8_SNORM
//#define PIPE_FORMAT_RGBA8888_SNORM PIPE_FORMAT_A8B8G8R8_SNORM
//#define PIPE_FORMAT_RGBX8888_SNORM PIPE_FORMAT_X8B8G8R8_SNORM
//#define PIPE_FORMAT_ABGR8888_SRGB PIPE_FORMAT_R8G8B8A8_SRGB
//#define PIPE_FORMAT_XBGR8888_SRGB PIPE_FORMAT_R8G8B8X8_SRGB
//#define PIPE_FORMAT_ARGB8888_SRGB PIPE_FORMAT_B8G8R8A8_SRGB
//#define PIPE_FORMAT_XRGB8888_SRGB PIPE_FORMAT_B8G8R8X8_SRGB
//#define PIPE_FORMAT_BGRA8888_SRGB PIPE_FORMAT_A8R8G8B8_SRGB
//#define PIPE_FORMAT_BGRX8888_SRGB PIPE_FORMAT_X8R8G8B8_SRGB
//#define PIPE_FORMAT_RGBA8888_SRGB PIPE_FORMAT_A8B8G8R8_SRGB
//#define PIPE_FORMAT_RGBX8888_SRGB PIPE_FORMAT_X8B8G8R8_SRGB
//#define PIPE_FORMAT_LA88_UNORM PIPE_FORMAT_A8L8_UNORM
//#define PIPE_FORMAT_AL88_UNORM PIPE_FORMAT_L8A8_UNORM
//#define PIPE_FORMAT_LA88_SNORM PIPE_FORMAT_A8L8_SNORM
//#define PIPE_FORMAT_AL88_SNORM PIPE_FORMAT_L8A8_SNORM
//#define PIPE_FORMAT_LA88_SRGB PIPE_FORMAT_A8L8_SRGB
//#define PIPE_FORMAT_AL88_SRGB PIPE_FORMAT_L8A8_SRGB
//#define PIPE_FORMAT_LA1616_UNORM PIPE_FORMAT_A16L16_UNORM
//#define PIPE_FORMAT_AL1616_UNORM PIPE_FORMAT_L16A16_UNORM
//#define PIPE_FORMAT_RG88_UNORM PIPE_FORMAT_G8R8_UNORM
//#define PIPE_FORMAT_GR88_UNORM PIPE_FORMAT_R8G8_UNORM
//#define PIPE_FORMAT_RG88_SNORM PIPE_FORMAT_G8R8_SNORM
//#define PIPE_FORMAT_GR88_SNORM PIPE_FORMAT_R8G8_SNORM
//#define PIPE_FORMAT_RG1616_UNORM PIPE_FORMAT_G16R16_UNORM
//#define PIPE_FORMAT_GR1616_UNORM PIPE_FORMAT_R16G16_UNORM
//#define PIPE_FORMAT_RG1616_SNORM PIPE_FORMAT_G16R16_SNORM
//#define PIPE_FORMAT_GR1616_SNORM PIPE_FORMAT_R16G16_SNORM
//#endif
./autogen.sh

./configure --prefix=/usr/local/mesa10.4.3 --enable-texture-float

Code: Select all

prefix:          /usr/local/mesa10.4.3
        exec_prefix:     ${prefix}
        libdir:          ${exec_prefix}/lib
        includedir:      ${prefix}/include

        OpenGL:          yes (ES1: no ES2: no)
        OpenVG:          no

        OSMesa:          no

        DRI platform:    drm
        DRI drivers:     r200 radeon swrast 
        DRI driver dir:  ${libdir}/dri
        GLX:             DRI-based

        EGL:             yes
        EGL platforms:   x11
        EGL drivers:     builtin:egl_dri2

        llvm:            no

        Gallium:         yes

        Shared libs:     yes
        Static libs:     no
        Shared-glapi:    yes

        CFLAGS:          -g -O2 -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp
        CXXFLAGS:        -g -O2 -Wall -fno-strict-aliasing -fno-builtin-memcmp
        Macros:          -DUSE_EXTERNAL_DXTN_LIB=1 -D_GNU_SOURCE -DTEXTURE_FLOAT_ENABLED -DHAVE_XLOCALE_H -DHAVE_STRTOF -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DHAVE_LIBUDEV -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_DRI3 -DHAVE_MINCORE

        PYTHON2:         python2

        Run 'make' to build Mesa

make

make install

vblank_mode=0 glxgears <- It's working with the right colors. :-)
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Mesa 10.4.3 on Debian Sid with kernel 3.19-rc6:

export LD_LIBRARY_PATH=/usr/local/mesa10.4.3/lib

vblank_mode=0 glxgears

Code: Select all

5051 frames in 5.0 seconds = 1010.050 FPS
5096 frames in 5.0 seconds = 1019.186 FPS
5096 frames in 5.0 seconds = 1019.149 FPS
5095 frames in 5.0 seconds = 1018.992 FPS
5099 frames in 5.0 seconds = 1019.648 FPS
5097 frames in 5.0 seconds = 1019.362 FPS
5097 frames in 5.0 seconds = 1019.384 FPS
5096 frames in 5.0 seconds = 1019.163 FPS
5096 frames in 5.0 seconds = 1019.191 FPS
5095 frames in 5.0 seconds = 1018.846 FPS
5096 frames in 5.0 seconds = 1019.164 FPS
5096 frames in 5.0 seconds = 1019.104 FPS
5096 frames in 5.0 seconds = 1019.102 FPS
5098 frames in 5.0 seconds = 1019.493 FPS
5093 frames in 5.0 seconds = 1018.555 FPS
5089 frames in 5.0 seconds = 1017.797 FPS
5093 frames in 5.0 seconds = 1018.576 FPS
5098 frames in 5.0 seconds = 1019.550 FPS
Mesa 10.0.4 on Debian Sid with kernel 3.19-rc6:

export LD_LIBRARY_PATH=/usr/local/mesa-10.0.4/lib

vblank_mode=0 glxgears

Code: Select all

5254 frames in 5.0 seconds = 1050.742 FPS
5361 frames in 5.0 seconds = 1072.059 FPS
5375 frames in 5.0 seconds = 1074.992 FPS
5374 frames in 5.0 seconds = 1074.714 FPS
5356 frames in 5.0 seconds = 1071.194 FPS
5374 frames in 5.0 seconds = 1074.788 FPS
5372 frames in 5.0 seconds = 1074.380 FPS
5314 frames in 5.0 seconds = 1062.647 FPS
5300 frames in 5.0 seconds = 1059.987 FPS
5363 frames in 5.0 seconds = 1072.584 FPS
5385 frames in 5.0 seconds = 1076.987 FPS
5378 frames in 5.0 seconds = 1075.584 FPS
5378 frames in 5.0 seconds = 1075.581 FPS
5384 frames in 5.0 seconds = 1076.791 FPS
5378 frames in 5.0 seconds = 1075.583 FPS
5335 frames in 5.0 seconds = 1066.992 FPS
5326 frames in 5.0 seconds = 1065.155 FPS
5345 frames in 5.0 seconds = 1068.851 FPS
5385 frames in 5.0 seconds = 1076.983 FPS
Mesa 10.0.4 on ubuntu MATE 14.10 with kernel 3.19-rc6:

vblank_mode=0 glxgears

Code: Select all

5322 frames in 5.0 seconds = 1064.330 FPS
5363 frames in 5.0 seconds = 1072.449 FPS
5340 frames in 5.0 seconds = 1067.976 FPS
5295 frames in 5.0 seconds = 1058.948 FPS
5369 frames in 5.0 seconds = 1073.781 FPS
5380 frames in 5.0 seconds = 1075.998 FPS
5393 frames in 5.0 seconds = 1078.554 FPS
5349 frames in 5.0 seconds = 1069.635 FPS
5400 frames in 5.0 seconds = 1079.265 FPS
5393 frames in 5.0 seconds = 1078.584 FPS
5366 frames in 5.0 seconds = 1073.184 FPS
5349 frames in 5.0 seconds = 1069.786 FPS
5397 frames in 5.0 seconds = 1079.386 FPS
5394 frames in 5.0 seconds = 1078.784 FPS
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Mesa 10.4.3 on ubuntu MATE 14.10 with kernel 3.19-rc6:

Installation without set up a LD_LIBRARY_PATH:
  1. Code: Select all

    sudo su
  2. Code: Select all

    mv /usr/lib/powerpc-linux-gnu/dri/r600_dri.so /usr/lib/powerpc-linux-gnu/dri/r600_dri.so.bak2
  3. Code: Select all

    cp mesa10.4.3/lib/dri/r600_dri.so /usr/lib/powerpc-linux-gnu/dri/
  4. Code: Select all

    mv /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1.2.0.bak2
  5. Code: Select all

    cp mesa10.4.3/lib/libGL.so.1.2.0 /usr/lib/powerpc-linux-gnu/mesa/
  6. Code: Select all

    mv /usr/lib/powerpc-linux-gnu/libglapi.so.0.0.0 /usr/lib/powerpc-linux-gnu/libglapi.so.0.0.0.bak
  7. Code: Select all

    cp mesa10.4.3/lib/libglapi.so.0.0.0 /usr/lib/powerpc-linux-gnu/
  8. Code: Select all

    ls -l /usr/lib/powerpc-linux-gnu/mesa/libGL*
    lrwxrwxrwx 1 root root 14 Nov 18 18:20 /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2.0
    -rwxr-xr-x 1 root root 3614204 Jan 29 14:55 /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1.2.0
    -rw-r--r-- 1 root root 740056 Nov 18 18:21 /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1.2.0.bak
    -rwxr-xr-x 1 root root 2552499 Jan 24 14:55 /usr/lib/powerpc-linux-gnu/mesa/libGL.so.1.2.0.bak2
  9. Code: Select all

    ls -l /usr/lib/powerpc-linux-gnu/dri/r600_dri*
    rwxr-xr-x 1 root root 39763729 Jan 29 14:52 /usr/lib/powerpc-linux-gnu/dri/r600_dri.so
    -rw-r--r-- 4 root root 7663252 Nov 18 18:21 /usr/lib/powerpc-linux-gnu/dri/r600_dri.so.bak
    -rwxr-xr-x 1 root root 31033296 Jan 24 14:37 /usr/lib/powerpc-linux-gnu/dri/r600_dri.so.bak2
  10. ls -l /usr/lib/powerpc-linux-gnu/libglapi.so*
    lrwxrwxrwx 1 root root 17 Nov 18 18:20 /usr/lib/powerpc-linux-gnu/libglapi.so.0 -> libglapi.so.0.0.0
    -rwxr-xr-x 1 root root 1072060 Jan 29 15:11 /usr/lib/powerpc-linux-gnu/libglapi.so.0.0.0
    -rw-r--r-- 1 root root 251400 Nov 18 18:21 /usr/lib/powerpc-linux-gnu/libglapi.so.0.0.0.bak
vblank_mode=0 glxgears

Unfortunately this way doesn't work with the new Mesa 10.4.3:

Code: Select all

libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
348 frames in 5.0 seconds = 69.560 FPS
300 frames in 5.0 seconds = 59.998 FPS
301 frames in 5.0 seconds = 60.200 FPS
299 frames in 5.0 seconds = 59.800 FPS
300 frames in 5.0 seconds = 59.999 FPS
300 frames in 5.0 seconds = 59.999 FPS
300 frames in 5.0 seconds = 59.999 FPS
300 frames in 5.0 seconds = 60.000 FPS
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

With export LD_LIBRARY_PATH=/usr/local/mesa10.4.3/lib it doesn't work on ubuntu MATE 14.10 either.

I tested the new Mesa 10.4.3 with SuperTuxKart 0.8.1 on Debian Sid. Unfortunately STK is slower with the new Mesa. At least 15% slower. 3D acceleration works but slower on Debian Sid.

Summary and conclusion: Mesa 10.4.3 is definitely slower than Mesa 10.0.4. :-(
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
Srtest
Posts: 240
Joined: Wed Jun 11, 2014 5:06 pm

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by Srtest »

xeno74 wrote:With export LD_LIBRARY_PATH=/usr/local/mesa10.4.3/lib it doesn't work on ubuntu MATE 14.10 either.

I tested the new Mesa 10.4.3 with SuperTuxKart 0.8.1 on Debian Sid. Unfortunately STK is slower with the new Mesa. At least 15% slower. 3D acceleration works but slower on Debian Sid.

Summary and conclusion: Mesa 10.4.3 is definitely slower than Mesa 10.0.4. :-(
Xeno are you kidding? We have the right colors with the latest Mesa!
About your testing I've noticed you haven't isolated Mesa because the tests were conducted on the most recent kernel that came after the most succesful kernel for X1000 => 3.18, which didn't work the same for users of other platforms like it did here so they weren't patient and took a different direction and now we have some lower performance. I seems to me that this Mesa along with nexus initrd patch and slipstreaming the newer kernel models into it can bring great things for X1K users of compatibilty and usability. Great Work!
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Srtest wrote:
xeno74 wrote:With export LD_LIBRARY_PATH=/usr/local/mesa10.4.3/lib it doesn't work on ubuntu MATE 14.10 either.

I tested the new Mesa 10.4.3 with SuperTuxKart 0.8.1 on Debian Sid. Unfortunately STK is slower with the new Mesa. At least 15% slower. 3D acceleration works but slower on Debian Sid.

Summary and conclusion: Mesa 10.4.3 is definitely slower than Mesa 10.0.4. :-(
Xeno are you kidding? We have the right colors with the latest Mesa!
About your testing I've noticed you haven't isolated Mesa because the tests were conducted on the most recent kernel that came after the most succesful kernel for X1000 => 3.18, which didn't work the same for users of other platforms like it did here so they weren't patient and took a different direction and now we have some lower performance. I seems to me that this Mesa along with nexus initrd patch and slipstreaming the newer kernel models into it can bring great things for X1K users of compatibilty and usability. Great Work!
fblike.png
fblike.png (2.87 KiB) Viewed 11193 times
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Hi All,

Do you know that the AMIGA one X1000 has a better 3D performance than the Power Mac G5 Quad?. Look in the following thread: http://amigaworld.net

Rgds,

Christian
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
User avatar
Srtest
Posts: 240
Joined: Wed Jun 11, 2014 5:06 pm

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by Srtest »

Wrong colors in Firefox 35 start page (new tab) and on Cairo-dock. Tested on Lubuntu developmental 15.04.
Attachments
Screenshot from 2015-02-12.png
User avatar
xeno74
Posts: 9349
Joined: Fri Mar 23, 2012 7:58 am

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by xeno74 »

Srtest wrote:Wrong colors in Firefox 35 start page (new tab) and on Cairo-dock. Tested on Lubuntu developmental 15.04.
Do you use the unofficial Mesa system-wide? Can you activate compositing?
http://www.amigalinux.org
http://www.supertuxkart-amiga.de

Running Linux on AmigaONEs can require some tinkering.
Post Reply