I have AMD Ryzen 5600G CPU with no external GPU. It was working fine prior to the last update.
I have tried to log into the system with another live usb with manjaro-chroot. From there I have looked into /lib/firmware/amdgpu and saw a file named green_sardine_sdma.bin.zst
Anyway I have tried to remove the .zst extension from that file and boot again. This time the system didn’t throw that error and went upto Started Gnome Display Manager and some other messaged after that. But then it gets stuck in this screen (blinking cursor)
I don’t know what else to do other than reinstalling the OS. But I really don’t want to go into that route unless I have to. Help would be much appreciated. Thanks!
Just removing the extension won’t change the file.
It is a compressed file -
you could have unpacked/decompressed it
and ended up with a file with the suffix .bin
and thereby with the file name that was not found.
unzstd file_name
No chroot needed to do this - just mounting is enough.
In my stable installation, none of these firmware files are compressed.
They all have the .bin extension.
But you are on testing - I would not have expected this change, this difference.
You could always just revert back to stable branch - no?
The system I just looked at was Manjaro Gnome, installed in a VM about a week or two ago.
The iso used was this: manjaro-gnome-23.1.4-minimal-240406-linux66.iso
I thought that was just the kernel modules - this is firmware.
About the extension, it was just a hunch to see where else it might fail. Because changing the extension will not change the binary I could easily revert it back.
I have reverted it back since then.
It is infact an old installation. More than a year at this point.
I suppose I could try that. In that case I have to downgrade all my packages to the latest stable versions as well, right? Otherwise nothing changes until the stable branch catches up.
By the way it is not like I have just switched to testing branch, I am on testing for as long as the system is alive. And also this doesn’t shed any light on where the actual problem is. It was all okay before the last update.
I’d first have a look at the pacman cache - you might still have the previous version of linux-firmware
For me on stable this is: linux-firmware-20240220.97b693d2-1-any.pkg.tar.zst
ls -al /var/cache/pacman/pkg/linux-firmware-* ✔
-rw-r--r-- 1 root root 130751118 21. Feb 16:20 /var/cache/pacman/pkg/linux-firmware-20240220.97b693d2-1-any.pkg.tar.zst
-rw-r--r-- 1 root root 310 21. Feb 16:20 /var/cache/pacman/pkg/linux-firmware-20240220.97b693d2-1-any.pkg.tar.zst.sig
-rw-r--r-- 1 root root 36087 21. Feb 16:20 /var/cache/pacman/pkg/linux-firmware-whence-20240220.97b693d2-1-any.pkg.tar.zst
-rw-r--r-- 1 root root 310 21. Feb 16:20 /var/cache/pacman/pkg/linux-firmware-whence-20240220.97b693d2-1-any.pkg.tar.zst.sig
While you are at it, you could also inspect the contents of the current firmware package that presumably got installed when you switched to the testing branch.
I’d just install the “old” version - can’t hurt much: sudo pacman -U /var/cache/pacman/pkg/linux-firmware-20240220.97b693d2-1-any.pkg.tar.zst
adapt the name if needed.
Or, as mentioned above, you could just unpack the firmware .zst file
to see whether this will solve the problem.
cd /usr/lib/firmware/amdgpu
(adapt the path when not in chroot) unzstd /usr/lib/firmware/amdgpu/green_sardine_sdma.bin.zst
I just compared the contents of the linux-firmware packages between stable and testing.
In the package for stable, all the firmware files are uncompressed. linux-firmware-20240220.97b693d2-1-any.pkg.tar.zst
In the package for testing, all the firmware files are compressed. linux-firmware-20240409.1addd7dc-1.0-any.pkg.tar.zst
I got it from one of the mirrors: http://ftp.tu-chemnitz.de/pub/linux/manjaro/testing/core/x86_64/linux-firmware-20240409.1addd7dc-1.0-any.pkg.tar.zst
It is strange to me, that the testing branch - for more than a year now at least - would have a version of linux-firmware with all compressed files in it
and that this would not have made it’s way into stable in the meantime.
Because there, in the stable branch, the firmware files are all uncompressed.
If your system is more than a year old, then you should have other, older versions of the same firmware package in your pacman cache - you could look if this was a recent change (and could therefore be a cause of the problem) or if that was already the case in the previous versions.
Just look inside the archives …
Then you know and there is one less thing to worry about.
When I have time and feel like it, I will clone one of my VM’s and use that to convert to testing branch
and see what happens …
after the conversion the system works as expected - no problems
But this being in a VM there is likely no Firmware involved that could fail to load.
So: test inconclusive
You are correct these compressed files are recent addition. In pacman cache I have found two firmware one is linux-firmware-20240409.1addd7dc-1.0-any.pkg.tar.zst which has the compressed firmware files. But there is another one linux-firmware-20240409.1addd7dc-1-any.pkg.tar.zst that has the uncompressed binaries.
But what would be my next course of action? If I update the system, most likely I will face the same issue again. Should I wait for next release? Or reinstall the OS?
I can only tell you that I converted my system to testing yesterday and the procedure went without issue and the system works.
I do not know what you should look for.
You should install amd-ucode - but I don’t know whether that would change anything.
Why you would not have it on an AMD system - I don’t know.
Run another update? - Don’t know whether testing also received a large one today - be careful.
I just had the same issue when running a regular pamac upgrade on the stable branch.
I have the same CPU setup as the OP - Ryzen 5600G using integrated graphics.
I don’t have a handy recovery key so can’t fix the pacman cache. Is it a reinstall from scratch situation?