commit: fcea6dadf4e471de98323346f9855f7c0efedd72 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Tue Jun 27 01:42:28 2023 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Tue Jun 27 03:48:59 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcea6dad
x11-drivers/nvidia-drivers: update and install vulkan icd for USE=-X Not really tested, but it should be harmless vs not having the file. Skipping revbump, letting it propagate on kernel upgrades / bumps (470 and 525 are bumped in next commits). Please rebuild if want this now for other versions. For 390.x the icd is a template, while the newer drivers had hardcoded libGLX, but docs mentions libEGL is usable for all versions (unlikely to be useful for 390.x given its partial wayland support is broken). Closes: https://bugs.gentoo.org/909181 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild | 9 +++------ x11-drivers/nvidia-drivers/nvidia-drivers-470.182.03-r2.ebuild | 9 ++++----- x11-drivers/nvidia-drivers/nvidia-drivers-525.116.04-r2.ebuild | 8 ++++---- x11-drivers/nvidia-drivers/nvidia-drivers-525.47.27.ebuild | 8 ++++---- x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild | 8 ++++---- 5 files changed, 19 insertions(+), 23 deletions(-) diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild index 782cd04ec2cb..44a0ef4ec290 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.157.ebuild @@ -187,7 +187,8 @@ src_prepare() { nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ > "${T}"/nvidia-persistenced.service || die - sed 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' \ + # use alternative vulkan icd option if USE=-X (bug #909181) + sed "s/__NV_VK_ICD__/lib$(usex X GLX EGL)_nvidia.so.0/" \ nvidia_icd.json.template > nvidia_icd.json || die # 390 has legacy glx needing a modified .conf (bug #713546) @@ -256,11 +257,7 @@ src_install() { ) local skip_files=( - # nvidia_icd(vulkan): skip with -X too as it uses libGLX_nvidia - $(usev !X " - libGLX_nvidia libglx - libnvidia-ifr - nvidia_icd.json") + $(usev !X "libGLX_nvidia libglx libnvidia-ifr") libGLX_indirect # non-glvnd unused fallback libnvidia-gtk nvidia-{settings,xconfig} # built from source libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.182.03-r2.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.182.03-r2.ebuild index c81eb65e5664..34be931dbd93 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.182.03-r2.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.182.03-r2.ebuild @@ -189,6 +189,9 @@ src_prepare() { nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \ > "${T}"/nvidia-persistenced.service || die + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + # enable nvidia-drm.modeset=1 by default with USE=wayland cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die @@ -252,11 +255,7 @@ src_install() { ) local skip_files=( - # nvidia_icd/layers(vulkan): skip with -X too as it uses libGLX_nvidia - $(usev !X " - libGLX_nvidia libglxserver_nvidia - libnvidia-ifr - nvidia_icd.json nvidia_layers.json") + $(usev !X "libGLX_nvidia libglxserver_nvidia libnvidia-ifr") $(usev !wayland libnvidia-vulkan-producer) libGLX_indirect # non-glvnd unused fallback libnvidia-gtk nvidia-{settings,xconfig} # built from source diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.116.04-r2.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.116.04-r2.ebuild index 28e79dd467aa..61453ca0a97d 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.116.04-r2.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.116.04-r2.ebuild @@ -201,6 +201,9 @@ src_prepare() { > "${T}"/nvidia-persistenced.service || die use !amd64 || sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + # enable nvidia-drm.modeset=1 by default with USE=wayland cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die @@ -296,10 +299,7 @@ src_install() { ) local skip_files=( - # nvidia_icd/layers(vulkan): skip with -X too as it uses libGLX_nvidia - $(usev !X " - libGLX_nvidia libglxserver_nvidia - nvidia_icd.json nvidia_layers.json") + $(usev !X "libGLX_nvidia libglxserver_nvidia") $(usev !wayland libnvidia-vulkan-producer) libGLX_indirect # non-glvnd unused fallback libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.27.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.27.ebuild index 24511aa21df0..0528f317bbca 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.27.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.27.ebuild @@ -202,6 +202,9 @@ src_prepare() { > "${T}"/nvidia-persistenced.service || die use !amd64 || sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + # enable nvidia-drm.modeset=1 by default with USE=wayland cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die @@ -297,10 +300,7 @@ src_install() { ) local skip_files=( - # nvidia_icd/layers(vulkan): skip with -X too as it uses libGLX_nvidia - $(usev !X " - libGLX_nvidia libglxserver_nvidia - nvidia_icd.json nvidia_layers.json") + $(usev !X "libGLX_nvidia libglxserver_nvidia") $(usev !wayland libnvidia-vulkan-producer) libGLX_indirect # non-glvnd unused fallback libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild index 0839272da96a..1e24166af1ae 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.54.03.ebuild @@ -204,6 +204,9 @@ src_prepare() { > "${T}"/nvidia-persistenced.service || die use !amd64 || sed -i "s|/usr|${EPREFIX}/opt|" systemd/system/nvidia-powerd.service || die + # use alternative vulkan icd option if USE=-X (bug #909181) + use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die + # enable nvidia-drm.modeset=1 by default with USE=wayland cp "${FILESDIR}"/nvidia-470.conf "${T}"/nvidia.conf || die use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || die @@ -300,10 +303,7 @@ src_install() { ) local skip_files=( - # nvidia_icd/layers(vulkan): skip with -X too as it uses libGLX_nvidia - $(usev !X " - libGLX_nvidia libglxserver_nvidia - nvidia_icd.json nvidia_layers.json") + $(usev !X "libGLX_nvidia libglxserver_nvidia") $(usev !wayland libnvidia-vulkan-producer) libGLX_indirect # non-glvnd unused fallback libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from source
