On Saturday, August 22, 2020 1:04:33 PM CEST Walter Dnes wrote: > I just updated my secondary machine. No mention of "libglvnd" in > package.use... > > [i3][root][~] grep libglvnd /etc/portage/package.use/* > > "Disabled" in make.conf... > > [i3][root][~] grep libglvnd /etc/portage/make.conf > USE="X apng fmpeg introspection jpeg opengl openmp png szip truetype x264 > x265 xorg threads vala -acl -arp -arping -berkdb -bindist -bles -caps > -chatzilla -cracklib -crypt -elogind -filecaps -gallium -gdbm > -gmp-autoupdate -graphite -gstreamer -iconv -ipc -iptables -ipv6 -jemalloc3 > -libav -libglvnd -llvm -manpager -nls -pam -pch -roaming -sendmail -spell > -tcpd -udev -udisks -unicode -upower -xinerama" > > But libglvnd is still pulled in as a hard dependency... > > [i3][root][~] emerge -pv --depclean media-libs/libglvnd > > Calculating dependencies... done! > media-libs/libglvnd-1.3.2 pulled in by: > media-libs/mesa-20.0.8 requires > >=media-libs/libglvnd-1.2.0-r1[X,abi_x86_64(-)] > x11-base/xorg-server-1.20.8-r1 requires media-libs/libglvnd[X] > >>> No packages selected for removal by depclean > > Packages installed: 583 > Packages in world: 80 > Packages in system: 43 > Required packages: 583 > Number to remove: 0 > > If it's really a hard dependency, then why pretend in the ebuilds that > it's optional? > > ======================================================================== > > [i3][root][~] grep libglvnd /usr/portage/media-libs/mesa/mesa-20.0.8.ebuild > +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 +gles2 +libglvnd > +llvm libglvnd? ( > > >=media-libs/libglvnd-1.2.0-r1[X?,${MULTILIB_USEDEP}] > > !libglvnd? ( > libglvnd? ( usr/lib/libGLX_mesa.so.0.0.0 ) > $(meson_use libglvnd glvnd) > if ! use libglvnd; then > > ======================================================================== > > [i3][root][~] grep libglvnd > /usr/portage/x11-base/xorg-server/xorg-server-1.20.8-r1.ebuild > IUSE="${IUSE_SERVERS} debug +elogind ipv6 libressl +libglvnd minimal > selinux suid systemd +udev unwind xcsecurity" CDEPEND="libglvnd? ( > media-libs/libglvnd[X] > !!x11-drivers/nvidia-drivers[-libglvnd(-)] > !libglvnd? ( >=app-eselect/eselect-opengl-1.3.0 ) > if ! use libglvnd; then > > ========================================================================
"libglvnd" is in "use.force": ============ $ cat /<path to portage-tree>/profiles/base/use.force # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Matt Turner <matts...@gentoo.org> (2020-08-11) # Force USE=libglvnd in order to mask app-eselect/eselect-opengl for removal. # This USE flag will be removed completely in the near future. Bug #728286 libglvnd # Mike Gilbert <flop...@gentoo.org> (2019-07-20) # Disabling this requires a migration to be performed. split-usr # Force the GNU/Linux ELIBC, KERNEL, and USERLAND # flags that apply to the majority of profiles. elibc_glibc kernel_linux userland_GNU ====================== For the rationale behind prefering libglvnd over the eselect-opengl hack (which has caused me more problems than it solved, even on single-GPU systems), please see Ashley Dixon's reply. -- Joost