Merge branch 'master' into patch-1

This commit is contained in:
Jörg Thalheim
2025-10-30 12:30:42 +01:00
committed by GitHub
130 changed files with 13316 additions and 982 deletions

View File

@@ -2,16 +2,13 @@
## Updating Firmware
First put enable `fwupd`
Everything is updateable through fwupd, so it's enabled by default.
```nix
services.fwupd.enable = true;
```
Then run
To get the latest firmware, run:
```sh
$ fwupdmgr update
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop12.RPL.BIOS.firmware)

View File

@@ -4,4 +4,10 @@
../common
../../../common/cpu/intel
];
# If this module isn't built into the kernel, we need to make sure it loads
# before soc_button_array. Otherwise the tablet mode gpio doesn't work.
# If correctly loaded, dmesg should show
# input: gpio-keys as /devices/platform/INT33D3:00
boot.initrd.kernelModules = [ "pinctrl_tigerlake" ];
}

View File

@@ -16,4 +16,7 @@
# Needed for desktop environments to detect display orientation
hardware.sensor.iio.enable = lib.mkDefault true;
# Everything is updateable through fwupd
services.fwupd.enable = true;
}

View File

@@ -2,16 +2,13 @@
## Updating Firmware
First put enable `fwupd`
Everything is updateable through fwupd, so it's enabled by default.
```nix
services.fwupd.enable = true;
```
Then run
To get the latest firmware, run:
```sh
$ fwupdmgr update
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.Ryzen7040.BIOS.firmware)

View File

@@ -14,7 +14,6 @@ in
../common/amd.nix
../../../common/cpu/amd/raphael/igpu.nix
];
options = {
hardware.framework.amd-7040.preventWakeOnAC = lib.mkOption {
type = lib.types.bool;
@@ -30,6 +29,8 @@ in
};
config = {
services.fwupd.enable = true;
# Workaround applied upstream in Linux >=6.7 (on BIOS 03.03)
# https://github.com/torvalds/linux/commit/a55bdad5dfd1efd4ed9ffe518897a21ca8e4e193
services.udev.extraRules =

View File

@@ -2,14 +2,13 @@
## Updating Firmware
First put enable `fwupd`
Everything is updateable through fwupd, so it's enabled by default.
```nix
services.fwupd.enable = true;
```
Then run
To get the latest firmware, run:
```sh
$ fwupdmgr update
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.RyzenAI300.BIOS.firmware)

View File

@@ -10,7 +10,11 @@
../common
../common/amd.nix
];
config = {
# Everything is updateable through fwupd
services.fwupd.enable = true;
hardware.framework.laptop13.audioEnhancement.rawDeviceName =
lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";

View File

@@ -2,14 +2,13 @@
## Updating Firmware
First put enable `fwupd`
Everything is updateable through fwupd, so it's enabled by default.
```nix
services.fwupd.enable = true;
```
Then run
To get the latest firmware, run:
```sh
$ fwupdmgr update
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop.MTL.BIOS.firmware)

View File

@@ -11,6 +11,9 @@
../common/intel.nix
];
# Everything is updateable through fwupd
services.fwupd.enable = true;
# Need at least 6.9 to make suspend properly
# Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") (

View File

@@ -1,4 +1,14 @@
# [Framework Laptop 16](https://frame.work/)
## Updating Firmware
The Framework Laptop 16 uses LVFS, so it can be updated via fwupd; see https://wiki.nixos.org/wiki/Fwupd for details
Everything is updateable through fwupd, so it's enabled by default.
To get the latest firmware, run:
```sh
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop16.Ryzen7040.BIOS.firmware)

View File

@@ -12,4 +12,6 @@
../../../common/cpu/amd/raphael/igpu.nix
];
# Everything is updateable through fwupd
services.fwupd.enable = true;
}

View File

@@ -0,0 +1,25 @@
# [Framework Laptop 16 AMD AI 300 Series](https://frame.work/)
## nvidia
If you have an nvidia dGPU module, you can enable it via the nvidia open drivers:
```
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.open = true; # see the note above
```
See also [NVIDIA](https://wiki.nixos.org/wiki/NVIDIA) on the NixOS Wiki.
## Updating Firmware
Everything is updateable through fwupd, so it's enabled by default.
To get the latest firmware, run:
```sh
$ fwupdmgr refresh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop16.RyzenAI300.BIOS.firmware)

View File

@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
../common
../common/amd.nix
];
# 6.14 is the minimum recommended kernel, 6.15 has many useful changes, too
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.15") (
lib.mkDefault pkgs.linuxPackages_latest
);
# Everything is updateable through fwupd
services.fwupd.enable = true;
}

View File

@@ -8,12 +8,6 @@
../../framework-tool.nix
];
# Fix TRRS headphones missing a mic
# https://community.frame.work/t/headset-microphone-on-linux/12387/3
boot.extraModprobeConfig = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "6.6.8") ''
options snd-hda-intel model=dell-headset-multi
'';
# For fingerprint support
services.fprintd.enable = lib.mkDefault true;
@@ -50,4 +44,7 @@
MatchDMIModalias=dmi:*svnFramework:pnLaptop16*
AttrKeyboardIntegration=internal
'';
# Everything is updateable through fwupd
services.fwupd.enable = true;
}

View File

@@ -0,0 +1,23 @@
# [Framework Desktop](https://frame.work/desktop)
## Kernel version
The recommended version is 6.15 or newer, it has good GPU and also EC firmware support (for sensors and ARGB).
The lowest recommended version is 6.14. It has good GPU support already.
The absolute lowest that runs okay on headless systems is 6.11, but the GPU is not fully supported yet.
## Updating Firmware
First put enable `fwupd`
```nix
services.fwupd.enable = true;
```
Then run
```sh
$ fwupdmgr update
```
- [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Desktop.RyzenAIMax300.BIOS.firmware)

View File

@@ -0,0 +1,20 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
../../../common/cpu/amd
../../../common/cpu/amd/pstate.nix
../../../common/gpu/amd
../../../common/pc/ssd
../../framework-tool.nix
];
# 6.14 and above have good GPU support
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.14") (
lib.mkDefault pkgs.linuxPackages_latest
);
}