[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