Jump to content

I killed my DE by being a moron (Arch KDE)

So despite me being warned that using AMD Mesa GIT was a bad idea I used it anyway.

 

Last night KDE informed me there was a load of updates to be installed but when I tried to install them it failed on a missing dependency (Clang) which makes sense since to install Mesa GIT I had to remove Clang and install Clang GIT.

 

Not an issue I thought, I'll just remove AMD Mesa GIT. Ran the uninstall script and was told it couldn't complete because an update had been started but not finished so using pacman I forced the AMD Mesa Git update to finish (I didn't see how this could be an issue since that was the reason why I installed Clang GIT in the first place and Clang GIT is still installed).

 

The update completed with no warnings.....

 

Rebooted.......

 

System now freezes during systemd init.

 

To fix this I'm going to have to reboot to my installer and chroot the partition (not an issue) but before I even try I'm hoping someone with more experience can offer some advice because I don't want to break things even more. I spent a good few hours customising my desktop to be exactly how I wanted it.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Master Disaster said:

I spent a good few hours customising my desktop to be exactly how I wanted it.

if that's your main concern you can backup the contents of your $HOME and reinstall, then copy the files back.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

Unless something is really screwed up (such as: stuff in /etc, out-of-tree files everywhere etc.) then there is no reason to reinstall.

 

I would go as follows:

  • Remove all packages installed from AUR (pacman -Rns ...)
  • Re-install the graphics drivers as per the wiki

Based on what you've told, this is all there is to fix. In case you have indeed used packages outside Arch repositories (which it does sound like - you mention an uninstallation script!), things might get a bit more hairy. The same page I've linked above has tips on how to list files not owned by any packages, which should take care of that part, too.

 

As stated by Sauron, this is indeed a graphics driver / system issue, it has nothing to do with how your desktop is set up, as these are totally separate things to configure (as they should be in any sensible OS). All KDE/Plasma settings are hidden in your home directory (TBH they are indeed hidden quite well and in several different subdirectories, even up to an extend that if the reason to reset KDE/Plasma configuration ever arises, it is just easiest to create a new user and copy documents / other files you want to the new user account from the old one).

 

So, re-installation (by taking a backup of your home directory and restoring it) is indeed one approach (but IMHO a bit too cumbersome / time-consuming if in many cases).

Edited by Wild Penquin
Link to comment
Share on other sites

Link to post
Share on other sites

Also, after re-reading your post I noticed you are planning to use chroot.

 

That is usually not necessary in case your bootloder is working. You can pass kernel parameters so that it will not start any X.org session. The official way would be to add:

systemd.unit=rescue.target

on these modern, systemd days but "single", "1" or "s" should also work as an alias coming from sysvinit days. How you do this depends on your boot loader. See: https://wiki.archlinux.org/index.php/Systemd#Change_default_target_to_boot_into

 

This a bit less error prone than chroot (though that will, work, too, networking and bind mounts are some of the few additional complications, possibly all there is), but in case you have a non-functional Kernel, and can not even boot to rescue target, then chroot might be needed.

Edited by Wild Penquin
Link to comment
Share on other sites

Link to post
Share on other sites

On 1/20/2021 at 4:11 AM, Master Disaster said:

Not an issue I thought, I'll just remove AMD Mesa GIT. Ran the uninstall script and was told it couldn't complete because an update had been started but not finished so using pacman I forced the AMD Mesa Git update to finish (I didn't see how this could be an issue since that was the reason why I installed Clang GIT in the first place and Clang GIT is still installed).

 

The update completed with no warnings.....

Then it probably completed successfully, if your still on the Mesa-Git branch along with its git dependencies, it could have a incompatibility with the current version of QT or it could just have a game breaking bug.

 

What uninstall script did you run?

 

 

I assume your using the repo on the Arch Wiki since you pulled clang-git, you can find the packages involved here, https://pkgbuild.com/~lcarlier/mesa-git/x86_64/

From your chroot environment you will probably just need to downgrade mesa and its upstream dependencies. This is based entirely on the repo above and im away from an Arch install at the moment so I can't verify that all the package names are correct or if any are bundled, but this should put you on the right track.

pacman -S clang compiler-rt lib32-libdrm lib32-llvm lib32-llvm-libs lib32-mesa lib32-vulkan-mesa-layer lib32-vulkan-mesa-layers lib32-vulkan-radeon libclc libdrm lldb llvm llvm-libs llvm-ocaml mesa opencl-mesa vulkan-mesa-layer vulkan-mesa-layers vulkan-radeon libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau  xf86-video-amdgpu

When you go to run that, you may get stuck in a file ownership/dependency cycle. In which case you will need to append "--overwrite somethingsomething" to your pacman command, how you use that is up to you. Since we know what we are pulling and its a direct replacement/downgrade, you should be fine to use it as a global wildcard for this instance, however you may still take caution with it.

 

Then go ahead and have pacman reinstall the plasma group to make sure everything is still intact.

pacman -S plasma

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×