framework: Enable fwupd by default

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>
This commit is contained in:
Daniel Schaefer
2025-08-27 00:43:20 +08:00
parent 3dac8a8725
commit 3a4da5f8c1
11 changed files with 48 additions and 30 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,14 +2,13 @@
## Updating Firmware ## Updating Firmware
First put enable `fwupd` Everything is updateable through fwupd, so it's enabled by default.
```nix To get the latest firmware, run:
services.fwupd.enable = true;
```
Then run
```sh ```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
../common/amd.nix ../common/amd.nix
]; ];
config = { config = {
# Everything is updateable through fwupd
services.fwupd.enable = true;
hardware.framework.laptop13.audioEnhancement.rawDeviceName = hardware.framework.laptop13.audioEnhancement.rawDeviceName =
lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo"; lib.mkDefault "alsa_output.pci-0000_c1_00.6.analog-stereo";

View File

@@ -2,14 +2,13 @@
## Updating Firmware ## Updating Firmware
First put enable `fwupd` Everything is updateable through fwupd, so it's enabled by default.
```nix To get the latest firmware, run:
services.fwupd.enable = true;
```
Then run
```sh ```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 ../common/intel.nix
]; ];
# Everything is updateable through fwupd
services.fwupd.enable = true;
# Need at least 6.9 to make suspend properly # Need at least 6.9 to make suspend properly
# Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a # Specifically this patch: https://github.com/torvalds/linux/commit/073237281a508ac80ec025872ad7de50cfb5a28a
boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") ( boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.9") (

View File

@@ -1,4 +1,14 @@
# [Framework Laptop 16](https://frame.work/) # [Framework Laptop 16](https://frame.work/)
## Updating Firmware ## 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 ../../../common/cpu/amd/raphael/igpu.nix
]; ];
# Everything is updateable through fwupd
services.fwupd.enable = true;
} }

View File

@@ -50,4 +50,7 @@
MatchDMIModalias=dmi:*svnFramework:pnLaptop16* MatchDMIModalias=dmi:*svnFramework:pnLaptop16*
AttrKeyboardIntegration=internal AttrKeyboardIntegration=internal
''; '';
# Everything is updateable through fwupd
services.fwupd.enable = true;
} }