You are not logged in.

#1 2021-11-18 21:53:08

weirddan455
Member
Registered: 2012-04-15
Posts: 209

Nvidia drivers fail to build on 5.15.3

I have a custom kernel config and just grabbed the release that came down today from kernel.org.  When I ran make oldconfig, it removed a bunch of DRM settings.  Diff below:

#
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.15.2 Kernel Configuration
+# Linux/x86 5.15.3 Kernel Configuration
 #
 CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0"
 CONFIG_CC_IS_GCC=y
@@ -2330,24 +2330,10 @@
 CONFIG_DRM_DP_AUX_CHARDEV=y
 # CONFIG_DRM_DEBUG_MM is not set
 # CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_KMS_HELPER=y
-# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_FBDEV_OVERALLOC=100
-# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 # CONFIG_DRM_DP_CEC is not set
 
 #
-# I2C encoder or helper chips
-#
-# CONFIG_DRM_I2C_CH7006 is not set
-# CONFIG_DRM_I2C_SIL164 is not set
-# CONFIG_DRM_I2C_NXP_TDA998X is not set
-# CONFIG_DRM_I2C_NXP_TDA9950 is not set
-# end of I2C encoder or helper chips
-
-#
 # ARM devices
 #
 # end of ARM devices
@@ -2364,15 +2350,7 @@
 # CONFIG_DRM_AST is not set
 # CONFIG_DRM_MGAG200 is not set
 # CONFIG_DRM_QXL is not set
-CONFIG_DRM_PANEL=y
-
-#
-# Display Panels
-#
-# end of Display Panels
-
 CONFIG_DRM_BRIDGE=y
-CONFIG_DRM_PANEL_BRIDGE=y
 
 #
 # Display Interface Bridges
@@ -2400,12 +2378,7 @@
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=y
-CONFIG_FB_SYS_COPYAREA=y
-CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=y
-CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_TILEBLITTING=y
 
@@ -3578,6 +3551,7 @@
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=y
 CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
 CONFIG_CRYPTO_AKCIPHER2=y
 CONFIG_CRYPTO_AKCIPHER=y
 CONFIG_CRYPTO_KPP2=y

I'm guessing this commit is the cause:

commit 94e18f5a5dd1b5e3b89c665fc5ff780858b1c9f6
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Oct 29 14:02:38 2021 +0200

    drm: fb_helper: improve CONFIG_FB dependency
    
    [ Upstream commit 9d6366e743f37d36ef69347924ead7bcc596076e ]
    
    My previous patch correctly addressed the possible link failure, but as
    Jani points out, the dependency is now stricter than it needs to be.
    
    Change it again, to allow DRM_FBDEV_EMULATION to be used when
    DRM_KMS_HELPER and FB are both loadable modules and DRM is linked into
    the kernel.
    
    As a side-effect, the option is now only visible when at least one DRM
    driver makes use of DRM_KMS_HELPER. This is better, because the option
    has no effect otherwise.
    
    Fixes: 606b102876e3 ("drm: fb_helper: fix CONFIG_FB dependency")
    Suggested-by: Acked-by: Jani Nikula <jani.nikula@intel.com>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211029120307.1407047-1-arnd@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

I don't have Nouveau or any other DRM drivers that I know of compiled in because I don't need them.  Do I just have to pick some random DRM driver now to get the things Nvidia needs?

I've reverted back to 5.15.2 and everything is working fine.  Maybe this becomes a problem in Arch kernel once it gets upgraded so something to watch out for.

Offline

#2 2021-11-18 22:04:37

loqs
Member
Registered: 2014-03-06
Posts: 17,323

Re: Nvidia drivers fail to build on 5.15.3

Enable DRM_VKMS which I believe pulls in the least dependencies apart from DRM_KMS_HELPER or use something similar to the patch below:

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 0039df26854b..f952ed657883 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -82,6 +82,7 @@ config DRM_DEBUG_SELFTEST
 config DRM_KMS_HELPER
 	tristate
 	depends on DRM
+	default y
 	help
 	  CRTC helpers for KMS drivers.
 

Offline

#3 2021-11-18 23:30:16

weirddan455
Member
Registered: 2012-04-15
Posts: 209

Re: Nvidia drivers fail to build on 5.15.3

loqs wrote:

Enable DRM_VKMS which I believe pulls in the least dependencies apart from DRM_KMS_HELPER or use something similar to the patch below:

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 0039df26854b..f952ed657883 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -82,6 +82,7 @@ config DRM_DEBUG_SELFTEST
 config DRM_KMS_HELPER
 	tristate
 	depends on DRM
+	default y
 	help
 	  CRTC helpers for KMS drivers.
 

Hmm... DRM_VKMS was marked as experimental.  I just compiled in Nouveau as a module and it seems to have fixed the problem.  Still kind of annoying as Nouveau takes a while to compile.  Maybe I'll try that patch later.  I'm not sure why they decided to make that change that breaks people's configs, especially in a stable release.

Offline

#4 2021-11-20 05:31:46

loqs
Member
Registered: 2014-03-06
Posts: 17,323

Re: Nvidia drivers fail to build on 5.15.3

Offline

Board footer

Powered by FluxBB