commit: bc69df3fdbdb024eda98a3dd9f22d8e9973af99a Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Wed Nov 24 04:57:58 2021 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Wed Nov 24 05:56:36 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc69df3f
x11-drivers/nvidia-drivers: warn when abi_x86_32 is disabled Profile had abi_x86_32 enabled by default for ~7 years (now removed), and users may not necessarily have realized whether they needed it. steam-overlay's steam-client-meta depends on nvidia's [abi_x86_32] but wine* and other 32bit applications generally do not (typically only check for virtual/opengl which only checks if mesa has it set, or may check neither if depends on libglvnd directly). Warn to miminize poor surprises to some extend. Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> x11-drivers/nvidia-drivers/nvidia-drivers-390.144-r1.ebuild | 11 ++++++++++- .../nvidia-drivers/nvidia-drivers-460.91.03-r1.ebuild | 9 +++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-470.62.12.ebuild | 12 ++++++++++-- x11-drivers/nvidia-drivers/nvidia-drivers-470.82.00.ebuild | 12 ++++++++++-- x11-drivers/nvidia-drivers/nvidia-drivers-470.86-r1.ebuild | 12 ++++++++++-- x11-drivers/nvidia-drivers/nvidia-drivers-495.44-r2.ebuild | 12 ++++++++++-- x11-drivers/nvidia-drivers/nvidia-drivers-495.44.ebuild | 12 ++++++++++-- 7 files changed, 69 insertions(+), 11 deletions(-) diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.144-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.144-r1.ebuild index 64ade35d122d..1004d1b629b8 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.144-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.144-r1.ebuild @@ -359,7 +359,8 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 use driver || return linux-mod_pkg_preinst @@ -389,7 +390,15 @@ pkg_postinst() { elog "Other functions, like OpenGL, will continue to work." fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if [[ ${NV_HAD_WAYLAND} ]]; then + elog elog "Support for EGLStream (egl-wayland) is no longer offered with legacy" elog "nvidia-drivers. It is recommended to use nouveau drivers for wayland." fi diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03-r1.ebuild index 965d65172955..416d84b7d48a 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-460.91.03-r1.ebuild @@ -360,6 +360,8 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + use driver || return linux-mod_pkg_preinst @@ -409,6 +411,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + # Try to show this message only to users that may really need it # given the workaround is discouraged and usage isn't widespread. if use X && [[ ${REPLACING_VERSIONS} ]] && diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.12.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.12.ebuild index b3b8df4650d8..0cc7549b27a9 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.12.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.62.12.ebuild @@ -392,6 +392,9 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 + use driver || return linux-mod_pkg_preinst @@ -413,8 +416,6 @@ pkg_preinst() { fi done rm "${ED}"/usr/share/nvidia/supported-gpus.json || die - - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 } pkg_postinst() { @@ -448,6 +449,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then elog elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.82.00.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.82.00.ebuild index 9be8a4d57429..09afc857b0b1 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.82.00.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.82.00.ebuild @@ -387,6 +387,9 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 + use driver || return linux-mod_pkg_preinst @@ -408,8 +411,6 @@ pkg_preinst() { fi done rm "${ED}"/usr/share/nvidia/supported-gpus.json || die - - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 } pkg_postinst() { @@ -445,6 +446,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then elog elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.86-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.86-r1.ebuild index 9be8a4d57429..09afc857b0b1 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.86-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.86-r1.ebuild @@ -387,6 +387,9 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 + use driver || return linux-mod_pkg_preinst @@ -408,8 +411,6 @@ pkg_preinst() { fi done rm "${ED}"/usr/share/nvidia/supported-gpus.json || die - - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 } pkg_postinst() { @@ -445,6 +446,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then elog elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-495.44-r2.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-495.44-r2.ebuild index d1398cc45309..08e975e6beb8 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-495.44-r2.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-495.44-r2.ebuild @@ -410,6 +410,9 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 + use driver || return linux-mod_pkg_preinst @@ -431,8 +434,6 @@ pkg_preinst() { fi done rm "${ED}"/usr/share/nvidia/supported-gpus.json || die - - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 } pkg_postinst() { @@ -468,6 +469,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then elog elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-495.44.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-495.44.ebuild index 9e444bda2a40..7d5b9d3dfce6 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-495.44.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-495.44.ebuild @@ -399,6 +399,9 @@ https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers" } pkg_preinst() { + has_version "${CATEGORY}/${PN}[abi_x86_32]" && NV_HAD_ABI32=1 + has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=1 + use driver || return linux-mod_pkg_preinst @@ -420,8 +423,6 @@ pkg_preinst() { fi done rm "${ED}"/usr/share/nvidia/supported-gpus.json || die - - has_version "x11-drivers/nvidia-drivers[wayland]" && NV_HAD_WAYLAND=1 } pkg_postinst() { @@ -457,6 +458,13 @@ pkg_postinst() { ewarn "https://www.nvidia.com/object/IO_32667.html" fi + if use !abi_x86_32 && [[ ${NV_HAD_ABI32} ]]; then + elog + elog "USE=abi_x86_32 is disabled, 32bit applications will not be able to" + elog "use nvidia-drivers for acceleration without it (e.g. commonly used" + elog "with app-emulation/wine-*). Re-enable if needed." + fi + if use wayland && use driver && [[ ! ${NV_HAD_WAYLAND} ]]; then elog elog "With USE=wayland, this version of ${PN} sets nvidia-drm.modeset=1"