[X2Go-Commits] [[X2Go Wiki]] page changed: wiki:development:glx-xlib-workaround
wiki-admin at x2go.org
wiki-admin at x2go.org
Sat Nov 4 12:06:56 CET 2017
A page in your DokuWiki was added or changed. Here are the details:
Date : 2017/11/04 11:06
Browser : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5
IP-Address : 79.244.144.125
Hostname : p4FF4907D.dip0.t-ipconnect.de
Old Revision: https://wiki.x2go.org/doku.php/wiki:development:glx-xlib-workaround?rev=1425696320
New Revision: https://wiki.x2go.org/doku.php/wiki:development:glx-xlib-workaround
Edit Summary: added instructions for Gentoo
User : vwegert
@@ -1,16 +1,66 @@
- Workaround for getting GLX 1.4 working.
+ ====== 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' perspective, they have GLX 1.4.
+ * Gnome-based and other applications report messages like ''"Failed to initialize gtk+: Unable to
initialize the Clutter backend: no available drivers found."''
+ * ''glxinfo'' reports GLX Version is 1.2
+ * Disabling GLX entirely in ''/etc/x2go/x2goagent.options'' via ''-extension GLX'' does not work because the application does not have the capability to work without GLX at all.
+
+ ===== Approach =====
+
+ 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.
+
+ ==== Ubuntu 14.04 ====
+
+ (with trusty-updates mesa 10.1.3-0ubuntu0.3)
- Ubuntu 14.04 (with trusty-updates mesa 10.1.3-0ubuntu0.3):
<code>
sudo aptitude build-dep mesa
sudo aptitude install scons llvm-dev
apt-get source mesa
cd mesa
scons libgl-xlib
export LD_LIBRARY_PATH=`pwd`/build/linux-x86_64-debug/gallium/targets/libgl-xlib/:${LD_LIBRARY_PATH}
glxinfo | grep 'GLX version:'
+ </code>
+
+
==== Gentoo ====
+
+ Ensure that some required tools are installed:
+
+ <code>
+ emerge -av app-portage/gentoolkit dev-util/scons dev-python/mako
+ </code>
+
+ Create a place to store the library - adapt this path to your liking.
+ <code>
+ mkdir -p /usr/local/share/mesa-libgl-xlib
+ </code>
+ Place the following line in a suitable place - either in your .bashrc or in the script that calls the individual application:
+ <code>
+ export LD_LIBRARY_PATH=/usr/local/share/mesa-libgl-xlib/:${LD_LIBRARY_PATH}
+ </code>
+
+ Configure portage to keep the working area that is used to compile the Mesa package. Before doing so, ensure that the USE flags for media-libs/mesa are configured to your liking.
+
+ <code>
+ mkdir -p /etc/portage/env
+ echo 'FEATURES="noclean"' > /etc/portage/env/features-noclean
+ echo 'media-libs/mesa features-noclean' >> /etc/portage/package.env
+ emerge -av media-libs/mesa
+ </code>
+
+ Now compile the library and move it over to the storage location:
+
<code>
+ export MESA_VERSION=$(equery -q list media-libs/mesa -F '$version')
+ cd /var/tmp/portage/media-libs/mesa-${MESA_VERSION}/work/mesa-${MESA_VERSION}
+ scons libgl-xlib
+ cp build/linux-x86_64-debug/gallium/targets/libgl-xlib/* /usr/local/share/mesa-libgl-xlib/
+ </code>
+
+ Warning: The ''noclean'' feature will result in old versions of the working area for media-libs/mesa stacking up in /var/tmp/portage over time. Remove them from time to time - or right now after compiling and saving the library:
+
+ <code>
+ cd
+ build /usr/portage/media-libs/mesa/mesa-${MESA_VERSION}.ebuild clean
</code>
--
This mail was generated by DokuWiki at
https://wiki.x2go.org/
More information about the x2go-commits
mailing list