After quite a bit of troubleshooting through web searches, reviewing what the AI had shared with me in the past, and verifying some ideas I had, I realize I need to correct much of what I initially said.
First, the issue with ldconfig breaking my DEs does not come from compiling and installing quickshell. I don’t even think I successfully installed quickshell. The problem actually comes from minigbm, which was installed via Steam. ldconfig selects minigbm, which breaks mesalib, mesalib-32bit, and curl-gnutls-32bit (as confirmed by sudo eopkg check), and consequently, my DEs after a restart of lightdm or my PC.
My symlinks change from:
/usr/lib64/libgbm.so -> libgbm.so.1
/usr/lib64/libgbm.so.1 -> libgbm.so.1.0.0
/usr/lib64/libgbm.so.1.0.0
/usr/lib32/libgbm.so.1 -> libgbm.so.1.0.0
/usr/lib32/libgbm.so.1.0.0
to:
/usr/lib64/libgbm.so -> libgbm.so.1
/usr/lib64/libgbm.so.1 -> libminigbm.so.1.0.0.disabled
/usr/lib64/libgbm.so.1.0.0
/usr/lib32/libgbm.so.1 -> libminigbm.so.1.0.0
/usr/lib32/libgbm.so.1.0.0
after running ldconfig.
The solution is to reinstall mesalib, as I mentioned at the beginning of my post, and as sudokit also mentioned. This restores the symlinks to their original state, allowing me to access my DEs again. I also recommend properly reinstalling mesalib-32bit and curl-gnutls-32bit with the following command:
eopkg it --reinstall mesalib mesalib-32bit curl-gnutls-32bit
At first, I thought my issue wasn’t fully resolved by reinstalling mesalib, since a Flatpak app refused to work and mentioned ldconfig in its logs. But I was wrong, because it was just the Flatpak. After checking the GitHub repository issues of the application, I found a recent issue (created a week ago) addressing this exact problem, with many users reporting it after an update. From now on, for any Flatpak related issues, I will check or open an issue elsewhere, such as on GitHub, instead of posting here, because I realized that Flatpak issues have nothing to do with Solus.
I also thought my DEs were broken by my attempt to compile and install quickshell, but in reality, I had just run ldconfig while working on it. The DE issues only appeared after rebooting my PC, and they were caused by minigbm, which was installed via Steam and selected by ldconfig, overriding mesalib.
To verify this behavior, I used a VM where I ran ldconfig and then rebooted. Everything worked normally. Then, I installed Steam as an example of a program that includes minigbm, but this would apply to any program that bundles minigbm. I ran ldconfig again, and after rebooting, the DE was broken.
Now, I should have nothing to worry about, but anyone with minigbm who runs ldconfig will have a very bad time. And I’m still very curious about why ldconfig prioritizes minigbm and how to prevent this from happening.
I hope I haven’t forgotten anything. I’ll leave this thread open for a while to see if anyone has an explanation for this behavior.