#[Solved] Black screen after logout (KDE X11)

117 messages Β· Page 1 of 1 (latest)

fierce arrow
#

I'm using KDE Plasma, I'm not sure why this started happening. It worked like an hour or two ago but now it just gets completely black and I need to enter a different virtual console and reboot to get back into the gui

stuck jay
#

Do you use sddm?

fierce arrow
#

yes

fierce arrow
# stuck jay Do you use sddm?

At first it seemed to work fine when I logged out but I remember messing around with the config a little cus I wanted to set it to default to x11 instead of wayland but I think after that I started getting black screen on logout

inland jacinth
#

@fierce arrow it would be best to check ls /etc/sddm.conf.d. if you configured it via the wiki you'll have a /etc/sddm.conf.d/10-wayland.conf and can simply delete that then run a sudo systemctl restart sddm. you should also check /etc/sddm.conf.d/kde_settings.conf or any other config files yuou have there, as sddm themes aren't always compatible with wayland. here's how to configure it with the default breeze theme:

#

[Theme]
Current=breeze

#

just be sure the breeze theme is installed via sudo pacman -S breeze

fierce arrow
#

Thanks, I'll try that πŸ˜„

stuck jay
fierce arrow
#

Haven't tried yet. Will be back home in an hour or two so I'm gonna try then

fierce arrow
#

doesn't seem to work 😦

#

there was no /etc/sddm.conf.d/10-wayland.conf at all but the /etc/sddm.conf.d/kde_settings.conf had autologin with session and user left blank so I thought that might have messed up stuff but when I filled those out it still happened

inland jacinth
#

Alrighty, try getting us a copy of the sddm logs to see if we can spot what the issue is journalctl -u sddm | curl -F 'file=@-' 0x0.st @fierce arrow

inland jacinth
#

Hmm, I do want to tackle this before we move on

May 05 20:42:36 Quasar sddm[6702]: WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffff```
#

I take it you have an AMD cpu?

#

If you have an AMD cpu, do a sudo pacman -S amd-ucode. otherwise do sudo pacman -S intel-ucode for intel. Then edit /etc/mkinitcpio.conf as root and add 'microcode' to the hooks array before 'autodetect'. Example: HOOKS=(systemd microcode autodetect modconf kms keyboard sd-vconsole block filesystems fsck). Afterwards, run a sudo mkinitcpio -P and reboot, let us know what the status is and get us fresh sddm logs: journalctl -u sddm | curl -F 'file=@-' 0x0.st @fierce arrow

fierce arrow
fierce arrow
inland jacinth
#

of course @fierce arrow, take your time. mkinitcpio regenerates the initial ramdisk and the initial ramdisk is basically a linux kernel that loads prior to the actual kernel to do things like hw configuration and loading of drivers. what we're doing with that command is telling it to rebuild your initial ramdisk because we modified its configuration to include your processor's latest firmware so that the firmware gets baked into the ramdisk. this is basically why you have to reboot after that command

fierce arrow
#

ah I see

fierce arrow
inland jacinth
#

Bummer, that appears not to have been enough. We'll take a more aggressive approach via a motherboard firmware upgrade. Can you get me the output of sudo dmidecode|grep -v -i serial|curl -F 'file=@-' 0x0.st and I'll give you instructions on how to proceed. There is some risk involved, as a power outage during a firmware upgrade may result in some issues, so I just wanted to ask if you're okay with proceeding. I can make myself available through a call if you feel more comfortable performing it that way @fierce arrow

fierce arrow
fierce arrow
inland jacinth
#

ok great. re the dmidecode, you can run sudo pacman -S dmidecode and try again

fierce arrow
inland jacinth
#

Alrighty, so you can download your latest bios from here https://download.msi.com/bos_exe/mb/7C02v1J5.zip. (I grabbed it from https://www.msi.com/Motherboard/B450-TOMAHAWK/support#bios in case you want to verify the link). It comes as a zip file that you can extract and you can place the resulting file 7C02v1J5/E7C02AMS.1J5 on a fat32 formatted flash drive. Then you'd reboot and hit 'delete' and enter the M-flash utility where you can pick that E7C02AMS.1J5 file. Quick note, upgrading your firmware generally clears all variables saved to your firmware. This means that if you have a bootloader entry via a variable (for example, one pointing to grub), the system will no longer load the grub bootloader after the firmware upgrade. To make sure a system can boot after such an occurrence, firmwares typically scan a fallback location (which is generally EFI/BOOT/BOOT64.EFI), so we'll do do things to avoid this, 1) make sure the fallback file exists, and 2) have a copy of an arch usb ready just in case the fallback doesn't work. Assuming your ESP is /boot, If you're using grub you can check for the existence of this file ls /boot/EFI/GRUB/grubx64.efi and if you're using systemd-boot, you can check /boot/EFI/systemd/systemd-bootx64.efi. once you determine which one exists, you'd copy it over to the fallback location, e.g. for systemd sudo cp /boot/EFI/systemd/systemd-bootx64.efi /boot/EFI/Boot/bootx64.efi (note anything on the ESP is case insensitive, so don't worry about BOOTX64.efi vs bootx64.efi). Once the fallback file for your bootloader exists, you can proceed to reboot and do the firmware update

fierce arrow
inland jacinth
#

Cool, let's grab the latest sddm logs journalctl -u sddm | curl -F 'file=@-' 0x0.st as well as your kernel and boot logs just to see where we are at journalctl -k -b0 | curl -F 'file=@-' 0x0.st

fierce arrow
#

wait I didn't quite understand the part with fallback and all that, and now I can't find grub anymore like you mentioned, it's just booting to my windows drive instead πŸ’€

inland jacinth
#

No worries, let me check your mobo manual real quick, sometimes it's a little easier to recover your bootloader if it allows for configuration there

#

okay, so it doesn't appear to have an option to manually specify the bootloader but we'll check if it detects it real quick. reboot and hit delete to go into the bios, then under boot see if you get a 'GRUB' under any boot options and if you do make that one top priority. if you don't see GRUB, check if you have another entry like UEFI OS (basically anything that isn't Windows) and prioritize that one first. if you can't get to go after this, i'll be workiong on the next steps in the meantime and will have them available for you shortly

fierce arrow
#

yeah I checked that earlier, don't seem like I have grub anyware

inland jacinth
#

not a problem, let's try the supergrub approach as it's pretty easy to use and always good to have handy

#

you'll want to extract the zip so that you're left with the .img file and use something to get that on a flash drive. if you have ventoy even better, you just copy/paste that to your exFat directory. if you've used rufus, be sure to select that img, as well as a GPT partition table for your flash drive

#

You'll create the flash drive using the tool if your choice. then reboot and hit f10 to get your boot menu(may be a different key). be sure to select the UEFI entry for your flash drive

#

once booted, you'll see a few menus. if you're using btrfs, select 'enable all native disk drivers' and then 'detect and show methods', otherwise just do 'detect and show methods'

#

it should eventually find your grub.cfg and you'll find a grub menu that looks like the one you're used to that says "Boot archlinux with linux" as you scroll down. if you dont see that, you should at least see it being able to detect a vmlinuz-linux kernel. choose that one as a last resort. then let me know when you're in, we'll re-setup grub, verify that works, and then grab those logs

fierce arrow
#

I think I'm gonna have to continue tomorrow. I lost track of time and its almost 2am for me now and I need to get to bed so I'm not a zombie at work tomorrow haha. But I'll continue with it tmrw when I get back from work

#

Thanks for all the help btw, I really appreciate it πŸ™πŸΌ

inland jacinth
#

no worries at all, have a great night! πŸ™‚

fierce arrow
inland jacinth
#

cool, execute for me a 'mount |grep boot' and let's see the output of that

#

@fierce arrow

fierce arrow
#

/dev/sdb1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

inland jacinth
#

alrighty, do a sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB and then hit the up arrow and append a space and --removable so that you run the same command but with the --removable flag

#

the removable flag will simply install grub to the fallback location at EFI/BOOT/bootx64.efi whereas the first one will set that EFIVAR that got deleted

fierce arrow
#

alright done, now just reboot?

inland jacinth
#

yeah, let's reboot and get a copy of journalctl -u sddm | curl -F 'file=@-' 0x0.st once you're back

fierce arrow
#

the logout seems to be fixed now too πŸ˜„
I didn't get a black screen anymore

inland jacinth
#

cool, want to try it out a few more times just to be sure?

fierce arrow
#

sure πŸ™‚

inland jacinth
#

i don't see the cpu rand error anymore so that's definitely a good thing πŸ™‚

fierce arrow
inland jacinth
#

alrighty, mind grabbing a copy of `cat /etc/sddm.conf.d/kde_settings.conf | curl -F 'file=@-' 0x0.st @fierce arrow

fierce arrow
#

@inland jacinth

inland jacinth
#

try changing Session to plasmax11 @fierce arrow it may be crashing there as it doesn't know what to start

#

though this may be a different issue, let's reget the sddm logs to check there journalctl -u sddm | curl -F 'file=@-' 0x0.st as well as your system logs journalctl -k -b0 -b1 | curl -F 'file=@-' 0x0.st @fierce arrow

fierce arrow
inland jacinth
#

it could possibly be that as well , we'll do both πŸ™‚

#

for the second one, you can sudo nano /etc/mkinitcpio.conf

#

and under MODULES=(), make sure it's uncommented and set MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) if it's not currently set or append them to the MODULES array

#

then run a sudo mkinitcpio -P and reboot

fierce arrow
inland jacinth
#

leme check your card, can you run a sudo lspci -v|grep -i nvidia -B22 @fierce arrow

#

if you don't get anything from that btw, try sudo lspci -v|grep -i vga -A27

fierce arrow
#

should I have the nvidia-open versions instead then?

inland jacinth
#

hmm, can you try the lspci with the vga command? i do think it looks like open is preferred here, but i just want to make sure you don't have an integrated card or another dedicated gpu

inland jacinth
#

ok cool, yeah in that case doing a sudo pacman -S nvidia-open nvidia-open-lts should get you the correct driver and uninstall the other ones

#

you can skip the dkms one for now (it will be necessary if you install other kernels though, but the -linux and -linux-lts should suffice for most cases and are supported)

fierce arrow
#

alright sweet

inland jacinth
#

let me just double check that the module's still called nvidia for nvidia-open, for now proceed to install and i'll let you know if you need to modify the modules array

#

cool, looks like it is

fierce arrow
#

I get a bunch of errors like this

error: failed retrieving file 'nvidia-open-lts-570.144-4-x86_64.pkg.tar.zst' from us.arch.niranjan.co : The requested URL returned error: 404
error: failed retrieving file 'nvidia-open-570.144-3-x86_64.pkg.tar.zst' from us.arch.niranjan.co : The requested URL returned error: 404
error: failed retrieving file 'nvidia-open-lts-570.144-4-x86_64.pkg.tar.zst' from nl.arch.niranjan.co : The requested URL returned error: 404
inland jacinth
#

hmm, try sudo pacman -Syy first, then do the same command. i think what's happening is that the current package database refers to an older version and the mirror got updated recently with a newfile name, so you just gotta sync the current databasee to reflect what's actually on the mirrors

#

wouldn't hurt to do do a full update after that via 'sudo pacman -Syu' just cuz everything gets so updated with arch lol

fierce arrow
#

yeah I did sudo pacman -Syu and now it worked πŸ™‚

inland jacinth
#

sweet πŸ™‚

fierce arrow
#

now I did mkinitcpio -P and then reboot, is there a way to verify that it is correct after or I'll just have to try and logout or put the pc to sleep to see if it works?

inland jacinth
#

let's see, can you get me the modules array from /etc/mkinitcpio.conf

#

i think there's a way to double check which modules are present in the initramfs, leme see

fierce arrow
#

this?

inland jacinth
#

yeah, that looks correct

#

also changed the kde_settings.conf to point to plasmax11?

fierce arrow
#

where did you see that the right input is plasmax11 btw?

#

also I've been reading through a bit of the arch wiki but there still seem to quite a bit of unknown concepts that I would like to learn more about, for example all the things we did with grub to get that setup I don't really understand but would like to know more and the same goes with mkinitcpio. But so far I haven't seen much about these things on the wiki. Do you have any advice on where I should look to get a better understanding of how the system works and what other stuff are happening in?

inland jacinth
#

no worries, so i got it from the autologin page for sddm on the wiki https://wiki.archlinux.org/title/SDDM#Autologin sayiing to ls /usr/share/xsessions/ and from your sddm logs that you were starting an X11 session May 06 21:21:29 Quasar sddm-helper[751]: Starting X11 session: "" "/usr/share/sddm/scripts/Xsession \"/usr/bin/startplasma-x11\""

#

hmm, i honestly think troubleshooting will really give you a better understanding of how things work. you can start off sort of 'memorizing' what's going on in the support tickets here and what happens to resolve it but then you can start googling things like 'what is grub?' and 'what is a bootloader' 'how does the uefi boot proccess work' (can always ai it lol, but better to try to read a wikipedia explanation first)

#

i think as you resolve more and more issues/understand things like kernel modules/drivers it'll start making more and more sense

#

using other linux distros as well should also help as you'll take some things for granted/see how it all actually works when using arch

#

so maybe sometime in a VM or another drive if you have one, trying out a temporary *buntu distro and then a fedora one and then comparing it to arch in terms of how you got your stuff working

digital wingBOT
#

lionel_hutz6990 received a thank you cookie!

fierce arrow
# inland jacinth so maybe sometime in a VM or another drive if you have one, trying out a tempora...

I currently have Windows on my main drive still cus I need it for work but will be trying to move off it as soon as I can. I have arch on my 2nd ssd currently to experiment and figure stuff out then when I get a better understanding I plan to go all in on linux and install that as my main. I installed virtual box on my windows install too the other day cus I wanted to try out different desktop environments and window managers without needing to reset the arch install on my drive everytime I wanna test stuff. So I'll do some testing with other distros on there too then I think πŸ˜„

inland jacinth
#

cool, i did end up seeing what's in the initramfs if you do want to try it. you'd do a sudo pacman -S cpio; mkdir ~/initramfs; sudo cp /boot/initramfs-linux.img ~/initramfs/.; cd ~/initramfs; cpio -vtiF initramfs-linux.img > file.txt

#

and then you'd open that file.txt in a text editor that will be in your home directory/initramfs-linux.img

#

all that really does is copy your initramfs to your home directory (you don't actually need to do that but id rather not accidentally break anything lol). and if you search nvidia you should see the nvidia kernel module that's present

#

there's a bunch of other files present that may not actually be needed but are loaded so that most cases are covered

inland jacinth
#

really no need to tweak it as its loaded into ram, then loaded out once the actual kkernel loads

fierce arrow
#

I assume it worked since its saying nvidia stuff?

inland jacinth
#

yeah these are it -rw-r--r-- 0 root root 68291 Jan 1 1970 usr/lib/modules/6.14.5-arch1-1/extramodules/nvidia-drm.ko.zst
-rw-r--r-- 0 root root 924186 Jan 1 1970 usr/lib/modules/6.14.5-arch1-1/extramodules/nvidia-modeset.ko.zst
-rw-r--r-- 0 root root 920494 Jan 1 1970 usr/lib/modules/6.14.5-arch1-1/extramodules/nvidia-uvm.ko.zst
-rw-r--r-- 0 root root 5511428 Jan 1 1970 usr/lib/modules/6.14.5-arch1-1/extramodules/nvidia.ko.zst

#

lol, my fallback has nvidia firmware for some reason

inland jacinth
#

if you haven't already btw, you should enable the pacman hook, https://wiki.archlinux.org/title/NVIDIA#pacman_hook. just delete Target=linux and make the last line read Exec=/bin/sh -c '/usr/bin/mkinitcpio -P' though i think just Exec=/usr/bin/mkinitcpio -P should work but the first will for sure

#

nvm, it will lol

fierce arrow
#

πŸ‘πŸΌ

#

do I need to run anything to refresh it or it is done just from creating the file?

inland jacinth
#

just creating the file will do