Bug 1217308 - nvidia_drm Kernel Driver fails with param fbdev=1 "Failed to apply atomic modeset"
Summary: nvidia_drm Kernel Driver fails with param fbdev=1 "Failed to apply atomic mod...
Status: RESOLVED NORESPONSE
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: X11 3rd Party Driver (show other bugs)
Version: Leap 15.4
Hardware: x86-64 openSUSE Leap 15.4
: P3 - Medium : Normal (vote)
Target Milestone: Leap 15.4
Assignee: Stefan Dirsch
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-19 11:46 UTC by Jürgen Heinemann
Modified: 2024-04-20 09:08 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jürgen Heinemann 2023-11-19 11:46:28 UTC
Driver will freeze the boot sequence with Experimental param fbdev=1
I change it back and it works now ...

## uname -r
5.14.21-150400.24.97-default

## dmesg -T | grep "drm"
[So Nov 19 09:01:52 2023] ACPI: bus type drm_connector registered
[So Nov 19 09:01:53 2023] nvidia_drm: externally supported module, setting X kernel taint flag.
[So Nov 19 09:01:53 2023] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[So Nov 19 09:01:54 2023] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[So Nov 19 09:01:54 2023] fb0: switching to nvidia-drm from EFI VGA
[So Nov 19 09:01:54 2023] fbcon: nvidia-drmdrmfb (fb0) is primary device
[So Nov 19 09:01:54 2023] nvidia 0000:01:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device
[So Nov 19 09:01:56 2023] [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to apply atomic modeset.  Error code: -22
[So Nov 19 09:07:28 2023] [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to apply atomic modeset.  Error code: -22
[So Nov 19 09:07:31 2023] [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 0
[So Nov 19 09:07:34 2023] [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Flip event timeout on head 1
[So Nov 19 09:07:34 2023] [drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to apply atomic modeset.  Error code: -22

## lspci -k | grep -A 2 -E "VGA compatible"
01:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070] (rev a1)
	Subsystem: eVga.com. Corp. Device 1071
	Kernel driver in use: nvidia

18:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raphael (rev c5)
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Raphael
18:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller

## cat /etc/dracut.conf.d/60-amdgpu.conf
omit_drivers+=" amdgpu "

## cat /etc/dracut.conf.d/60-nvidia-default.conf
omit_drivers+=" nvidia nvidia-drm nvidia-modeset nvidia-uvm "

## diff -EbU 2 50-nvidia-default.conf.rpmsave 50-nvidia-default.conf
--- 50-nvidia-default.conf.rpmsave	2023-10-13 06:31:20.673876291 +0200
+++ 50-nvidia-default.conf	2023-11-19 07:26:01.279610487 +0100
@@ -1,4 +1,4 @@
 # NVreg_PreserveVideoMemoryAllocations needed for GNOME Wayland
 options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=483 NVreg_DeviceFileMode=0660 NVreg_PreserveVideoMemoryAllocations=1
-options nvidia-drm modeset=1
+options nvidia-drm modeset=1 fbdev=1
 install nvidia PATH=$PATH:/bin:/usr/bin; if /sbin/modprobe --ignore-install nvidia; then   if /sbin/modprobe nvidia_uvm; then     if [ ! -c /dev/nvidia-uvm ]; then       mknod -m 660 /dev/nvidia-uvm c $(cat /proc/devices | while read major device; do if [ "$device" = "nvidia-uvm" ]; then echo $major; break; fi ; done) 0;        chown :video /dev/nvidia-uvm;     fi;     if [ ! -c /dev/nvidia-uvm-tools ]; then       mknod -m 660 /dev/nvidia-uvm-tools c $(cat /proc/devices | while read major device; do if [ "$device" = "nvidia-uvm" ]; then echo $major; break; fi ; done) 1;       chown :video /dev/nvidia-uvm-tools;     fi;   fi;   if [ ! -c /dev/nvidiactl ]; then     mknod -m 660 /dev/nvidiactl c 195 255;     chown :video /dev/nvidiactl;   fi;   devid=-1;   for dev in $(ls -d /sys/bus/pci/devices/*); do      vendorid=$(cat $dev/vendor);     if [ "$vendorid" = "0x10de" ]; then       class=$(cat $dev/class);       classid=${class%%00};       if [ "$classid" = "0x0300" -o "$classid" = "0x0302" ]; then          devid=$((devid+1));         if [ ! -c /dev/nvidia${devid} ]; then            mknod -m 660 /dev/nvidia${devid} c 195 ${devid};            chown :video /dev/nvidia${devid};         fi;       fi;     fi;   done;   /sbin/modprobe nvidia_drm;   if [ ! -c /dev/nvidia-modeset ]; then     mknod -m 660 /dev/nvidia-modeset c 195 254;     chown :video /dev/nvidia-modeset;   fi; fi 

## changed back
## grep -i '\<drm\>' /etc/modprobe.d/*
/etc/modprobe.d/50-nvidia-default.conf:options nvidia-drm modeset=1
/etc/modprobe.d/50-nvidia-default.conf.orig:options nvidia-drm modeset=1 fbdev=1
/etc/modprobe.d/50-nvidia-default.conf.rpmsave:options nvidia-drm modeset=1

## xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00  
   1152x720      60.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
DP-2 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     59.95 + 165.00   144.00   120.00  
   1920x1080    165.00   119.88*  100.00    60.00    59.94    50.00  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720     119.88   100.00    60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  
DP-3 disconnected (normal left inverted right x axis y axis)
USB-C-0 disconnected (normal left inverted right x axis y axis)
Comment 1 Stefan Dirsch 2023-11-26 14:59:58 UTC
Thanks for reporting. Could be related to the card being an eVGA device and AMD being the main internal GPU. Adding Daniel from nVidia. Might be interesting for him.
Comment 2 Stefan Dirsch 2024-03-01 00:42:43 UTC
I would also give the new driver version 550.54.14 a try.
Comment 3 Stefan Dirsch 2024-03-28 03:07:03 UTC
Meanwhile 550.67 is available even.
Comment 4 Stefan Dirsch 2024-04-19 18:48:40 UTC
Please give the latest driver a try. This fbdev=1 feature is no longer considered beta.
Comment 5 Jürgen Heinemann 2024-04-20 05:29:18 UTC
I'am not using a beta driver, because not needed for my dev platform. I think you can close this Bug, with my current "openSUSE Leap 15.5", "nvidia-gfxG05-kmp-default-470.239.06_k5.14.21_150500.53" this param is droped or removed from default.

## dmesg | grep -e "nvidia.\+fb"
[    8.126707] nvidia_drm: unknown parameter 'fbdev' ignored

No crashes and boot sequence didn't freeze any more.

Thanks for your work :-)
Comment 6 Stefan Dirsch 2024-04-20 09:08:30 UTC
Ok. So you switched to the legacy driver, which never had this feature and will never have it.