[Announcement] Linux on your Framework Laptop 13 (AMD Ryzen 7040 Series)

Both 6.5 and 6.6 included several amdgpu/drm bits as well as power management improvments. 6.7 has a heap more and is nearing the rc3 merge window.

the EC patch is still currently in need of rework and r- submission for mainline which @DHowett is working on. I am doubtful it will make it into 6.7 but YNK.

The amd-pstate prefcores patches exist and apply cleanly to 6.6 and 6.7 up until some other pstate related patches last week; IIRC there is some debate about where prefcores should sit inside the kernel so it’s unlikely these will get merged in the 6.7 series but hopefully this will be resolved in 6.8 series.

Several of the GPU bits are reliant on linux-firmware/DCN bits and likewise with the kernel amd have been updating these ; and there is at least one improvement netting firmware that has been dropped in the last month. How distros decide to package/distribute this is distro dependent ; but you can always just pull the linux-firmware git tree and copy it over /lib/firmware - if you are game.

The epp hints framework requires power profile daemon to accept what is currently an out of tree patch. You can however apply this cleanly to the currently commonly shipping 0.13 version of PPD. And there are other work arounds to set the epp hints.

So yes. There is work and existing mainline paths for all of the bits as far as I can see.

The main things I would like to see from Framework is improvements and updates to the EC and BIOS firmware to fix some issues around PD state changes and possibly related to GPU/SMU bits.

Having a set of userspace tools (ectool specifically) packaged for supported distros would be a good start.

12 Likes

A success story…

I just upgraded my 11th gen batch 5 FW to the AMD 7784 batch 6 mainboard. The swap took about 20 minutes. It took me a bit to figure out how to deactivate secure boot, but I was pleased to see that the board shipped with the 3.03 bios.

I installed Manjaro/GNOME onto the new SSD and with a bit of tweaking, most everything’s working as it was before (including the fingerprint reader). It wasn’t hard to set up hibernate and suspend-then-hibernate, though suspend-then-hibernate doesn’t appear to be activating from the lid switch. Will figure that out, I’m sure.

I’ve noticed that the laptop is much snappier and battery life seems pretty decent. Discharge during suspend and hibernate seems better than on the Intel.

I installed the 11th gen into a Cooler Master case and am using it to replace an aging Thinkpad at work. Got it up and running today and all seems to be working properly.

A good experience overall. Great work, FW team.

I’m using the current default Manjaro kernel, btw:

 6.5.11-1-MANJARO #1 SMP PREEMPT_DYNAMIC

20231202 update: Suspend-then-hibernate now works on lid close. My laptop’s brain swap is now 100% complete and successful. Battery life is slightly better than the 11th gen, but the laptop is much faster and more responsive, even on PPD PowerSaver mode.

The CoolerMaster 11th gen motherboard is now my work machine in our chocolate shop kitchen. It’s connected to a large external display and a Thinkpad Bluetooth keyboard (trackstick!), and I’ve tested audio and video, as I’ll be using it to teach professional classes via Zoom. Everything works perfectly.

1 Like

I’d echo what @jwp shared.

Delighted to hear this! Thanks for sharing.

2 Likes

Thanks for the detailed answer @jwp and also for your great support @Matt_Hartley

Is there any way we as users can help move things forward such as testing the EC patch or testing 6.7rc3 or even running linux-next, I’m on Batch 9, my framework will be shipped before the end of December.

I’m just wondering if we can come together as a joint effort in order to improve the stability, for now, I don’t feel confident flashing the EC and modifying its code since I have no experience on this matter. However, if official patches/fixes to test can be provided by @DHowett, but this would need an official ectool as @jwp mentioned and there isn’t so far that I’m aware of.

Quick question @jwp, the EC patch is related to which functionality/fixing which issues ?

I’d update to the 03.03 BIOS, from what I know it fixed a lot of problems on linux.

The fix in the end for me was a clean reinstall with pretty much the same settings, not sure why that made a difference but the second time the machine booted fine to DE and I was able to update everything through LVFS afterwards (which was very smooth except the confusing error messages from the fingerprint reader updates)

1 Like

Running latest Fedora (now out of beta) on my AMD mainboard. I got mine batch 11 and I didn’t perform any BIOS update, so I’m not sure which patch I’m on, but Fedora works amazingly. I didn’t set up hibernate or anything and I’m almost certain fedora has it disabled by default, but the default suspend settings yield WAY better results than when I had an intel mainboard. A couple days with the lid closed and I’ve only lost ~30%. My intel mainboard would’ve drained basically the entire battery by now. At this point, I’ve gotten used to just shutting down when I’m “done” with my laptop for a session, but this is already expanding my usability! I’m sure I’ll run into some suspend/display bugs, and I would much rather be running Debian, but I’m sure that’s all only a matter of time, now.

3 Likes

I got my AMD Framework 13 a few days ago, installed Ubuntu 2204 vanilla.

Realized some stuttering on the screen, installed the OEM kernel (yes, should
have RTFM before), but still Firefox caused the screen to lock for a few seconds,
also Chromium was not behaving well. Tried to disable HW acceleration
in firefox but that did not help. Both Firefox and Chromium up to date
(via snap).

The only way to get my Framework stable (up to now) is to

  • use the oem kernel
  • use the proprietary amdgpu driver from AMD

If you are interested, I can share detailed install instructions.

UPDATE: well, even with this config, I have stability issues with firefox, but it seems to be happening after wakeup from suspend/hibernate… will keep testing.

And yes, the Firmware is 3.3 already:

     *-firmware
          description: BIOS
          vendor: INSYDE Corp.
          physical id: 0
          version: 03.03
          date: 10/17/2023
          size: 128KiB
          capacity: 32MiB
          capabilities: pci upgrade shadowing cdboot bootselect int9keyboard int10video acpi usb biosbootspecification uefi

Sounds like you successfully followed the guide, have used uname -r to be absolutely sure you are using the oem c kernel.

Let’s run this one more time just in case something was missed along the way.

sudo apt update && sudo apt upgrade -y && sudo snap refresh

Then reboot.

I especially to make sure snaps have been refreshed as there have been updates to Firefox that affect stability.

Thanks for the update. I am back to 6.1.0-1028-oem that is pulled in from linux-image-oem-22.04c via the dependency on linux-image-6.1.0-1028-oem, so amdgpu is not from the closed source driver any more:

$ modinfo amdgpu | egrep ^filename
filename:       /lib/modules/6.1.0-1028-oem/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko

And yes, I update all pkgs and snaps about twice a week.

The other changes I applied since default install (collected from various sources):

  • BIOS: more graphic ram
  • /etc/rc.local: echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level (don’t know where I found this, probably arch wiki?).
  • Firefox: HW-acceleration disabled (not sure if this is important any more)

And the situation is:

  • after a full reboot: rock solid
  • after wakeup from suspend: rock solid
  • after wakeup from hibernate: intermittent frozen desktop (as long firefox is open), but still possible to do things.
  • after wakeup from suspend after hibernate: rock solid

Will keep you posted.

I might have been reading too much into this and could be wrong, but is it possible to give my GPU more ram(since I have too much) by turning on game mode, so it can load videos more efficiently?

Or what was meant exactly by it has access to more memory?? And is there a way I can give it more access to my ram???

No difference. The memory is shared in the first place.
It’s best to think of the UMA buffer as reserved memory that tricks programs into thinking you have a dedicated GPU.

1 Like

This is not true, there is a difference. When you select UMA_GAME_OPTIMIZED then you get 4GB for RAM for video, with the other option you get 1GB or less.

I had the same problem as described (mainly video corruption) and selecting UMA_GAME_OPTIMIZED solved it.

1 Like

Curious as to how different the battery was affected by doing this?

It has access to more memory just like a dedicated GPU. The UMA buffer is just a chunk of memory reserved to the graphics chip on the CPU. Just like a dedicated GPU, VRAM can spill over to system RAM if it’s full. There for, there isn’t much benefit to be had by dedicating more memory to the GPU since it’s already using system memory, just a reserved chunk of it.

1 Like