You are not logged in.
I recently upgraded my desktop GPU from a GTX 1050 to an RTX 3050. Windows on dual boot works fine, just automatically updated the GPU driver. On Arch I see boot messages until this:
[ OK ] Finished Update Boot Loader Random Seed.
and then the screen turns black. Although I can log in blindly a few seconds later, I can figure it out because some services are running. Alt+F2 or Alt+Ctrl+F2 with any F-key does nothing, the screen stays black.
My setup has no DM and Xorg starts only after login
~/.xinitrc
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
exec awesome
~/.bash_profile
[[ -f ~/.bashrc ]] && . ~/.bashrc
[[ -z $DISPLAY && $XDG_VTNR -eq NomerVirtConsole ]] && exec startx
So I guess the screen turned black before X started. If I unplug the HDMI cable the monitor says no signal and then I plug the cable back in the monitor turns on again and shows a black screen.
What I have already tried, but to no avail:
1. rcutree.gp_init_delay=1
2. adding nvidia to MODULES in mkinitcpio.conf
3. re-installing linux, nvidia, nvidia-utils from local cache under arch-chroot
Last edited by dzusan (2025-02-02 19:56:49)
Offline
Any custom kernel parameters? Try explicitly adding "nvidia_drm.modeset=1" (and maybe additionally "nvidia_drm.fbdev=0") to your kernel parameters (the cmdline, modprobe config won't do!) to ensure the simpledrm device isn't interfering
Last edited by V1del (2025-01-09 11:34:49)
Offline
Have you tried switching over to nvidia-open? it's currently supported and recommended by upstream
Offline
Try explicitly adding "nvidia_drm.modeset=1" (and maybe additionally "nvidia_drm.fbdev=0") to your kernel parameters (the cmdline, modprobe config won't do!) to ensure the simpledrm device isn't interfering
nvidia_drm.modeset=1 nvidia_drm.fbdev=0
You'll want to try with both of these.
See also:
https://gitlab.archlinux.org/archlinux/ … /issues/16
Last edited by tekstryder (2025-01-09 16:54:13)
Offline
you want the modeset explicity still, because if you disable fbdev you also allow simpledrm again which you want to kill with the explicit modeset on the cmdline
Offline
you want the modeset explicity still, because if you disable fbdev you also allow simpledrm again which you want to kill with the explicit modeset on the cmdline
Correct.
Simpledrm issue details here:
• https://gitlab.archlinux.org/archlinux/ … /issues/94
I failed to notice that the user's card is now a RTX 3050. This is a bit of Opposite World stuff, as what we've seen so far from other threads and bug reports have been the older generation cards (900 and 10-series) being affected thusly (myself included with a 1050 Ti when the simpledrm patch was dropped in early 6.12.x Arch kernel builds.).
Not sure we've seen a 30-series card requiring fbdev=0 yet, but would be a good data point.
It's entirely possible the OP has another issue, but first step would be to ensure the advised kernel parameters are applied.
Last edited by tekstryder (2025-01-09 16:58:32)
Offline
the reinstated simpledrm blocking patch should only be doing it's thing if it's set on the cmdline however afaik... unless a pull in via mkinitcpio also counts as an early load (did you check your dmesg whether it's really not being loaded?)
Offline
I stand corrected. I'll edit my posts to remove my inaccuracy.
With 4 various kernels installed I lost track of which parameter combo still allows the simpledrm device to activate.
Last edited by tekstryder (2025-01-14 16:30:03)
Offline
These options did not help either both or separately. Also the solutions from https://gitlab.archlinux.org/archlinux/ … /issues/16 with changes to mkinitcpio.conf and nvidia.conf did not work.
Offline
Replacing nvidia with nvidia-open did not change anything. Same black screen after starting the boot process.
Offline
Can you switch the VT? if you can post
sudo journalctl -b | curl -F 'file=@-' 0x0.st
and maybe check whether a xorg log is generated in ~/.local/share/xorg/Xorg.0.log and post it
Random thought, you didn't generate a xorg config with nvidia-xconfig did you? get rid of that in any case, chances this hardcoded some old identifiers.
Last edited by V1del (2025-01-09 22:26:04)
Offline
Can you switch the VT?
Unfortunately, I can't. But I can read journalctl from arch-chroot: journalctl -S yesterday.
But yesterday I didn't try to login and ~/.local/share/xorg/Xorg.0.log was created a day earlier when a post this topic: http://0x0.st/8-1D.txt. In this log the GPU is 3050, so the screen is already black. But yesterday there was a black screen on every boot, but there is no Xorg log here. This proves once again that the black screen appears before X starts.
you didn't generate a xorg config
Yes, I didn't run nvidia-xconfig. My /etc/X11/xorg.conf was updated several years ago. But okay, I run nvidia-xconfig now under chroot, but that didn't change anything except version comment in the file.
Offline
you should not generate one, get rid of /etc/X11/xorg.conf ... in that last log the simpledrm device was still active and your only attempts at using "nvidia_drm.modeset=1 nvidia_drm.fbdev=0" were with kernels where the effect we're looking for was temporarily disabled. If you add those parameters again now that you're booting a current 6.12.8 kernel, do you still have this issue?
Offline
I deleted xorg.conf and tried "nvidia_drm.modeset=1 nvidia_drm.fbdev=0". It doesn't change anything. But I tried "nvidia_drm.modeset=0" and it allowed me to see the whole boot process and the virtual terminal! Now I only get a black screen after manually starting X, and here is the updated Xorg.0.log - http://0x0.st/8-9I.txt
Offline
You're probably getting output from the simpledrm device - if you dont start X11 but run "nvidia-smi", do you get a response from the GPU?
Replace nvidia-open w/ nvidia and add "nvidia_drm.modeset=1 nvidia.NVreg_EnableGpuFirmware=0" to the kernel parameters (the sedcond one will not work w/ nvidia-open, but there've recently been a couple of threads w/ the gsp breaking output)
Offline
Yes, I get
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77 Driver Version: 565.77 CUDA Version: 12.7 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3050 Off | 00000000:0A:00.0 Off | N/A |
| 0% 39C P0 17W / 70W | 1MiB / 6144MiB | 3% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
But replacing nvidia-open with nvidia and adding suggested options did not change the behavior.
Offline
Can you please post the complete system journal from that boot?
Do you have the opportunity to ssh into the system (so we can inspect if "live" while it's notworking™)?
Offline
Offline
Have we actually ever seen an attempt w/ the holy trifecta "nvidia_drm.modeset=1 nvidia_drm.fbdev=0 nvidia.NVreg_EnableGpuFirmware=0" - resp. journal and X11 log for that?
"nvidia_drm.modeset=0" is not a good solution but what's worse is that the simpledrm device might skew the visual results (ie. you're running the console on it but then when X11 starts you're facing whatever problem there exists w/ the nvidia setup)
Offline
Looks like I haven't tried all three at the same time. I'll try today and post a log.
Offline
Welcome "nvidia_drm.modeset=1 nvidia_drm.fbdev=0 nvidia.NVreg_EnableGpuFirmware=0"
Offline
And from your lack of enthusiasm I assume the screen likewise stays black from the get-go?
What's up w/ v4l2loopback and vmware? Can you easily skip those? Are you trying to provide VNC access to the system or so?
(There's really no indication for an error, so we've to look at what's "odd")
Offline
Sorry, I had so much work tasks this week. The lack of enthusiasm is really the lack of time. So yes, the behavior is exactly the same with these three options. The screen turns black while boot process at about the same time when screen blinks and changes resolution while normal boot process.
I removed vmware and v4l2loopback and repeated all the steps, but no success. Then I did a full system update, kernel upgraded from 6.12.8 to 6.12.9 and tried both boot with and without options, and got the same result. However, journalctl showed me that I booted without options both times! I did it again and got the same thing. On 6.12.9, journalctl gives me a log as if I am passing it without options. So this is the log from 6.12.8 - https://gist.github.com/dzusan/a975ad49 … 55390dc3ea
Also I tried nvidia-open again with 6.12.9 but no luck.
I was confused by this line. It started appearing at every boot, regardless of the kernel version and options.
nvidia: module verification failed: signature and/or required key missing - tainting kernel
Offline
The kernel taint is normal for OOT (proprietary or not) modules.
No idea whether it's any relevant but after reaching the GUI target you're running and failing
Jan 19 11:37:02 hellserver systemd[1]: Reached target Graphical Interface.
Jan 19 11:37:02 hellserver systemd[1]: Startup finished in 21.739s (firmware) + 1min 44.182s (loader) + 20.278s (kernel) + 12.756s (userspace) = 2min 38.956s.
Jan 19 11:37:03 hellserver hass[1042]: Traceback (most recent call last):
Jan 19 11:37:03 hellserver hass[1042]: File "/srv/homeassistant/bin/hass", line 5, in <module>
Jan 19 11:37:03 hellserver hass[1042]: from homeassistant.__main__ import main
Jan 19 11:37:03 hellserver hass[1042]: ModuleNotFoundError: No module named 'homeassistant'
Jan 19 11:37:03 hellserver systemd[1]: homeassistant@homeassistant.service: Main process exited, code=exited, status=1/FAILURE
Jan 19 11:37:03 hellserver systemd[1]: homeassistant@homeassistant.service: Failed with result 'exit-code'.
Then there's
https://raw.githubusercontent.com/torva … /fbcon.rst
and
https://www.kernel.org/doc/Documentation/fb/modedb.rst
You could try to use a mode you know your monitor supports.
The most interesting aspect of fbcon.rst is "fbcon=map:0123" which will allow you to bind different TTYs to different drivers (not that there're many left…) and access those via ctrl+alt+f1,f2,f3,…
Last thing: the HDMI cable. Does your GPU/monitor provide other in/outputs? Preferably VGA?
Offline
First I removed homeassistant and some other unused packages, but it didn't help with nvidia.
Then I connected a tiny cheap display to the GPU via HDMI and it worked! It was the cutest arch I've ever seen lol https://imgur.com/a/N99WE6p X worked fine without any boot option. When I plugged the HDMI cable back into the main monitor it said "Out of range".
I tried to set boot option and got a VT under nvidia driver.
video=HDMI-A-1:1920x1080@60
But that's where the success ended. startx caused a black screen. Generated and manually edited xorg.conf did not help, although I don't know how to do it correctly. Full resolution did not work with the terminal either. I tried the following, and it caused black screen, as always.
video=HDMI-A-1:2560x1440@60
video=HDMI-A-1:2560x1440@59.95
video=HDMI-A-1:1920x1440@60
The following FYI
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 565.77
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "HDMI-A-1"
VendorName "Unknown"
ModelName "Unknown"
Option "DPMS"
HorizSync 60.0-60.0
VertRefresh 60.0-60.0
Option "PreferredMode" "1920x1080_60"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
DVI-D-1 disconnected primary (normal left inverted right x axis y axis)
HDMI-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 708mm x 398mm
2560x1440 59.95*+
1920x1440 60.00
1856x1392 60.01
1792x1344 75.00 60.01
2048x1152 59.90 59.91
1920x1200 59.88 59.95
1920x1080 59.97 59.96 60.00 50.00 59.94 59.93 24.00 23.98
1600x1200 75.00 70.00 65.00 60.00
1680x1050 59.95 59.88
1400x1050 74.76 59.98
1600x900 59.99 59.94 59.95 60.00 59.82
1280x1024 75.02 60.02
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1280x800 59.99 59.97 59.81 59.91
1152x864 75.00
1280x720 60.00 59.99 59.86 60.00 50.00 59.94 59.74
1024x768 75.05 60.04 75.03 70.07 60.00
960x720 75.00 60.00
928x696 75.00 60.05
896x672 75.05 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
832x624 74.55
960x540 59.96 59.99 59.63 59.82
800x600 75.00 70.00 65.00 60.00 72.19 75.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
720x576 50.00
700x525 74.76 59.98
800x450 59.95 59.82
720x480 60.00 59.94
640x512 75.02 60.02
700x450 59.96 59.88
640x480 60.00 75.00 72.81 75.00 60.00 59.94
720x405 59.51 58.99
720x400 70.08
684x384 59.88 59.85
640x400 59.88 59.98
576x432 75.00
640x360 59.86 59.83 59.84 59.32
512x384 75.03 70.07 60.00
512x288 60.00 59.92
416x312 74.66
480x270 59.63 59.82
400x300 72.19 75.12 60.32 56.34
432x243 59.92 59.57
320x240 72.81 75.00 60.05
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 disconnected (normal left inverted right x axis y axis)
Offline