Gentoo Archives: gentoo-commits

From: Richard Farina <zerochaos@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/files/, x11-drivers/nvidia-drivers/
Date: Sun, 20 Sep 2015 21:29:53
Message-Id: 1442784578.141cf0e0d51fe3147064ac4721f255055345044e.zerochaos@gentoo
1 commit: 141cf0e0d51fe3147064ac4721f255055345044e
2 Author: Zero_Chaos <zerochaos <AT> gentoo <DOT> org>
3 AuthorDate: Sun Sep 20 21:29:04 2015 +0000
4 Commit: Richard Farina <zerochaos <AT> gentoo <DOT> org>
5 CommitDate: Sun Sep 20 21:29:38 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=141cf0e0
7
8 x11-drivers/nvidia-drivers: fix bug #454740, version bump due to file change but keeping keywords due to only minor script change
9
10 x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 | 20 +
11 .../nvidia-drivers/nvidia-drivers-355.11-r1.ebuild | 500 +++++++++++++++++++++
12 2 files changed, 520 insertions(+)
13
14 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
15 new file mode 100644
16 index 0000000..6579bf7
17 --- /dev/null
18 +++ b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1
19 @@ -0,0 +1,20 @@
20 +#!/bin/sh
21 +
22 +if [ $# -ne 1 ]; then
23 + echo "Invalid args" >&2
24 + exit 1
25 +fi
26 +
27 +case $1 in
28 + add|ADD)
29 + #hopefully this prevents infinite loops like bug #454740
30 + if lsmod | grep -iq nvidia; then
31 + /opt/bin/nvidia-smi > /dev/null
32 + fi
33 + ;;
34 + remove|REMOVE)
35 + rm -f /dev/nvidia*
36 + ;;
37 +esac
38 +
39 +exit 0
40
41 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-355.11-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-355.11-r1.ebuild
42 new file mode 100644
43 index 0000000..cce80a2
44 --- /dev/null
45 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-355.11-r1.ebuild
46 @@ -0,0 +1,500 @@
47 +# Copyright 1999-2015 Gentoo Foundation
48 +# Distributed under the terms of the GNU General Public License v2
49 +# $Id$
50 +
51 +EAPI=5
52 +
53 +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
54 + portability toolchain-funcs unpacker user udev
55 +
56 +NV_URI="http://us.download.nvidia.com/XFree86/"
57 +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
58 +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
59 +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
60 +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
61 +
62 +DESCRIPTION="NVIDIA Accelerated Graphics Driver"
63 +HOMEPAGE="http://www.nvidia.com/"
64 +SRC_URI="
65 + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
66 + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
67 + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
68 + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
69 +"
70 +
71 +LICENSE="GPL-2 NVIDIA-r2"
72 +SLOT="0"
73 +KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
74 +RESTRICT="bindist mirror strip"
75 +EMULTILIB_PKG="true"
76 +
77 +IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools gtk2 gtk3 +X uvm"
78 +REQUIRED_USE="
79 + tools? ( X || ( gtk2 gtk3 ) )
80 +"
81 +
82 +COMMON="
83 + app-eselect/eselect-opencl
84 + gtk3? ( x11-libs/cairo )
85 + kernel_linux? ( >=sys-libs/glibc-2.6.1 )
86 + X? (
87 + >=app-eselect/eselect-opengl-1.0.9
88 + )
89 +"
90 +DEPEND="
91 + ${COMMON}
92 + app-arch/xz-utils
93 + kernel_linux? ( virtual/linux-sources )
94 +"
95 +RDEPEND="
96 + ${COMMON}
97 + acpi? ( sys-power/acpid )
98 + tools? (
99 + dev-libs/atk
100 + dev-libs/glib:2
101 + x11-libs/gdk-pixbuf
102 + gtk2? ( >=x11-libs/gtk+-2.4:2 )
103 + gtk3? ( x11-libs/gtk+:3 )
104 + x11-libs/libX11
105 + x11-libs/libXext
106 + x11-libs/pango[X]
107 + )
108 + X? (
109 + <x11-base/xorg-server-1.17.99:=
110 + >=x11-libs/libvdpau-0.3-r1
111 + multilib? (
112 + >=x11-libs/libX11-1.6.2[abi_x86_32]
113 + >=x11-libs/libXext-1.3.2[abi_x86_32]
114 + )
115 + )
116 +"
117 +
118 +QA_PREBUILT="opt/* usr/lib*"
119 +
120 +S=${WORKDIR}/
121 +
122 +pkg_pretend() {
123 + if use amd64 && has_multilib_profile && \
124 + [ "${DEFAULT_ABI}" != "amd64" ]; then
125 + eerror "This ebuild doesn't currently support changing your default ABI"
126 + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
127 + fi
128 +
129 + if use kernel_linux && kernel_is ge 4 3; then
130 + ewarn "Gentoo supports kernels which are supported by NVIDIA"
131 + ewarn "which are limited to the following kernels:"
132 + ewarn "<sys-kernel/gentoo-sources-4.3"
133 + ewarn "<sys-kernel/vanilla-sources-4.3"
134 + ewarn ""
135 + ewarn "You are free to utilize epatch_user to provide whatever"
136 + ewarn "support you feel is appropriate, but will not receive"
137 + ewarn "support as a result of those changes."
138 + ewarn ""
139 + ewarn "Do not file a bug report about this."
140 + fi
141 +
142 + # Since Nvidia ships 3 different series of drivers, we need to give the user
143 + # some kind of guidance as to what version they should install. This tries
144 + # to point the user in the right direction but can't be perfect. check
145 + # nvidia-driver.eclass
146 + nvidia-driver-check-warning
147 +
148 + # Kernel features/options to check for
149 + CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
150 + use x86 && CONFIG_CHECK+=" ~HIGHMEM"
151 +
152 + # Now do the above checks
153 + use kernel_linux && check_extra_config
154 +}
155 +
156 +pkg_setup() {
157 + # try to turn off distcc and ccache for people that have a problem with it
158 + export DISTCC_DISABLE=1
159 + export CCACHE_DISABLE=1
160 +
161 + if use kernel_linux; then
162 + MODULE_NAMES="nvidia(video:${S}/kernel)"
163 + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
164 +
165 + # This needs to run after MODULE_NAMES (so that the eclass checks
166 + # whether the kernel supports loadable modules) but before BUILD_PARAMS
167 + # is set (so that KV_DIR is populated).
168 + linux-mod_pkg_setup
169 +
170 + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
171 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
172 +
173 + # linux-mod_src_compile calls set_arch_to_kernel, which
174 + # sets the ARCH to x86 but NVIDIA's wrapping Makefile
175 + # expects x86_64 or i386 and then converts it to x86
176 + # later on in the build process
177 + BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
178 + fi
179 +
180 + # set variables to where files are in the package structure
181 + if use kernel_FreeBSD; then
182 + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
183 + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
184 + NV_DOC="${S}/doc"
185 + NV_OBJ="${S}/obj"
186 + NV_SRC="${S}/src"
187 + NV_MAN="${S}/x11/man"
188 + NV_X11="${S}/obj"
189 + NV_SOVER=1
190 + elif use kernel_linux; then
191 + NV_DOC="${S}"
192 + NV_OBJ="${S}"
193 + NV_SRC="${S}/kernel"
194 + NV_MAN="${S}"
195 + NV_X11="${S}"
196 + NV_SOVER=${PV}
197 + else
198 + die "Could not determine proper NVIDIA package"
199 + fi
200 +}
201 +
202 +src_prepare() {
203 + # Please add a brief description for every added patch
204 +
205 + if use kernel_linux; then
206 + if kernel_is lt 2 6 9; then
207 + eerror "You must build this against 2.6.9 or higher kernels."
208 + fi
209 +
210 + # If greater than 2.6.5 use M= instead of SUBDIR=
211 +# convert_to_m "${NV_SRC}"/Makefile.kbuild
212 + fi
213 +
214 + if use pax_kernel; then
215 + ewarn "Using PAX patches is not supported. You will be asked to"
216 + ewarn "use a standard kernel should you have issues. Should you"
217 + ewarn "need support with these patches, contact the PaX team."
218 + epatch "${FILESDIR}"/${PN}-355.06-pax.patch
219 + fi
220 +
221 + # Allow user patches so they can support RC kernels and whatever else
222 + epatch_user
223 +}
224 +
225 +src_compile() {
226 + # This is already the default on Linux, as there's no toplevel Makefile, but
227 + # on FreeBSD there's one and triggers the kernel module build, as we install
228 + # it by itself, pass this.
229 +
230 + cd "${NV_SRC}"
231 + if use kernel_FreeBSD; then
232 + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
233 + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
234 + elif use kernel_linux; then
235 + MAKEOPTS=-j1
236 + linux-mod_src_compile
237 + fi
238 +}
239 +
240 +# Install nvidia library:
241 +# the first parameter is the library to install
242 +# the second parameter is the provided soversion
243 +# the third parameter is the target directory if it is not /usr/lib
244 +donvidia() {
245 + # Full path to library minus SOVER
246 + MY_LIB="$1"
247 +
248 + # SOVER to use
249 + MY_SOVER="$2"
250 +
251 + # Where to install
252 + MY_DEST="$3"
253 +
254 + if [[ -z "${MY_DEST}" ]]; then
255 + MY_DEST="/usr/$(get_libdir)"
256 + action="dolib.so"
257 + else
258 + exeinto ${MY_DEST}
259 + action="doexe"
260 + fi
261 +
262 + # Get just the library name
263 + libname=$(basename $1)
264 +
265 + # Install the library with the correct SOVER
266 + ${action} ${MY_LIB}.${MY_SOVER} || \
267 + die "failed to install ${libname}"
268 +
269 + # If SOVER wasn't 1, then we need to create a .1 symlink
270 + if [[ "${MY_SOVER}" != "1" ]]; then
271 + dosym ${libname}.${MY_SOVER} \
272 + ${MY_DEST}/${libname}.1 || \
273 + die "failed to create ${libname} symlink"
274 + fi
275 +
276 + # Always create the symlink from the raw lib to the .1
277 + dosym ${libname}.1 \
278 + ${MY_DEST}/${libname} || \
279 + die "failed to create ${libname} symlink"
280 +}
281 +
282 +src_install() {
283 + if use kernel_linux; then
284 + linux-mod_src_install
285 +
286 + # Add the aliases
287 + # This file is tweaked with the appropriate video group in
288 + # pkg_preinst, see bug #491414
289 + insinto /etc/modprobe.d
290 + newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
291 + use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
292 +
293 + # Ensures that our device nodes are created when not using X
294 + exeinto "$(get_udevdir)"
295 + newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
296 + udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
297 + elif use kernel_FreeBSD; then
298 + if use x86-fbsd; then
299 + insinto /boot/modules
300 + doins "${S}/src/nvidia.kld"
301 + fi
302 +
303 + exeinto /boot/modules
304 + doexe "${S}/src/nvidia.ko"
305 + fi
306 +
307 + # NVIDIA kernel <-> userspace driver config lib
308 + donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
309 +
310 + # NVIDIA framebuffer capture library
311 + donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
312 +
313 + # NVIDIA video encode/decode <-> CUDA
314 + if use kernel_linux; then
315 + donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
316 + donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
317 + fi
318 +
319 + if use X; then
320 + # Xorg DDX driver
321 + insinto /usr/$(get_libdir)/xorg/modules/drivers
322 + doins ${NV_X11}/nvidia_drv.so
323 +
324 + # Xorg GLX driver
325 + donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
326 + /usr/$(get_libdir)/opengl/nvidia/extensions
327 +
328 + # Xorg nvidia.conf
329 + if has_version '>=x11-base/xorg-server-1.16'; then
330 + insinto /usr/share/X11/xorg.conf.d
331 + newins {,50-}nvidia-drm-outputclass.conf
332 + fi
333 + fi
334 +
335 + # OpenCL ICD for NVIDIA
336 + if use kernel_linux; then
337 + insinto /etc/OpenCL/vendors
338 + doins ${NV_OBJ}/nvidia.icd
339 + fi
340 +
341 + # Documentation
342 + dohtml ${NV_DOC}/html/*
343 + if use kernel_FreeBSD; then
344 + dodoc "${NV_DOC}/README"
345 + use X && doman "${NV_MAN}/nvidia-xconfig.1"
346 + use tools && doman "${NV_MAN}/nvidia-settings.1"
347 + else
348 + # Docs
349 + newdoc "${NV_DOC}/README.txt" README
350 + dodoc "${NV_DOC}/NVIDIA_Changelog"
351 + doman "${NV_MAN}/nvidia-smi.1.gz"
352 + use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
353 + use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
354 + doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
355 + fi
356 +
357 + # Helper Apps
358 + exeinto /opt/bin/
359 +
360 + if use X; then
361 + doexe ${NV_OBJ}/nvidia-xconfig
362 + fi
363 +
364 + if use kernel_linux; then
365 + doexe ${NV_OBJ}/nvidia-cuda-mps-control
366 + doexe ${NV_OBJ}/nvidia-cuda-mps-server
367 + doexe ${NV_OBJ}/nvidia-debugdump
368 + doexe ${NV_OBJ}/nvidia-persistenced
369 + doexe ${NV_OBJ}/nvidia-smi
370 +
371 + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
372 + doexe ${NV_OBJ}/nvidia-modprobe
373 + fowners root:video /opt/bin/nvidia-modprobe
374 + fperms 4710 /opt/bin/nvidia-modprobe
375 + dosym /{opt,usr}/bin/nvidia-modprobe
376 +
377 + doman nvidia-cuda-mps-control.1.gz
378 + doman nvidia-modprobe.1.gz
379 + doman nvidia-persistenced.1.gz
380 + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
381 + newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
382 + newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
383 + fi
384 +
385 + if use tools; then
386 + doexe ${NV_OBJ}/nvidia-settings
387 + use gtk2 && donvidia libnvidia-gtk2.so ${PV}
388 + use gtk3 && donvidia libnvidia-gtk3.so ${PV}
389 + insinto /usr/share/nvidia/
390 + doins nvidia-application-profiles-${PV}-key-documentation
391 + insinto /etc/nvidia
392 + newins nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
393 + fi
394 +
395 + dobin ${NV_OBJ}/nvidia-bug-report.sh
396 +
397 + # Desktop entries for nvidia-settings
398 + if use tools; then
399 + # There is no icon in the FreeBSD tarball.
400 + use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png
401 + domenu "${FILESDIR}"/${PN}-settings.desktop
402 + exeinto /etc/X11/xinit/xinitrc.d
403 + doexe "${FILESDIR}"/95-nvidia-settings
404 + fi
405 +
406 + #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
407 +
408 + if has_multilib_profile && use multilib; then
409 + local OABI=${ABI}
410 + for ABI in $(get_install_abis); do
411 + src_install-libs
412 + done
413 + ABI=${OABI}
414 + unset OABI
415 + else
416 + src_install-libs
417 + fi
418 +
419 + is_final_abi || die "failed to iterate through all ABIs"
420 +
421 + readme.gentoo_create_doc
422 +}
423 +
424 +src_install-libs() {
425 + local inslibdir=$(get_libdir)
426 + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
427 + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
428 + local libdir=${NV_OBJ}
429 +
430 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
431 + libdir=${NV_OBJ}/32
432 + fi
433 +
434 + if use X; then
435 + NV_GLX_LIBRARIES=(
436 + "libEGL.so 1 ${GL_ROOT}"
437 + "libEGL_nvidia.so 0 ${GL_ROOT}"
438 + "libGL.so ${NV_SOVER} ${GL_ROOT}"
439 + "libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}"
440 + "libGLdispatch.so 0 ${GL_ROOT}"
441 + "libOpenCL.so 1.0.0 ${CL_ROOT}"
442 + "libOpenGL.so 0 ${GL_ROOT}"
443 + "libcuda.so ${NV_SOVER}"
444 + "libnvcuvid.so ${NV_SOVER}"
445 + "libnvidia-compiler.so ${NV_SOVER}"
446 + "libnvidia-eglcore.so ${NV_SOVER}"
447 + "libnvidia-encode.so ${NV_SOVER}"
448 + "libnvidia-fbc.so ${NV_SOVER}"
449 + "libnvidia-glcore.so ${NV_SOVER}"
450 + "libnvidia-glsi.so ${NV_SOVER}"
451 + "libnvidia-ifr.so ${NV_SOVER}"
452 + "libnvidia-opencl.so ${NV_SOVER}"
453 + "libvdpau.so ${NV_SOVER} ${GL_ROOT}"
454 + "libvdpau_nvidia.so ${NV_SOVER}"
455 + "libvdpau_trace.so ${NV_SOVER} ${GL_ROOT}"
456 + )
457 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
458 + then
459 + NV_GLX_LIBRARIES+=( "libnvidia-wfb.so ${NV_SOVER}" )
460 + fi
461 +
462 + if use kernel_FreeBSD; then
463 + NV_GLX_LIBRARIES+=( "libnvidia-tls.so ${NV_SOVER}" )
464 + fi
465 +
466 + if use kernel_linux; then
467 + NV_GLX_LIBRARIES+=(
468 + "libnvidia-ml.so ${NV_SOVER}"
469 + "tls/libnvidia-tls.so ${NV_SOVER}"
470 + )
471 + fi
472 +
473 + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
474 + donvidia ${libdir}/${NV_LIB}
475 + done
476 +
477 + # GLES v2 library is special
478 + insinto ${GL_ROOT}
479 + doexe ${libdir}/libGLESv2.so.${PV}
480 + dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
481 + dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
482 + fi
483 +}
484 +
485 +pkg_preinst() {
486 + if use kernel_linux; then
487 + linux-mod_pkg_preinst
488 +
489 + local videogroup="$(egetent group video | cut -d ':' -f 3)"
490 + if [ -z "${videogroup}" ]; then
491 + eerror "Failed to determine the video group gid"
492 + die "Failed to determine the video group gid"
493 + else
494 + sed -i \
495 + -e "s:PACKAGE:${PF}:g" \
496 + -e "s:VIDEOGID:${videogroup}:" \
497 + "${D}"/etc/modprobe.d/nvidia.conf || die
498 + fi
499 + fi
500 +
501 + # Clean the dynamic libGL stuff's home to ensure
502 + # we dont have stale libs floating around
503 + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
504 + rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
505 + fi
506 + # Make sure we nuke the old nvidia-glx's env.d file
507 + if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
508 + rm -f "${ROOT}"/etc/env.d/09nvidia
509 + fi
510 +}
511 +
512 +pkg_postinst() {
513 + use kernel_linux && linux-mod_pkg_postinst
514 +
515 + # Switch to the nvidia implementation
516 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
517 + "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
518 +
519 + readme.gentoo_print_elog
520 +
521 + if ! use X; then
522 + elog "You have elected to not install the X.org driver. Along with"
523 + elog "this the OpenGL libraries and VDPAU libraries were not"
524 + elog "installed. Additionally, once the driver is loaded your card"
525 + elog "and fan will run at max speed which may not be desirable."
526 + elog "Use the 'nvidia-smi' init script to have your card and fan"
527 + elog "speed scale appropriately."
528 + elog
529 + fi
530 + if ! use tools; then
531 + elog "USE=tools controls whether the nvidia-settings application"
532 + elog "is installed. If you would like to use it, enable that"
533 + elog "flag and re-emerge this ebuild. Optionally you can install"
534 + elog "media-video/nvidia-settings"
535 + elog
536 + fi
537 +}
538 +
539 +pkg_prerm() {
540 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
541 +}
542 +
543 +pkg_postrm() {
544 + use kernel_linux && linux-mod_pkg_postrm
545 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
546 +}