User Tools

Site Tools


wiki:development:glx-xlib-workaround

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:development:glx-xlib-workaround [2017/11/04 11:32]
ionic And even more quotes.
wiki:development:glx-xlib-workaround [2020/06/02 19:13] (current)
uli42
Line 11: Line 11:
 Use a wrapper/​proxy library provided by Mesa. The applications will use the supplied libGL.so, which in turn uses the lib interface to talk to the X server (nxagent) rather than the GLX interface. From the applications'​ perspective,​ they have GLX 1.4. Use a wrapper/​proxy library provided by Mesa. The applications will use the supplied libGL.so, which in turn uses the lib interface to talk to the X server (nxagent) rather than the GLX interface. From the applications'​ perspective,​ they have GLX 1.4.
  
 +
 +==== Mesa 19 and newer ====
 +Please note: the instructions below are valid for olter Mesa releases. In Mesa 19 //meson// is recommended for building. Please consult https://​mesa3d.org/​llvmpipe.html for a basic compilation instruction. Since those instructions will not work out of the box (Error: "​gallium-xlib conflicts
 +with any dri driver"​) as of Mesa 19.3.2 you need to call //meson// with some further parameters like this:
 +<​code>​
 +$ meson -D glx=gallium-xlib -D gallium-drivers=swrast -D platforms=x11 -D dri3=false -D dri-drivers=""​ -D vulkan-drivers=""​ -D buildtype=release -D optimization=3
 +$ ninja
 +</​code>​
 +
 +==== Debian Buster and Mesa 19.3.2 ====
 +
 +<​code>​
 +$ (download and extract tarball from mesa3d.org)
 +$ cd mesa-19.3.2
 +$ mkdir build
 +$ cd build
 +$ meson -D glx=gallium-xlib -D gallium-drivers=swrast -D platforms=x11 -D dri3=false -D dri-drivers=""​ -D vulkan-drivers=""​ -D buildtype=release -D optimization=3
 +$ ninja
 +$ LD_LIBRARY_PATH=`pwd`/​src/​gallium/​targets/​libgl-xlib/:​${LD_LIBRARY_PATH} glxinfo | grep 'GLX version:'​
 +</​code>​
 +
 +If you want you can copy the libgl-xlib directory to some location of your likes and write a small wrapper "​x2goglx"​ for starting GLX applications:​
 +<​code>​
 +#!/bin/sh
 +LD_LIBRARY_PATH=<​your directory>/​libgl-xlib exec "​$@"​
 +</​code>​
 +
 +<​code>​
 +$ chmod u+rx x2goglx
 +$ x2goglx glxinfo
 +</​code>​
 ==== Ubuntu 14.04 ==== ==== Ubuntu 14.04 ====
  
Line 62: Line 93:
 ebuild "/​usr/​portage/​media-libs/​mesa/​mesa-${mesa_version}.ebuild"​ clean ebuild "/​usr/​portage/​media-libs/​mesa/​mesa-${mesa_version}.ebuild"​ clean
 </​code>​ </​code>​
 +
 +===== Matlab 2019b =====
 +
 +Compile like this:
 +<​code>​
 +meson -D glx=gallium-xlib -D gallium-drivers=swrast -D platforms=x11 -D dri3=false -D dri-drivers=""​ -D vulkan-drivers=""​ -D buildtype=release -D optimization=3 -Dprefix=/​usr/​local/​mesa-20.1.0/​
 +</​code>​
 +
 +To make Matlab load the new driver modify Matlab'​s lib search path:
 +cp $MATLAB_DIRECTORY/​bin/​.matlab7rc.sh ~
 +
 +Edit the file ~/​.matlab7rc.sh,​ find the glnxa* section and add ''/​usr/​local/​mesa-20.1.0/​lib/​x86_64-linux-gnu''​ to LDPATH_PREFIX
 +
 +Add to your .profile: export MESA_GL_VERSION_OVERRIDE=3.0
wiki/development/glx-xlib-workaround.1509795133.txt.gz ยท Last modified: 2017/11/04 11:32 by ionic