summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-09-19 18:52:32 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-09-19 19:29:53 -0400
commit645c5c5342bdadc6f8206732dc7335498d57eccb (patch)
tree58ffdf5eb2c3bf0da112cd2cc8911992ed0859e0 /x11-drivers
parenttoolchain.eclass: disable automagic CET for x86 (diff)
downloadgentoo-645c5c5342bdadc6f8206732dc7335498d57eccb.tar.gz
gentoo-645c5c5342bdadc6f8206732dc7335498d57eccb.tar.bz2
gentoo-645c5c5342bdadc6f8206732dc7335498d57eccb.zip
x11-drivers/nvidia-drivers: config check for DRM_TTM_HELPER w/ 6.11+
Essentially the same issue as DRM_KMS_HELPER where nvidia will detect that it's usable but the kernel will not install the drm_ttm_helper.ko module resulting in missing symbol dependencies. Also has the same problem where it cannot be directly selected so we need to try to explain this to users. At same time also update the KMS_HELPER message a bit, esp. given I915 is not usable to enable TTM_HELPER making it a poor suggestion. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild22
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild22
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild22
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild22
4 files changed, 68 insertions, 20 deletions
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
index c0427557f1a5..7b1df6278314 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.107.02-r1.ebuild
@@ -96,6 +96,10 @@ PATCHES=(
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
+ # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
+ get_version
+ require_configured_kernel
+
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
@@ -106,15 +110,23 @@ pkg_setup() {
$(usev powerd '~CPU_FREQ')
"
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
+ kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+ CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+ local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
+ selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
+ DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+ ${drm_helper_msg}"
+ local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
+ kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+ ${drm_helper_msg}
+ Many DRM devices like DRM_I915 cannot currently be used to enable this."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild
index 0a3e3b785a46..3f80d1a64cc2 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.120.ebuild
@@ -95,6 +95,10 @@ PATCHES=(
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
+ # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
+ get_version
+ require_configured_kernel
+
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
@@ -105,15 +109,23 @@ pkg_setup() {
$(usev powerd '~CPU_FREQ')
"
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
+ kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+ CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+ local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
+ selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
+ DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+ ${drm_helper_msg}"
+ local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
+ kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+ ${drm_helper_msg}
+ Many DRM devices like DRM_I915 cannot currently be used to enable this."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
index abee29c518c4..ee13950d9fd8 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-550.40.71-r1.ebuild
@@ -97,6 +97,10 @@ PATCHES=(
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
+ # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
+ get_version
+ require_configured_kernel
+
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
@@ -107,15 +111,23 @@ pkg_setup() {
$(usev powerd '~CPU_FREQ')
"
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
+ kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+ CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+ local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
+ selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
+ DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+ ${drm_helper_msg}"
+ local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
+ kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+ ${drm_helper_msg}
+ Many DRM devices like DRM_I915 cannot currently be used to enable this."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
index ac755f870b2e..2027543207fe 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-560.35.03-r1.ebuild
@@ -99,6 +99,10 @@ PATCHES=(
pkg_setup() {
use modules && [[ ${MERGE_TYPE} != binary ]] || return
+ # do early before linux-mod-r1 so can use chkconfig to setup CONFIG_CHECK
+ get_version
+ require_configured_kernel
+
local CONFIG_CHECK="
PROC_FS
~DRM_KMS_HELPER
@@ -109,15 +113,23 @@ pkg_setup() {
$(usev powerd '~CPU_FREQ')
"
- local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
- of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
- Cannot be directly selected in the kernel's menuconfig, and may need
- selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
- DRM_I915=y, DRM_NOUVEAU=m also acceptable if a module and not built-in."
+ kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+ CONFIG_CHECK+=" DRM_TTM_HELPER"
use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+ local drm_helper_msg="Cannot be directly selected in the kernel's config menus, and may need
+ selection of a DRM device even if unused, e.g. CONFIG_DRM_AMDGPU=m or
+ DRM_QXL=m, DRM_NOUVEAU=m also acceptable if a module and *not* built-in."
+ local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but needed for Xorg auto-detection
+ of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+ ${drm_helper_msg}"
+ local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is needed to compile when using
+ kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+ ${drm_helper_msg}
+ Many DRM devices like DRM_I915 cannot currently be used to enable this."
local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to build with USE=kernel-open.
Cannot be directly selected in the kernel's menuconfig, and may need
selection of another option that requires it such as CONFIG_KVM."