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 __cplusplus
so it of course fails when compiling C source code). -
Using nouveau, unless “nomodeset” is in the kernel parameters, the system hangs during boot.
dmesg
shows crashes and the laptop’s keyboard does nothing, including no response to ALT-F1, CTRL-ALT-F1, or CTRL-ALT-DEL. I canssh
in and do anything that’s not X11-related, but whileshutdown -r
orshutdown -P
do 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.