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
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