[RESPONDED] Framework 16 (with GPU) - Debian 12 - Crashing on window resize

So far setup on the 16 has been fine but I’m currently experiencing regular crashes.

At first it seemed GPU related as the output of journalctl -p3 -r was showing that amdgpu/gc_11_0_1_mes_2.bin was missing. So I installed firmware-amd-graphics and that seemed to do the trick for that.

However, I keep getting regular crashes when I try and resize a Firefox window (or some other windows) and I’m not sure where to even look

Any ideas?

2 Likes

Install the latest upstream GPU firmware to start (not just the missing bin files).

3 Likes

I think I might be a complete idiot because I’m not seeing any available drivers or firmware for the 7700s that I can readily download from AMD.

And what I can find, they specifically call out Ubuntu, RHEL, and SLED/SLES (not to say that it couldn’t work on other distros, but still).

Am I still missing something obvious? lol

2 Likes

The amdgpu directory there.

2 Likes

It’s not related to your issue, but I wonder where would Debian on FW16 related information be kept and maintained. Here on forum (like [GUIDE] Debian 12 (Bookworm) Works Great on 13th Gen (Intel) Framework 13), framewiki.net, somebody would create a github repo, wiki.debian.org/InstallingDebianOn/FrameWork?

1 Like

Getting something on the Debian wiki from the community would be ideal.

1 Like

I’m not much of a wizard. What do I do with the files in the amdgpu folder on this gitlab?

1 Like

Main location for firmware files is /lib/firmware/. Issue command dmesg | grep firmware to find out which files are loaded.

1 Like

Experienced similar issues initially. Here’s what I did that (at least for a couple of hours now) resolved these issues:

  • I copied the amdgpu folder from the mentioned firmware repo.
  • I added the backports repo as documented here: Instructions
  • After an sudo apt update I searched for a more recent Linux kernel with apt search linux-image
  • I installed the latest signed image available at the time of writing:
    sudo apt install linux-image-6.6.13+bpo-amd64/stable-backports
  • You can ignore the “missing firmware errors” and after installation is completed, just reboot.
4 Likes

(FW16 w/ GPU) Does this apply to LMDE 6 as well? It installed well, but after about 10 minutes, everything froze up. I’m sort of a newbie with all of this and did not think about any of the things mentioned above.

2 Likes

This is unfortunate. Although I figure I’ll run Testing (aka Trixie for now), to get the newer kernel & KDE Plasma (hopefully 6 will be in there in the next few months).

2 Likes

How do I copy the amdgpu folder from the firmware repo?

1 Like

I believe the folder is amdgpu · main · kernel-firmware / Linux Firmware · GitLab, so if you look at the upper right you see the blue Code button with a down arrow? Click that, and click the Download Folder to download the contents of the directory in your particular choice of format.

I’d extract that locally into a temp folder, in case it download without the parent amdgpu being automatically created. Then copy/move the file(s) into place where they belong.

2 Likes

Is this the folder you copy to?:

Do you copy the whole AMDGPU folder, or just it’s contents there?

Thanks!

Edit, I figured it out. For those like me that need it really spelled out:

Yes /lib/firmware is the correct folder, and you move the actual folder AMDGPU there, not just it’s contents.

1 Like

Hi everybody, I want to put a fine point on this issue/resolution as I ran into this issue myself. I’m running Debian 12 (Bookworm) on my Framework 16 with an AMD Ryzen 7 7840HS w/ Radeon 780M Graphics. On install, I got the following error in my dmesg:

amdgpu 0000:c1:00.0: firmware: failed to load amdgpu/gc_11_0_1_mes_2.bin (-2)

Any programs that used GPU would cause a my GUI to freeze and crash, often forcing me into TTY. I saw Firefox-ESR and Wayland both trigger this issue. The general error on crash looked like this:

kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, signaled seq=35557, emitted seq=35559
kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process firefox-esr pid 8531 thread firefox-es:cs0 pid 8640
kernel: amdgpu 0000:c1:00.0: amdgpu: GPU reset begin!
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:mes_v11_0_submit_pkt_and_poll_completion.constprop.0 [amdgpu]] *ERROR* MES failed to response msg=3
kernel: [drm:amdgpu_mes_unmap_legacy_queue [amdgpu]] *ERROR* failed to unmap legacy queue
kernel: [drm:gfx_v11_0_hw_fini [amdgpu]] *ERROR* failed to halt cp gfx

If you are experiencing this issue the solution is as follows:

Press CTRL+ALT+F3 to access TTY. If you’re Fn lock is activated, de-activate it first.

Login with your normal credentials.

Download the AMDGPU folder from the above link, use this command:

wget https://gitlab.com/kernel-firmware/linux-firmware/-/archive/main/linux-firmware-main.zip?path=amdgpu

If you’ve already added user account to the sudoers file, use sudo, otherwise elevate yourself to root:

su

I’m a little fuzzy on if there was an amdgpu directory on my fresh install of Debian, so as sudo or root, try and create /lib/firmware/amdgpu. If it doesn’t exist, it will create the directory, if it does, it will give you an error and that’s OK, then we can move on to the next step. The command is as follows:

mkdir /lib/firmware/amdgpu

Next step: As sudo or root, move the amdgpu file to /lib/firmware

mv ./amdgpu/* /lib/firmware/amdgpu/

As sudo or root, rebuilt your initramfs (this is CRUCIAL):

update-initramfs -u

There will be some errors, that’s OK.
Now reboot.

This should resolve the issue. I don’t believe there is a need to upgrade to a newer kernel via Debian backports as is listed above.

5 Likes

Aaaa!! Thank you!

I “upgraded” my firmware about three weeks ago and I was still getting random crashes (on the 13" version, so I never noticed this thread). Last week I updated to BIOS 3.05 and the most frequent type of crashes I experienced have stopped, so I was happy to finally have some peace and considered the amdgpu issues solved. Until it crashed again today, after 9 days of uptime…

While researching the issue some more before posting, I finally happened to run into this thread. I had no idea that the initrd must be regenerated, so I have been running on old GPU firmware the whole time…

Debian wiki seems to have disabled account creation, so I contacted them via e-mail to try and get the information on the FW 13 AMD 7040 series page, where it could be a little more discoverable.

This worked for me, but I was confused at the first bullet point, so I’ll restate that for others.

First, you go to the firmware repo, then click on amdgpu (or you can just click this and you’ll be there already). Once there, click the Code button on the top right. Below Download Source Code choose the compression of choice; I chose zip. Download it to the directory of your choice, uncompress it, then navigate to the directory that produces (should be named something like linux-firmware-main-amdgpu). Inside that directory should be another directory named amdgpu.

Now, run the command ls /lib/firmware | grep amdgpu. You’ll notice that that directory has the exact same name as the directory found in that zipped file!

Now, run sudo rm -r /lib/firmware/amdgpu. Be careful, because after this step you have committed! Then, run sudo cp path/to/unzipped/amdgpu /lib/firmware. Then, follow Paul_Krischer’s instructions from the second bullet point.

So, I’ve used this specific solution twice (had to reinstall my system at one point), and I noticed something.

The first time I implemented this solution, it solved my problems related to electron based apps and extra display ports. However, I was not able to connect to local network domains with the .local domain extension. I also was not able to use Charles proxy interception over WiFi. I also wasn’t able to use HTTP Toolkit’s “Android Device via QR code” feature (which intercepts Android traffic on your machine, behavior is similar to this video except it’s via WiFi rather than ADB).

When I had to reinstall my system, I was able to use HTTP Toolkit’s “Android Device via QR code” feature. However, After I implemented Paul_Krischer’s solution a second time, copying the amdgpu folder from the firmware repo and using linux-image-6.11.5+bpo-amd64/stable-backports in place of his linux-image-6.6.13+bpo-amd64/stable-backports, I was no longer able to use HTTP Toolkit in this way, although again it solved the problems I was having with Electron apps and multiple displays.

I am guessing that the amdgpu folder probably had nothing to do with this, but I am not sure. Do we believe that this could be related to copying the amdgpu folder, or would it be related to updating the Linux image? I can probably live with this for a time, but I don’t like that certain network related tasks are no longer available.

EDIT: I did indeed go back to linux-image-6.1.0-27-amd64:amd64, and now HTTP Toolkit does indeed work. This indicates that the Linux image DID INDEED have a lot to do with this. In light of this, I recommend that you follow @Mark-D’s advice and run sudo update-initramfs -u INSTEAD OF adding the backports repo and installing the latest backports Linux image, like @Paul-Krischer recommended.