This issue became more obvious due to alsa-ucm profiles horribly
misassigning a non-existent device as the default microphone and
juggling profiles for the devices in a very weird way recently.
The first hotfix was this: https://github.com/NixOS/nixos-hardware/pull/1732
But upon more discussion it seems to be a Framework bios bug that
falsely reports an AMD ACP as exitent and wired up via ACPI.
Until this is fixed at the source, the best way foward is to just
blacklist the module.
I have tried this change now on 4 devices and and feel confident enough
about it working well for most users.
See this discussion for all the details: https://github.com/NixOS/nixos-hardware/issues/1603
Update the default `rawDeviceName` for the Framework 13 AMD AI 300 series.
Recent UCM profile updates (or kernel driver changes) now cause the device
to expose a HiFi profile sink name (`HiFi__Speaker__sink`) instead of the
generic `analog-stereo` name.
This ensures the audio enhancement effects correctly attach to the speaker
sink out of the box.
Device name changed from:
`alsa_output.pci-0000_c1_00.6.analog-stereo`
to:
`alsa_output.pci-0000_c1_00.6.HiFi__Speaker__sink`
Add a dedicated submodule for Framework Laptop 16 AMD AI 300 Series with
NVIDIA dGPU (RTX 5070). This provides hybrid graphics configuration with
PRIME offload, allowing the AMD iGPU to run by default for better battery
life while making the NVIDIA dGPU available on demand via nvidia-offload.
Exposed as nixosModules.framework-16-amd-ai-300-series-nvidia
Co-authored-by: Daniel Schaefer <dhs@frame.work>
Upstream changes broke the checks that we had.
By now we have 6.12 as the LTS, and 24.05 went out of support, so I
think we don't need to support this anymore.
Anyone still on such old kernel versions, can apply the patch manually
if needed.
Users should keep their firmware (not just BIOS) up to date.
Framework 13 Intel 11-13th Gen have some components that can't be
updated with fwupd, so some BIOS versions are better to be installed
through the EFI shell or Windows.
Signed-off-by: Daniel Schaefer <dhs@frame.work>
NixOS kernels don't have pinctrl_tigerlake built-in, we need to make
sure it loads before soc_button_array. Adding it to the initrd ensures
that.
Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
Changes several aspects of framework-laptop-kmod support:
- default value has been changed to true when NixOS >= 24.05 and
linux kernel >=6.10, and false otherwise
- adds required patch for framework AMD enablement when kernel <6.10
- add README section describing usage
Framework have published a workaround for a bug that affects the
MediaTek Bluetooth and Wi-Fi cards used in their laptops on kernel
version 6.11. Their workaround assumes a writable /etc/systemd
directory, so reimplement the workaround for NixOS.
For the Framework version of the workaround, see:
eab0148ae8/hibernation/kernel-6-11-workarounds