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
Next revision Both sides next revision
wiki:development:glx-xlib-workaround [2017/11/04 11:09]
ionic Fix typo in cleaning instruction.
wiki:development:glx-xlib-workaround [2020/01/23 12:47]
uli42 [Approach]
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.
  
 +Please note: the following is not current anymore but is kept here for reference. Please consult https://mesa3d.org/llvmpipe.html for a description how to compile the required library.
 ==== Ubuntu 14.04 ==== ==== Ubuntu 14.04 ====
  
Line 30: Line 31:
  
 <code> <code>
-emerge -av app-portage/gentoolkit dev-util/scons dev-python/mako+emerge -1av app-portage/gentoolkit dev-util/scons dev-python/mako
 </code> </code>
  
Line 37: Line 38:
 mkdir -p /usr/local/share/mesa-libgl-xlib mkdir -p /usr/local/share/mesa-libgl-xlib
 </code> </code>
 +
 Place the following line in a suitable place - either in your .bashrc or in the script that calls the individual application: Place the following line in a suitable place - either in your .bashrc or in the script that calls the individual application:
 <code> <code>
Line 42: Line 44:
 </code> </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.+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 are configured to your liking.
  
 <code> <code>
-mkdir -p /etc/portage/env +mesa_version="$(equery -q list media-libs/mesa -'$version')" 
-echo 'FEATURES="noclean"' > /etc/portage/env/features-noclean +ebuild "/usr/portage/media-libs/mesa/mesa-${mesa_version}.ebuild" prepare
-echo 'media-libs/mesa features-noclean>> /etc/portage/package.env +
-emerge -av media-libs/mesa+
 </code> </code>
  
 Now compile the library and move it over to the storage location: Now compile the library and move it over to the storage location:
 <code> <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}"
-cd /var/tmp/portage/media-libs/mesa-${MESA_VERSION}/work/mesa-${MESA_VERSION}+
 scons libgl-xlib scons libgl-xlib
-cp build/linux-x86_64-debug/gallium/targets/libgl-xlib/* /usr/local/share/mesa-libgl-xlib/+cp -av build/linux-x86_64-debug/gallium/targets/libgl-xlib/* /usr/local/share/mesa-libgl-xlib/
 </code> </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:+Cleanup:
  
 <code> <code>
-cd +ebuild "/usr/portage/media-libs/mesa/mesa-${mesa_version}.ebuildclean
-ebuild /usr/portage/media-libs/mesa/mesa-${MESA_VERSION}.ebuild clean+
 </code> </code>
wiki/development/glx-xlib-workaround.txt · Last modified: 2021/10/25 21:01 by uli42