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
Use the upstream libinput keyboard detection quirks configuration to ensure Framework 16 laptop keyboards are detected and treated as internal keyboards. Notably, this means that non-ANSI Framework keyboards are correctly detected and treated as being internal keyboards rather than external ones.
Also add a comment noting that this configuration is part of more recent upstream libinput releases, and that it can be removed once we no longer need to support older versions of libinput. That probably means once NixOS 24.05 is out of support.