Mesa for Linux PPC

AmigaOne X1000 platform specific issues related to Linux only.
zzd10h
Posts: 546
Joined: Sun Sep 16, 2012 5:40 am
Location: France

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by zzd10h »

It looks like my KUbuntu problem, same strange colors.
http://forum.hyperion-entertainment.biz ... 840#p32013


"Can you activate compositing?"
How to do that please ?
http://apps.amistore.net/zTools
X1000 - AmigaOS 4.1.6 / 4.1 FE
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 »

zzd10h wrote:It looks like my KUbuntu problem, same strange colors.
http://forum.hyperion-entertainment.biz ... 840#p32013


"Can you activate compositing?"
How to do that please ?
I don't know how you can activate compositing on Kubuntu. I activated it on ubuntu MATE 14.04.1 LTS with MATE Tweak on my Intel Mac last week.
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:
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?
Of course, like I showed here (http://forum.hyperion-entertainment.biz ... 847#p31858) I followed your guide and exectuted the Mesa procedure twice. Video and games are correct. I can't get compositing to work - not Compiz nor Compton. I don't know if the somewhat transparent window decorations are indicative of compositing enabled or are a part of Metacity and Openbox.
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,

I read that Mesa 10.5 is faster with a Radeon HD6870 than the older Mesa versions.

Link: Ubuntu 15.04 Offers Faster OpenGL For AMD Radeon GPUs On Open-Source

Therefore I patched it because of the wrong colors problem and compiled it on my AMIGA one X1000 today. I tested the new Mesa 10.5.4 with 'glxgears' and with SuperTuxKart 0.8.1 on Debian Sid. Unfortunately STK is slower with the new Mesa. At least 15% slower than with the unofficial Mesa 10.0.4. 3D acceleration works but slower on Debian Sid.

The unofficial Mesa 10.0.4 is used on some Power Macs and on the AMIGA one X1000 because all new official Mesa versions on Linux PPC have wrong colors.

Rgds,

Christian
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,

I compiled Mesa with LLVM 3.7 because of the following news:
There are numerous improvements to the PowerPC target in this release:
  • LLVM now generates the Vector-Scalar eXtension (VSX) instructions from version 2.06 of the Power ISA, for both big- and little-endian targets.
  • LLVM now has a POWER8 instruction scheduling description.
  • AddressSanitizer (ASan) support is now fully functional.
  • Performance of simple atomic accesses has been greatly improved.
  • Atomic fences now use light-weight syncs where possible, again providing significant performance benefit.
  • The PowerPC target now supports PIC levels (-fPIC vs. -fpic).
  • PPC32 SVR4 now supports small-model PIC.
  • Experimental support for the stackmap/patchpoint intrinsics has been added.
  • There have been many smaller bug fixes and performance improvements.
Link: http://llvm.org/releases/3.6.0/docs/Rel ... rpc-target

Code: Select all

./configure --prefix /usr/local/mesa-10.5.7-llvm --with-gallium-drivers="r600,radeonsi,svga,swrast" --enable-texture-float --enable-gallium-llvm --with-egl-platforms=drm
Results:

glxinfo | grep -i opengl

Code: Select all

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: r600
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.5.7
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.5.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
LIBGL_DEBUG=verbose glxgears

Code: Select all

libGL: OpenDriver: trying /usr/local/mesa-10.5.7-llvm/lib/dri/r600_dri.so
libGL: Can't open configuration file /home/christian/.drirc: No such file or directory.
libGL: Can't open configuration file /home/christian/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: r600
libGL: OpenDriver: trying /usr/local/mesa-10.5.7-llvm/lib/dri/swrast_dri.so
libGL: Can't open configuration file /home/christian/.drirc: No such file or directory.
libGL: Can't open configuration file /home/christian/.drirc: No such file or directory.
LLVM ERROR: Do not know how to split the result of this operator!
Unfortunately the bug is still exists.

Rgds,

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

Running Linux on AmigaONEs can require some tinkering.
marcus
Posts: 56
Joined: Wed Nov 07, 2012 8:07 pm

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by marcus »

I just tested Mesa 10.6.2 on Xorg 1.16.4-r2. Result:

32-bit root window: No matching fbConfigs or visuals found
16-bit root window: Wrong colours (red and blue swapped)

@xeno74: Do you still have the patch you used on 10.5? I can try applying it on 10.6 and see if it fixes the colours at least.
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:I just tested Mesa 10.6.2 on Xorg 1.16.4-r2. Result:

32-bit root window: No matching fbConfigs or visuals found
16-bit root window: Wrong colours (red and blue swapped)

@xeno74: Do you still have the patch you used on 10.5? I can try applying it on 10.6 and see if it fixes the colours at least.
Hi Marcus,

Thank you for testing Mesa. :-) The patching of Mesa because of the wrong colors is very easy. You have to modify the file p_format.h in the directory src/gallium/include/pipe/. In this code block you see the patched part of this file:

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
Good luck. :-)

Cheers,

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

Running Linux on AmigaONEs can require some tinkering.
marcus
Posts: 56
Joined: Wed Nov 07, 2012 8:07 pm

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by marcus »

Thanks.

That fixed the colours in some apps (e.g. glxgears is ok now), but not in others.

Oh well...

(I tested with the r600 driver (on TURKS) btw.)
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 »

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

Running Linux on AmigaONEs can require some tinkering.
marcus
Posts: 56
Joined: Wed Nov 07, 2012 8:07 pm

Re: Mesa 9.2.2-1 and 10.0.0-1

Post by marcus »

Nice. The first patch in the series looks interresting too, it might fix the cases which your patch did not.
Post Reply