Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] Black screen with blinking cursor (Read 227 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] Black screen with blinking cursor

I don't know where to post this, but I guess since I'm using the runit distribution of Artix this might be a good place.

Distribution: with the most recent updates as of this post.
Video Card: Nvidia GTX 670
DM: LightDM

First describing the problem:
I can boot my computer just fine, and get past GRUB along with most of the initialization that the system does.
Just before the window manager/X starts, I will occasionally, and at complete random be presented with a blinking cursor and a black screen.
I am unable to type anything into the command line, and Ctrl-Alt-F2 to get into the TTY works for about a split second before the screen reverts back to the black screen with the cursor.
My only solution for the time being has been to restart and hope that I can successfully boot into a desktop environment.

I can manage to key about 1 key press in before the screen changes back, so I tried typing in startx by toggling to the tty and typing in a character just before the screen goes black again.
The server wouldn't start, and generated an error log. Here is part of the log, and I believe this is the problem, but i don't know how to correct it.

From ~/.local/share/xorg/Xorg.1.log
Code: [Select]
 [    43.300] (EE) systemd-logind: failed to take device /dev/dri/card0: Device or resource busy

From a more recent log:
Code: [Select]
[    30.901] (EE) Error systemd-logind returned paused fd for drm node

And common to both of these logs:
Code: [Select]
[    43.305] (EE) Failed to load module "nv" (module does not exist, 0)

[    43.308] (EE) NOUVEAU(0): [drm] failed to set drm interface version.
[    43.308] (EE) NOUVEAU(0): [drm] error opening the drm
[    43.308] (EE) NOUVEAU(0): 910:
[    43.308] (II) UnloadModule: "nouveau"
[    43.308] (EE) Screen(s) found, but none have a usable configuration.
[    43.308] (EE)
Fatal server error:
[    43.308] (EE) no screens found(EE)
[    43.308] (EE)
Please consult the The X.Org Foundation support
 for help.
[    43.308] (EE) Please also check the log file at "<UserHome>/.local/share/xorg/Xorg.1.log" for additional information.
[    43.308] (EE)
[    43.309] (EE) Server terminated with error (1). Closing log file.

Code: [Select]
01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 670] (rev a1)

The result is that I can sometimes boot into the operating system, and sometimes I can't, and of course it's frustrating.
Hopefully someone can be of help! Thanks.

Re: Black screen with blinking cursor

Reply #1
I have since done some research and experimenting as to why I'd get randomly stumble upon a blinking screen.

I briefly replaced LightDM with LXDM and this allowed me to see at least part of the problem.
LXDM's config starts in in "VT1" as opposed to LightDM's VT7. For whatever reason, VT7 was giving me issues.
I changed LXDM's config so it started in VT2.

I found that there was some sort of infinite loop of "1 Client Rule Loaded/Client Connected From" on tty1. This infinite loop coincided with every time that the system would boot to a blinking black screen.

I still have no idea what would cause that behaviour.

So for whatever reason, starting the desktop manager on tty7 was giving me issues

I also changed LightDM's config from:
Code: [Select]
Code: [Select]

This  seemed to alleviate the problem as well.

So changing the terminal in which either display manager was what I opted on to "fix" the black screen problem, though I ended up forgoing a DM altogether and settled on an autologin through the tty. Oh and startx ended up working just fine after I disabled all desktop manager services from starting up on boot.

It'd be nice to know why the terminal screen was behaving like this, as ultimately I haven't really found a solution to the original problem, more like a workaround... but at least I can log in consistently now.

Marking the problem solved.

Re: Black screen with blinking cursor

Reply #2

I am using the Runit flavor for Artix.  I solved this issue on my laptop by comparing sytemd service units from my previous Arch install.  This is a snippet of the lightdm.service unit file:

Description=Light Display Manager
[email protected]
[email protected] systemd-user-sessions.service plymouth-quit.service acpid.service

I noticed that lightdm conflicts with tty1.  I proceeded to unlink /run/runit/service/agetty-tty1.
I also edited the lightdm-runit run script and added 'sleep 1':

sv check dbus >/dev/null || exit 1
sleep 1
install -d -m0711 -olightdm -glightdm /run/lightdm
exec lightdm

The reason I did it this way instead of changing minimum-VT in lightdm.conf is because of the comment preceding that line:

#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799

After applying these changes, I was able to use lightdm without issues with Artix-Runit edition.


Re: Black screen with blinking cursor

Reply #3
Hey techbum, glad to see another reply in this thread

So far I've been going with a DM, and experienced none of the issues I described in the initial post.
However you you have a great find there, I will try out your suggestion for a few days, see how  the system fares and report the findings. I also changed the LightDM config file back to minimum-vt=7 for completeness sake.

Thanks for the advice.

Re: [SOLVED] Black screen with blinking cursor

Reply #4
Sorry for the bump, this should be the last post I make in this thread save for replies by other users.
The short of it is, I wasn't able to successfully use LightDM in the way techbum suggested.

Even after unlinking tty1 and changing my DM config to its defaults I'd still get the random black screens from LightDM starting in VT7. Either way I thank you for your help!

So I guess it's no DM for me, which is okay (although LXDM worked just fine). It's only my personal system, and if anything it's faster to boot up this way.

I settled on a rather makeshift script in my .bash_profile to get around this problem

Code: [Select]
if [[ ! "$DISPLAY" && "$(tty)" = "/dev/tty1" && ! "$(pgrep X)" ]]; then
printf "Changing to terminal 2\n"
chvt 2

if [[ ! "$DISPLAY" && "$(tty)" = "/dev/tty2" && ! "$(pgrep X)" ]]; then
exec startx

All this does is change tty1 to tty2 when the computer boots, and I have autologin set up on tty2 so this makes it trivial to get up and running.

If I try to startx in tty1 I'd occasionally have my mouse and keyboard lock up on me, not sure why that is, hence the switch to tty2.
Anyway that's the solution I've been going with and no complaints so far.