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"

Reply via email to