#[Solved] Black screen after logout (KDE X11)
117 messages Β· Page 1 of 1 (latest)
Do you use sddm?
yes
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
@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
Thanks, I'll try that π
Did it work?
Haven't tried yet. Will be back home in an hour or two so I'm gonna try then
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
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
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
I do yes π
I'm a bit busy with other stuff right now so need to continue with this later, maybe in an hour or so. btw what is the mkinitcpio?
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
ah I see
now I have amd-ucode and updated the mkinitcpio
http://0x0.st/8JZN.txt
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
sudo: dmidecode: command not found
its fine, my power is very stable
ok great. re the dmidecode, you can run sudo pacman -S dmidecode and try again
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
that took a while but just got it updated
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
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 π
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
yeah I checked that earlier, don't seem like I have grub anyware
not a problem, let's try the supergrub approach as it's pretty easy to use and always good to have handy
you can download it from here https://sourceforge.net/projects/supergrub2/files/2.06s4/super_grub2_disk_2.06s4/supergrub2-2.06s4-multiarch-USB.img.zip/download
Boots into many systems and GRUB2 ones!
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
and if you don't have either, you can use etcher https://etcher.balena.io/
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
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 ππΌ
no worries at all, have a great night! π
I'm back on arch linux now, what do I need to do to re-setup grub?
cool, execute for me a 'mount |grep boot' and let's see the output of that
@fierce arrow
/dev/sdb1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
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
alright done, now just reboot?
yeah, let's reboot and get a copy of journalctl -u sddm | curl -F 'file=@-' 0x0.st once you're back
There we go, I forgot where in my bios to switch from windows bootloader to grub π
http://0x0.st/8JS1.txt
the logout seems to be fixed now too π
I didn't get a black screen anymore
cool, want to try it out a few more times just to be sure?
sure π
i don't see the cpu rand error anymore so that's definitely a good thing π
maybe its not fully working, I left my pc while I did some chores and when I came back it had gone to sleep which is expected but when I woke it up it was stuck on black screen again but this time I couldn't even change to another tty with ctrl + alt + 1-6
alrighty, mind grabbing a copy of `cat /etc/sddm.conf.d/kde_settings.conf | curl -F 'file=@-' 0x0.st @fierce arrow
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
I just noticed this when I was trying to look for what the options session allows is. Maybe this is the cause to my problem, sounds like it atleast π€
https://wiki.archlinux.org/title/SDDM#Black_screen_after_logout_with_NVIDIA_graphics_card
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
do I need any specific packages for this? idk if I have the correct once installed, this is what I got:
lib32-nvidia-utils 570.144-1
nvidia 570.144-3
nvidia-lts 1:570.144-4
nvidia-utils 570.144-3
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
that gave a couple of results but I assume this is what ur after VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070 Rev. A] (rev a1) (prog-if 00 [VGA controller])
should I have the nvidia-open versions instead then?
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
same result
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)
alright sweet
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
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
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
yeah I did sudo pacman -Syu and now it worked π
sweet π
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?
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
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
this?
yeah, that looks correct
also changed the kde_settings.conf to point to plasmax11?
yes π
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?
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
gotcha thanks π
lionel_hutz6990 received a thank you cookie!
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 π
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
really no need to tweak it as its loaded into ram, then loaded out once the actual kkernel loads
I assume it worked since its saying nvidia stuff?
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
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
ππΌ
do I need to run anything to refresh it or it is done just from creating the file?
just creating the file will do