Framework NixOS (Linux) users self-help

I think, this is what actually is happening here, due to the entire expression being evaluated as a part of hardware.firmware.

You can confirm that it works by checking what version of VCN has been loaded, e.g., by sudo dmesg | grep "Found VCN". Without the override, I am currently getting version 1.10:

[    1.902575] [drm] Found VCN firmware Version ENC: 1.10 DEC: 5 VEP: 0 Revision: 0

with, I get version 1.17, Rev. 10, as expected:

[    1.896711] [drm] Found VCN firmware Version ENC: 1.17 DEC: 6 VEP: 0 Revision: 10

Like I mentioned, this turned out to be easier to implement on NixOS than I expectedā€¦ But, if it doesnā€™t work for you, please let me know.

Thatā€™s kinda beautiful! :smiley: Iā€™d love a submission to https://glitchgallery.org!

4 Likes

I have the same screen flashing issue. What version of the kernel are you using?

I was using the latest kernel at the time 6.6.7 or 6.6.8.

Running the current stable kernel 6.1.72 doesnā€™t give me any screen issues.

1 Like

I had the similar/same issues (white screen on full screen and then on on all screens), along with wifi issues (wifi would randomly disconnect and would not reconnect like the process crapped out, tried to use restart network manager a few hundred times over a few weeks to no avail).

Best temp fix I found was to downgrade to a lower kernel version.

Exactly what I did. I initially updated the kernel to fix the laptop waking up after suspend. Do you have this issue?

No issues with suspend or waking on the stable kernel but I did have issues with the latest kernel and it wasnā€™t just white flashing screen sometimes programs would act strangely where I though I had bad ram but several ram test showed no errors.

My experience: nixos-unstable, lastest kernel, sg_display=0 + PPD + testing VCN firmware. Zero issue for many days.

1 Like

Thanks a lot man, sg_display=0 did the trick. For anyone experiencing flickering issues with the latest kernels, that is what youā€™re looking for. More info here: NixOS + AMD Raphael iGPU: Fix for white/flashing Screens and a Guide for Graphical Installation / Bla Bli Blog

Heads up: The nixos-unstable branch of nixpkgs breaks the amdgpu module.

The fix is already in nixpkgs-unstable and nixos-unstable-small, but not in nixos-unstable.

3 Likes

Does this by any chance also affect stable? I just upgraded my packages which included a bump of the linux kernel from 6.6.13 to 6.6.14 and that build wonā€™t boot:

Jan 31 14:42:41 nixos kernel: amdgpu 0000:c1:00.0: Direct firmware load for amdgpu/psp_13_0_4_toc.bin failed with error -2
Jan 31 14:42:41 nixos kernel: [drm:amdgpu_device_init [amdgpu]] *ERROR* early_init of IP block <psp> failed -19
...
Jan 31 14:42:41 nixos kernel: amdgpu 0000:c1:00.0: amdgpu: Fatal error during GPU init

As a result, xserver crashes with ā€œno screens foundā€ and ends up in a restart-loop.

Edit: False alarm, even downgrading to 6.6.13 didnā€™t fix that. Had to go back to the previous generation!

Update: The fix for the amdgpu module has now hit nixos-unstable! :tada:

1 Like

upstream amd issue apparently (at least iā€™m pretty sure thatā€™s what I am getting)

1 Like

I have ordered the an AMD framework to upgrade from my 11th gen intel and was just wondering if anything in the configs needs to be changed for it to boot. I know thereā€™s the extra potions to get things (e.g., finger print) working, but is there anything to do with the hardware-config file?

I feel like since Iā€™m changing the hardware, Iā€™ll need to boot into a nixos iso to generate a new hardware-config file. Can anyone confirm if thatā€™s the case?

I usually do this regardless and then just a quick eyeball-diff my current config to the generated one. Mostly to get the architecture specific kernel/boot parameters/modules right.

If you are not cherry-picking firmware and just have all redistributable enabled (or have linux-firmware in the list), then it should boot just fine. I donā€™t know about intel, but I donā€™t have anything particularly AMD-specific in my config, i.e. default settings + linux-firmware/redistributable boots without any issues.

After it boots, youā€™ll want to add AMD-specific fixes, like kernel args for the white screen thing and other gpu/power related tweaks. (You can also prebuild your AMD config while on Intel and have it in your bootloader menu ready to go.)

Thank you for the help! I think the only thing Intel specific I have is the kvm module. It just feels like the hardware configuration should be updated with changing the mainboard even though it mainly relates to the storage and filesystem.

You may want to help this project so that others can add it to their configs so they have the fixes/changes for the best experience:

1 Like

Iā€™d be happy to help with this project! Iā€™ll have a look to see what issues are open. Is there any other way I can assist?

Yep, Iā€™ve applied the proposed patch and, so far, looks like it fixed it for me.

2 Likes