Arch Linux on the Framework Laptop 16

You are probably the ONLY person who wants this. Firefox is my most used program when on battery and waking the dGPU for it is a complete waste.

This seems to work for me:

DRI_PRIME=1 DXVK_FILTER_DEVICE_NAME="AMD Radeon RX 7700S (RADV NAVI33)" firefox

Interesting though. The dGPU will still go to sleep when not actively using firefox. Then when switching back to firefox, there is a 2 second delay where firefox is unresponsive while it waits for the dGPU to wake up again. Not ideal.

Minecraft does not use it for me with only DRI_PRIME=1, not sure how you are getting that to work. But the above works for Minecraft for me, not that it needs the dGPU.

Did not work for me :frowning:
It looks like there is an issue with the latest EG/Wayland. OBS is also crashing if using “DRI_PRIME”: OBS Studio began to crash after egl-wayland 1.1.14 was released · Issue #118 · NVIDIA/egl-wayland · GitHub

P.S.

not that it needs the dGPU.

gamescope + Shaders + 4k :wink:

Did you enable hardware acceleration in Firefox per the Arch wiki?
https://wiki.archlinux.org/title/Firefox#Hardware_video_acceleration

Yes. The Hardware accel works fine on iGPU.

There was a major bug in the recent egl-wayland package on Arch. But Arch should have rolled it back few days ago, so if you haven’t updated try to update and see if you see a “new” package for egl-wayland.

My dGPU crashes when I try to plug the power adapter in while it’s in D3cold. This is really strange… Also it doesn’t want to go into D3cold while the adapter is plugged in. I made a post about this Here, but it appears that I have forgotten that Arch isn’t an official distro, heh… There’s also my post on the Arch BBS and I do not know what to do anymore.

This sounds like a kernel regression most likely. Can you try older kernels to confirm? If so, bisect it.

The “bad” commit is somewhere between 6.8.9 and 6.9. Will test further and update. However, even on 6.8.9, the GPU refuses to go into D3cold on external power.

In that case try turning off ASPM using the kernel command line. I know there were some ASPM changes that came in 6.9 (like PCI/ASPM: Restore parent state to parent, child state to child · torvalds/linux@f3d049b · GitHub)

If turning off ASPM doesn’t help, please bisect.

I’m not sure how helpful this is, but I’m on Arch with Kernel 6.9.10 with a dGPU and mine doesn’t experience any issues relating to switching states. I’ve never experienced a panic either.

I’m currently on external power (included USB-C adapter) with my dGPU in the D3cold state. I did have an issue previously, but it was found to be software trying to access sensor data that was the cause; removing that fixed it.

Have you tried running it on a live-environment external to your current install?
Where are you plugging in the USB-C adapter? I’m powering my laptop via a USB-C Expansion Card (middle on the left or right in my case)
It could also be a hardware thing; I know it sounds lame, but testing Windows might not be a half bad idea, or at least a supported Ubuntu variant, just to see what happens.

Fedora 40 liveUSB works.
I power my notebook through the rear ports, because these support 240W charging(photo included)

I am not aware of anything trying to access the GPU, as booting up into a tty without a DE/WM still shows its power status as D0

This makes the GPU not crash on plug-ins, although the GPU still stays in D0 while the power adapter is in and I cannot for the life of me see anything that’s using it.

Also there’s some strange messages when I plug in the cable:

kern :err : [ 50.591099] ucsi_acpi USBC000:00: unknown error 256
kern :err : [ 50.591187] ucsi_acpi USBC000:00: GET_CABLE_PROPERTY failed (-5)

And a crash because of Unsupported pwrseq engine id: 2! but that’s already reported Here

I tried putting my Framework charger in the same port, and while I did get the same GET_CABLE_PROPERTY error, I did not observe issues with the dGPU going into D0.

I really think this is a software thing, but I don’t think this is a kernel issue. A kernel issue would likely be more wide-spread since there’s plenty of people on the same kernel using Arch. Since you said it doesn’t happen in Fedora, it’s not likely a hardware thing.

I still think testing in a bare/new Arch install with 0 extras installed would be a good next step.

The usci_acpi messages are present on all four ports. Will try a clean install now

A clean install took a little longer than expected but works like a charm now, no D0 nonsense. I just nuked the old one and installed everything anew. Thanks for the help!

Awesome! Glad it worked out!

I’m assuming by this message you didn’t mean that the usci_acpi messages also went away? It seems like you were saying your other issues were fixed, just wanted to check.

The USCI_ACPI issue (and another similar kernel message) is being reported/tracked here and here

Yes, the usci_acpi messages are still here, sorry for the unclear message

Hi all! My FW16 is arriving next week so I’m doing some prep work to get ready for setup. I’m considering setting it up with CachyOS as I’ve had multiple vanilla Arch machines in the past and want to try something newish. Does anyone have experience with Cachy on the FW16? Any weird quirks I should watch out for other than the already listed tweaks for Arch?