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 can
sshin and do anything that’s not X11-related, but while
shutdown -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*+
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.