This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
wiki:development:glx-xlib-workaround [2015/03/07 02:45] mikedep333 created |
wiki:development:glx-xlib-workaround [2020/01/23 18:30] uli42 [Mesa 19 and newer] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Workaround for getting GLX 1.4 working. | + | ====== |
- | Applications will use libGL.so, which in turn uses the xlib interface to talk to the X server (nxagent) rather than the GLX interface. | + | ===== Symptoms ===== |
- | From the applications' | + | * Gnome-based and other applications report messages like ''" |
+ | * '' | ||
+ | * Disabling GLX entirely in ''/ | ||
+ | |||
+ | ===== Approach ===== | ||
+ | |||
+ | Use a wrapper/ | ||
+ | |||
+ | |||
+ | ==== 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:// | ||
+ | with any dri driver" | ||
+ | < | ||
+ | $ meson -D glx=gallium-xlib -D gallium-drivers=swrast -D platforms=x11 -D dri3=false -D dri-drivers="" | ||
+ | $ ninja | ||
+ | </ | ||
+ | |||
+ | ==== Debian Buster and Mesa 19.3.2 ==== | ||
+ | |||
+ | < | ||
+ | $ (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="" | ||
+ | $ ninja | ||
+ | $ LD_LIBRARY_PATH=`pwd`/ | ||
+ | </ | ||
+ | |||
+ | ==== Ubuntu 14.04 ==== | ||
+ | |||
+ | (with trusty-updates mesa 10.1.3-0ubuntu0.3) | ||
- | Ubuntu 14.04 (with trusty-updates mesa 10.1.3-0ubuntu0.3): | ||
< | < | ||
sudo aptitude build-dep mesa | sudo aptitude build-dep mesa | ||
Line 14: | Line 44: | ||
export LD_LIBRARY_PATH=`pwd`/ | export LD_LIBRARY_PATH=`pwd`/ | ||
glxinfo | grep 'GLX version:' | glxinfo | grep 'GLX version:' | ||
+ | </ | ||
+ | |||
+ | ==== Gentoo ==== | ||
+ | |||
+ | Ensure that some required tools are installed: | ||
+ | |||
+ | < | ||
+ | emerge -1av app-portage/ | ||
+ | </ | ||
+ | |||
+ | Create a place to store the library - adapt this path to your liking. | ||
+ | < | ||
+ | mkdir -p / | ||
+ | </ | ||
+ | |||
+ | Place the following line in a suitable place - either in your .bashrc or in the script that calls the individual application: | ||
+ | < | ||
+ | export LD_LIBRARY_PATH=/ | ||
+ | </ | ||
+ | |||
+ | Configure portage to extract and patch the Mesa package into a known location. Before doing so, ensure that the USE flags for media-libs/ | ||
+ | |||
+ | < | ||
+ | mesa_version=" | ||
+ | ebuild "/ | ||
+ | </ | ||
+ | |||
+ | Now compile the library and move it over to the storage location: | ||
+ | < | ||
+ | cd "/ | ||
+ | scons libgl-xlib | ||
+ | cp -av build/ | ||
+ | </ | ||
+ | |||
+ | Cleanup: | ||
+ | |||
+ | < | ||
+ | ebuild "/ | ||
</ | </ |