I installed Debian 12 on my Framework 13 AMD 7640u earlier today.
Everything worked great out of the box, except for the suspend issue mentioned on this board previously (which I was able to fix thanks to the firmware update).
I currently use a secondary monitor with my laptop, and on first boot it worked perfectly on Debian 12 using Gnome + Wayland.
However, after installing some apps I rebooted the computer, and ever since my second monitor no longer shows any picture. It is, however, still recognized in settings.
Some things I’ve tried thus far to fix it:
-Switching between HDMI and Display Port
-Re-installing AMD GPU drivers and using the non-free ones
-Logging out then re-logging in with Gnome + Xorg
-Plugging the DP/HDMI in and out
After uninstalling and re-installing the amd gpu drivers I still get the following message when I boot:
amdgpu 0000:cl:00.0: firmware: failed to load amdgpu
None of these have worked unfortunately, so I thought I’d ask here in case someone is experiencing a similar problem and/or has a solution.
I just want to double check that I’m on the right track, does this mean I need to get the updated firmware from here?
I already ran the following which confirmed that’s the firmware I’m currently on.
sudo apt-get install firmware-amd-graphics
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
firmware-amd-graphics is already the newest version (20230210-5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
From my understanding the bug report states that this version works, but my monitor issue persists.
Hi, thanks for your investigation, I’m a Debian Developer (but not working on kernel stuff) and I got my framework 13 amd yesterday, I will try to push to make this fixed ASAP.
Thanks!
When you push for getting it fixed have the whole directory snapshot get updated. Otherwise this is going to be repeated again with the 16" model and dGPU it can have.
What would the commands for this be? I’m trying to get Debian running but it goes black immediately after the login screen - it seems like this is the most likely solution but I am not super tech savvy. It’s the distro I remember using and I’m trying to give Linux a shot again.
¹ @Mario_Limonciello suggested /lib/firmware/updates/amdgpu but at first when I got firmware from git.kernel.org it did not worked. I did not checked if git.kernel.org is not updated as the gitlab repository (this snapshot from gitlab worked for me) or is something Debian specific, but anyway since I also removed firmware-amd-graphics package, the path /lib/firmware/amdgpu doesn’t exist and you can move the directory with the manually firmware.
(Not sure why intel stuff was in there, or does it not matter?)
At first, I got the same issue with the blackout upon log in screen and my external display no longer being recognized at all.
dmesg | grep -i amdgpu gave me the following:
1.895868] [drm] amdgpu kernel modesetting enabled.
[ 1.898911] amdgpu: Ignoring ACPI CRAT on non-APU system
[ 1.898913] amdgpu: Virtual CRAT table created for CPU
[ 1.898919] amdgpu: Topology: Add CPU node
[ 1.898955] [drm:amdgpu_pci_probe [amdgpu]] ERROR amdgpu requires firmware installed
[ 1.899078] amdgpu: See Firmware - Debian Wiki for information about missing firmware
I once again cloned the repo that Mario provided above, and rebooted my system, this fixed the login screen blackout issue. However, my external display is once again not recognized by my system.
Edit: The login screen now blacks out after 5-10 seconds if I don’t log in in time.
Great. I do think you should raise this with debian though. Their kernel patch breaking the updates directory isn’t expected.
To be honest their patch to look for firmware makes NO SENSE at all. Amdgpu internally checks for missing firmware since kernel 6.2 and will abort init before it does actions that can cause the system to lose the framebuffer provided by the system firmware.
@Mario_Limonciello’s solution worked for me, although the reason why I did it was because resizing windows in Chromium based apps were making my system crash…this (plugging in an HDMI cable not working) was the other nagging problem, though.
The only caveat is that I’ve found that when I plugged in a third monitor using a USB-C to HDMI adapter it might not always work. However, the solution to that is to use lsusb to find the device and then use usbreset to reset it (use this StackExchange response as a reference). Using usbreset and maybe unplugging it and putting it back in should do the trick, and failing that running usbreset again and plugging it into another screen compatible port.