As per a previous post, have an older laptop with NVIDIA graphics that runs Leap 15.1 without problems but requires “nomodeset” on the kernel commandline to boot Tumbleweed. The following summarizes where I stand after a week of hacking before coming back asking again for help. Infinitely more details available upon request.
-
I installed and tried to run the “nvidia…G03…” packages from https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tumbleweed/x86_64/ because the main repos don’t provide them. That gives no errors but doesn’t bring up X11.
-
I tried https://en.opensuse.org/SDB:NVIDIA_the_hard_way without success. Neither the patches from https://nvidia.if-not-true-then-false.com/patcher/NVIDIA-340xx/ nor the sources in nvidia-gfxG03-kmp-default-340.108_k6.3.2_1-165.1.x86_64.rpm help. Even with the “devel_C_C++” and “devel_kernel” patterns installed the Makefile can’t find many basic “#include” files. I added several
EXTRA_CFLAGS += <dir>entries which fixed that problem but the build still fails with fatal errors, including a problem with varargs (it’s getting a C++ include file with a “namespace” line that isn’t guarded by#ifdef __cplusplusso it of course fails when compiling C source code). -
Using nouveau, unless “nomodeset” is in the kernel parameters, the system hangs during boot.
dmesgshows crashes and the laptop’s keyboard does nothing, including no response to ALT-F1, CTRL-ALT-F1, or CTRL-ALT-DEL. I cansshin and do anything that’s not X11-related, but whileshutdown -rorshutdown -Pdo kill the system, the laptop remains frozen until hardware power is turned off. -
With “nomodeset”, the system boots to X11 and the display manager, and I can log in to a window manager or desktop environment. There are no errors or mention of nouveau in
dmesg. It’s documented that nouveau needs kernel mode setting to work, and that seems to be correct. The nouveau modules are loaded:
$ lsmod | egrep -i 'nv|nou'
nouveau 3403776 0
mxm_wmi 16384 1 nouveau
i2c_algo_bit 20480 1 nouveau
drm_display_helper 212992 1 nouveau
drm_ttm_helper 16384 1 nouveau
ttm 102400 2 drm_ttm_helper,nouveau
video 73728 3 dell_wmi,dell_laptop,nouveau
button 24576 1 nouveau
wmi 45056 7 video,dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouveau
But nouveau doesn’t seem to be running:
$ xrandr --query
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 4096 x 4096
None-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1200 60.00*+
and:
inxi -Ga
Graphics:
Device-1: NVIDIA G92GLM [Quadro FX 3800M] vendor: Dell driver: N/A
alternate: nouveau non-free: series: 340.xx status: legacy (EOL) last:
release: 340.108 kernel: 5.4 xorg: 1.20 arch: Tesla process: 40-80nm
built: 2006-13 pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 2
speed: 5 GT/s bus-ID: 01:00.0 chip-ID: 10de:061f class-ID: 0300
Device-2: Ricoh Dell Laptop Integrated Webcam driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-1.3:3
chip-ID: 05ca:1815 class-ID: 0e02
Display: x11 server: X.Org v: 21.1.8 driver: X: loaded: modesetting,vesa
unloaded: fbdev gpu: N/A display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 508x317mm (20.00x12.48")
s-diag: 599mm (23.57")
Monitor-1: Unknown-1 mapped: None-1 res: 1920x1200 hz: 60 size: N/A
modes: 1920x1200
API: OpenGL v: 4.5 Mesa 23.0.3 renderer: llvmpipe (LLVM 16.0.2 128 bits)
direct-render: Yes
To me the above says that I’m running completely unaccelerated framebuffer graphics, because on Leap, xrandr shows “VGA-0”, “LVDS-0” and several other devices, and inxi shows “driver: nvidia” instead of “driver: N/A” (and there are posts here that show “driver: nouveau”).
So, questions …
- Am I right that nouveau isn’t running?
- Does nouveau support this “Quadro FX 3800m”/“G03” hardware?
- There’s lots of online documentation about “early” kernel mode setting. Is there a way to “nomodeset” until after the kernel and systemd have started and then somehow set the kernel mode so nouveau comes up without hanging?
- Would completely removing plymouth help? Is it the reason why early mode setting is required, e.g. for graphical displays during the boot process? I’ve tried many combinations of “splash=silent” and “quiet” but still always get the hang unless “nomodeset” is also included.