diff --git a/README.md b/README.md index 4c9bcb8f..04bc3244 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ See code for all available configurations. | --------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------- | | [Acer Aspire 4810T](acer/aspire/4810t) | `` | `acer-aspire-4810t` | | [Airis N990](airis/n990) | `` | `airis-n990` | +| [Apple iMac 12,2](apple/imac/12-2) | `` | `apple-imac-12-2` | | [Apple iMac 14.2](apple/imac/14-2) | `` | `apple-imac-14-2` | | [Apple iMac 18.2](apple/imac/18-2) | `` | `apple-imac-18-2` | | [Apple MacBook Air 3,X](apple/macbook-air/3) | `` | `apple-macbook-air-3` | @@ -124,6 +125,7 @@ See code for all available configurations. | [Asus ROG Zephyrus G14 GA402X\* (2023)](asus/zephyrus/ga402x/nvidia) | `` | `asus-zephyrus-ga402x-nvidia` | | [Asus ROG Zephyrus G15 GA502](asus/zephyrus/ga502) | `` | `asus-zephyrus-ga502` | | [Asus ROG Zephyrus G15 GA503](asus/zephyrus/ga503) | `` | `asus-zephyrus-ga503` | +| [Asus ROG Zephyrus G16 GU605CW](asus/zephyrus/gu605cw) | `` | `asus-zephyrus-gu605cw` | | [Asus ROG Zephyrus G16 GU605MY](asus/zephyrus/gu605my) | `` | `asus-zephyrus-gu605my` | | [Asus ROG Zephyrus M16 GU603H](asus/zephyrus/gu603h) | `` | `asus-zephyrus-gu603h` | | [Asus TUF FX504GD](asus/fx504gd) | `` | `asus-fx504gd` | @@ -231,6 +233,7 @@ See code for all available configurations. | [HP Elitebook 845g8](hp/elitebook/845/g8) | `` | `hp-elitebook-845g8` | | [HP Elitebook 845g9](hp/elitebook/845/g9) | `` | `hp-elitebook-845g9` | | [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | +| [HP Laptop 15s-fq1xxx](hp/laptop/15s-fq1xxx) | `` | `hp-laptop-15s-fq1xxx` | | [HP Notebook 14-df0023](hp/notebook/14-df0023) | `` | `hp-notebook-14-df0023` | | [HP Probook 440G5](hp/probook/440G5) | `` | `hp-probook-440G5` | | [HP Laptop 14s-dq2024nf](hp/laptop/14s-dq2024nf) | `` | `hp-laptop-14s-dq2024nf` | @@ -298,6 +301,7 @@ See code for all available configurations. | [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `` | `lenovo-thinkpad-p16s-amd-gen2` | | [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `` | `lenovo-thinkpad-p16s-amd-gen4` | | [Lenovo ThinkPad P16s Intel Gen 2](lenovo/thinkpad/p16s/intel/gen2) | `` | `lenovo-thinkpad-p16s-intel-gen2` | +| [Lenovo ThinkPad P16s Intel Gen 3](lenovo/thinkpad/p16s/intel/gen3) | `` | `lenovo-thinkpad-p16s-intel-gen3` | | [Lenovo ThinkPad P1](lenovo/thinkpad/p1) | `` | `lenovo-thinkpad-p1` | | [Lenovo ThinkPad P43s](lenovo/thinkpad/p43s) | `` | `lenovo-thinkpad-p43s` | | [Lenovo ThinkPad P50](lenovo/thinkpad/p50) | `` | `lenovo-thinkpad-p50` | @@ -392,6 +396,9 @@ See code for all available configurations. | [Microsoft Surface Pro 9](microsoft/surface-pro/9) | `` | `microsoft-surface-pro-9` | | [Milk-V Pioneer](milkv/pioneer) | `` | `milkv-pioneer` | | [Morefine M600](morefine/m600) | `` | `morefine-m600` | +| [Minisforum UM690](minisforum/um690) | `` | `minisforum-um690` | +| [Minisforum UM690S](minisforum/um690s) | `` | `minisforum-um690s` | +| [Minisforum UM790 Pro](minisforum/um790-pro) | `` | `minisforum-um790-pro` | | [Minisforum V3](minisforum/v3) | `` | `minisforum-v3` | | [MNT Reform with RK3588 module](mnt/reform/rk3588) | `` | `mechrevo-gm5hg0a` | @@ -400,6 +407,7 @@ See code for all available configurations. | [Hardkernel Odroid HC4](hardkernel/odroid-hc4/default.nix) | `` | `hardkernel-odroid-hc4` | | [Hardkernel Odroid H3](hardkernel/odroid-h3/default.nix) | `` | `hardkernel-odroid-h3` | | [Hardkernel Odroid H4](hardkernel/odroid-h4/default.nix) | `` | `hardkernel-odroid-h4` | +| [Hardkernel Odroid M1](hardkernel/odroid-m1/default.nix) | `` | `hardkernel-odroid-m1` | | [Olimex TERES-I](olimex/teres_i) | `` | `olimex-teres_i` | | [Omen 14-fb0798ng](omen/14-fb0798ng) | `` | `omen-14-fb0798ng` | | [Omen 15-ce002ns](omen/15-ce002ns) | `` | `omen-15-ce002ns` | diff --git a/apple/imac/12-2/README.md b/apple/imac/12-2/README.md new file mode 100644 index 00000000..d789bcf0 --- /dev/null +++ b/apple/imac/12-2/README.md @@ -0,0 +1,72 @@ +# iMac 12,2, NixOS 25.11 (February 2025) + +## Audio + +- [x] ok + +## Bluetooth + +- [x] ok + +## Camera + +- [x] ok + +Observed issues with the GNOME tooling. `vlc` and `guvcview` woth work fine. + +## Thunderbolt + +- [ ] Untested + +## SATA + +- [x] ok + +## Suspend/Resume + +- [ ] Untested + +## WiFi + +- [x] ok + +## Graphics + +- [x] ok + +The Radeon HD 6000 series (Northern Islands) does not support `amdgpu`. +This profile uses the `radeon` driver with DPM (Dynamic Power Management) +disabled to prevent boot hangs. + +## LSPCI + +``` +00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) +00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) +00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) +00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) +00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #5 (rev 05) +00:1a.7 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) +00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05) +00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) +00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5) +00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5) +00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5) +00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Universal Host Controller #1 (rev 05) +00:1d.7 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) +00:1f.0 ISA bridge: Intel Corporation Z68 Express Chipset LPC Controller (rev 05) +00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller (rev 05) +00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05) +01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6730M/6770M/7690M XT] +01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series] +02:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM57765 Gigabit Ethernet PCIe (rev 10) +03:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01) +04:00.0 FireWire (IEEE 1394): LSI Corporation FW643 [TrueFire] PCIe 1394b Controller (rev 08) +05:00.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +06:00.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +06:03.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +06:04.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +06:05.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +06:06.0 PCI bridge: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +07:00.0 System peripheral: Intel Corporation CV82524 Thunderbolt Controller [Light Ridge 4C 2010] +``` diff --git a/apple/imac/12-2/default.nix b/apple/imac/12-2/default.nix new file mode 100644 index 00000000..1474a120 --- /dev/null +++ b/apple/imac/12-2/default.nix @@ -0,0 +1,14 @@ +{ + lib, + ... +}: +{ + imports = [ + ../. + ]; + + # AMD Radeon HD 6770M/6970M (Whistler/Turks, Northern Islands generation) + # DPM (Dynamic Power Management) did cause boot hangs + boot.kernelParams = [ "radeon.dpm=0" ]; + +} diff --git a/apple/t2/pkgs/linux-t2/stable.json b/apple/t2/pkgs/linux-t2/stable.json index f70de9dc..37fae7ff 100644 --- a/apple/t2/pkgs/linux-t2/stable.json +++ b/apple/t2/pkgs/linux-t2/stable.json @@ -1,5 +1,5 @@ { - "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/5eaf1261d069bbc67aba7fe2737a5fe981e05a9e/", + "base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/1f514a15e2b20ce2e1f99018493c71de9784fcf0/", "patches": [ { "name": "1001-Add-apple-bce-driver.patch", @@ -127,7 +127,7 @@ }, { "name": "8001-Add-APFS-driver.patch", - "hash": "sha256-QpIPsMjWNPOkw6rSKn7rW0Fmx9HUwJaiGy3pZeT5Fd0=" + "hash": "sha256-rTdmORTT2oeBTh6R8LbXimgiaA7X6AgQO+lUuN5hJYI=" }, { "name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch", diff --git a/asus/zephyrus/gu605cw/default.nix b/asus/zephyrus/gu605cw/default.nix new file mode 100644 index 00000000..25dc87f9 --- /dev/null +++ b/asus/zephyrus/gu605cw/default.nix @@ -0,0 +1,29 @@ +{ lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/gpu/nvidia/prime.nix + ../../../common/gpu/nvidia/blackwell + ../../../common/pc/laptop + ../../../common/pc/ssd + ../shared/backlight.nix + ]; + + hardware.nvidia = { + prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + + modesetting.enable = lib.mkDefault true; + dynamicBoost.enable = lib.mkDefault true; + }; + + services = { + asusd.enable = lib.mkDefault true; + }; + + services.tuned.enable = true; + services.tlp.enable = lib.mkOverride 500 false; +} diff --git a/common/cpu/intel/ice-lake/cpu-only.nix b/common/cpu/intel/ice-lake/cpu-only.nix new file mode 100644 index 00000000..82892615 --- /dev/null +++ b/common/cpu/intel/ice-lake/cpu-only.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../cpu-only.nix + ]; +} diff --git a/common/cpu/intel/ice-lake/default.nix b/common/cpu/intel/ice-lake/default.nix new file mode 100644 index 00000000..e308f7d4 --- /dev/null +++ b/common/cpu/intel/ice-lake/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./cpu-only.nix + ../../../gpu/intel/ice-lake + ]; +} diff --git a/common/gpu/intel/default.nix b/common/gpu/intel/default.nix index 51a8cfca..2c7216b1 100644 --- a/common/gpu/intel/default.nix +++ b/common/gpu/intel/default.nix @@ -22,7 +22,7 @@ }; computeRuntime = lib.mkOption { - description = "intel-compute-runtime variant to use"; + description = "intel-compute-runtime variant to use (legacy for Gen8–11, default for Gen12+)"; type = lib.types.enum [ "default" "legacy" @@ -30,6 +30,15 @@ default = "default"; }; + mediaRuntime = lib.mkOption { + description = "Intel media runtime to use (Media SDK for Gen8–11, OneVPL for Gen12+)"; + type = lib.types.enum [ + "vpl-gpu-rt" + "intel-media-sdk" + ]; + default = "vpl-gpu-rt"; + }; + vaapiDriver = lib.mkOption { description = "Intel VAAPI driver to use (use null to use both)"; type = lib.types.nullOr ( @@ -71,7 +80,11 @@ pkgs.intel-compute-runtime-legacy1 else pkgs.intel-compute-runtime; - vpl-gpu-rt = pkgs.vpl-gpu-rt or pkgs.onevpl-intel-gpu; + intel-media-runtime = + if cfg.mediaRuntime == "vpl-gpu-rt" then + pkgs.vpl-gpu-rt or pkgs.onevpl-intel-gpu + else + pkgs.intel-media-sdk; in { boot.initrd.kernelModules = lib.optionals cfg.loadInInitrd [ cfg.driver ]; @@ -82,7 +95,7 @@ ++ lib.optionals useIntelMediaDriver [ intel-media-driver intel-compute-runtime - vpl-gpu-rt + intel-media-runtime ]; hardware.graphics.extraPackages32 = diff --git a/common/gpu/intel/ice-lake/default.nix b/common/gpu/intel/ice-lake/default.nix new file mode 100644 index 00000000..535dc49c --- /dev/null +++ b/common/gpu/intel/ice-lake/default.nix @@ -0,0 +1,8 @@ +{ config, lib, ... }: +{ + imports = [ ../. ]; + config = { + boot.kernelParams = lib.mkIf (config.hardware.intelgpu.driver == "i915") [ "i915.enable_guc=3" ]; + hardware.intelgpu.vaapiDriver = "intel-media-driver"; + }; +} diff --git a/dell/xps/15-9500/README.wiki b/dell/xps/15-9500/README.wiki index ebcb5e31..3bf860b9 100644 --- a/dell/xps/15-9500/README.wiki +++ b/dell/xps/15-9500/README.wiki @@ -1,4 +1,4 @@ -= Dell XPS 15 9550 = += Dell XPS 15 9500 = == Tested Hardware == diff --git a/dell/xps/15-9500/default.nix b/dell/xps/15-9500/default.nix index b11ecd16..d669be32 100644 --- a/dell/xps/15-9500/default.nix +++ b/dell/xps/15-9500/default.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, pkgs, ... }: let thermald-conf = ./thermald-conf.xml; in @@ -19,6 +19,14 @@ in # was generated with dptfxtract-static (https://github.com/intel/dptfxtract) services.thermald.configFile = lib.mkDefault thermald-conf; + # Enable fingerprint reader + services.fprintd = { + enable = lib.mkDefault true; + # Fingerprint sensor will not work without these settings + tod.enable = true; + tod.driver = pkgs.libfprint-2-tod1-goodix; + }; + # WiFi speed is slow and crashes by default (https://bugzilla.kernel.org/show_bug.cgi?id=213381) # disable_11ax - required until ax driver support is fixed # power_save - works well on this card diff --git a/flake.nix b/flake.nix index eade0871..d1b087a4 100644 --- a/flake.nix +++ b/flake.nix @@ -48,6 +48,7 @@ acer-aspire-4810t = import ./acer/aspire/4810t; airis-n990 = import ./airis/n990; aoostar-r1-n100 = import ./aoostar/r1/n100; + apple-imac-12-2 = import ./apple/imac/12-2; apple-imac-14-2 = import ./apple/imac/14-2; apple-imac-18-2 = import ./apple/imac/18-2; apple-macbook-air-3 = import ./apple/macbook-air/3; @@ -98,6 +99,7 @@ asus-zephyrus-ga502 = import ./asus/zephyrus/ga502; asus-zephyrus-ga503 = import ./asus/zephyrus/ga503; asus-zephyrus-gu603h = import ./asus/zephyrus/gu603h; + asus-zephyrus-gu605cw = import ./asus/zephyrus/gu605cw; asus-zephyrus-gu605my = import ./asus/zephyrus/gu605my; beagleboard-pocketbeagle = import ./beagleboard/pocketbeagle; chuwi-minibook-x = import ./chuwi/minibook-x; @@ -200,6 +202,7 @@ hp-probook-440G5 = import ./hp/probook/440G5; hp-probook-460G11 = import ./hp/probook/460G11; hp-laptop-14s-dq2024nf = import ./hp/laptop/14s-dq2024nf; + hp-laptop-15s-fq1xxx = import ./hp/laptop/15s-fq1xxx; huawei-machc-wa = import ./huawei/machc-wa; hp-notebook-14-df0023 = import ./hp/notebook/14-df0023; intel-nuc-5i5ryb = import ./intel/nuc/5i5ryb; @@ -265,6 +268,7 @@ lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2; lenovo-thinkpad-p16s-amd-gen4 = import ./lenovo/thinkpad/p16s/amd/gen4; lenovo-thinkpad-p16s-intel-gen2 = import ./lenovo/thinkpad/p16s/intel/gen2; + lenovo-thinkpad-p16s-intel-gen3 = import ./lenovo/thinkpad/p16s/intel/gen3; lenovo-thinkpad-p43s = import ./lenovo/thinkpad/p43s; lenovo-thinkpad-p50 = import ./lenovo/thinkpad/p50; lenovo-thinkpad-p51 = import ./lenovo/thinkpad/p51; @@ -357,6 +361,9 @@ microsoft-surface-pro-3 = import ./microsoft/surface-pro/3; microsoft-surface-pro-9 = import ./microsoft/surface-pro/9; milkv-pioneer = import ./milkv/pioneer; + minisforum-um690 = import ./minisforum/um690; + minisforum-um690s = import ./minisforum/um690s; + minisforum-um790-pro = import ./minisforum/um790-pro; minisforum-v3 = import ./minisforum/v3; mnt-reform-rk3588 = import ./mnt/reform/rk3588; morefine-m600 = import ./morefine/m600; @@ -374,6 +381,7 @@ hardkernel-odroid-hc4 = import ./hardkernel/odroid-hc4; hardkernel-odroid-h3 = import ./hardkernel/odroid-h3; hardkernel-odroid-h4 = import ./hardkernel/odroid-h4; + hardkernel-odroid-m1 = import ./hardkernel/odroid-m1; omen-14-fb0798ng = import ./omen/14-fb0798ng; omen-15-ce002ns = import ./omen/15-ce002ns; omen-15-en0010ca = import ./omen/15-en0010ca; diff --git a/framework/12-inch/13th-gen-intel/README.md b/framework/12-inch/13th-gen-intel/README.md index 4d9ecdb5..3b5632ed 100644 --- a/framework/12-inch/13th-gen-intel/README.md +++ b/framework/12-inch/13th-gen-intel/README.md @@ -12,3 +12,22 @@ $ fwupdmgr update ``` - [Latest Update](https://fwupd.org/lvfs/devices/work.frame.Laptop12.RPL.BIOS.firmware) + +## Touchscreen support in initrd (for unl0kr) + +To unlock your LUKS disk encryption with an onscreen touch keyboard, you can use unl0kr. + +This module will automatically included the necessary kernel modules in initrd to make touchpad and touchscreen work when `boot.initrd.unl0kr.enable = true`. + +Example configuration: + +```nix +{ + boot.initrd.systemd.enable = true; + boot.initrd.unl0kr.enable = true; + + boot.initrd.luks.devices."cryptroot" = { + device = "/dev/disk/by-uuid/YOUR-UUID-HERE"; + }; +} +``` diff --git a/framework/12-inch/13th-gen-intel/default.nix b/framework/12-inch/13th-gen-intel/default.nix index 7a3e1de4..e2d6828b 100644 --- a/framework/12-inch/13th-gen-intel/default.nix +++ b/framework/12-inch/13th-gen-intel/default.nix @@ -9,5 +9,15 @@ # 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" ]; + boot.initrd.kernelModules = [ + "pinctrl_tigerlake" + ] + # Additional modules for touchscreen/touchpad in initrd (for unl0kr on-screen keyboard) + ++ lib.optionals config.boot.initrd.unl0kr.enable [ + "intel_lpss_pci" + "i2c_hid_acpi" + "i2c_hid" + "hid_multitouch" + "hid_generic" + ]; } diff --git a/hardkernel/odroid-m1/README.md b/hardkernel/odroid-m1/README.md new file mode 100644 index 00000000..cb94bd9c --- /dev/null +++ b/hardkernel/odroid-m1/README.md @@ -0,0 +1,100 @@ +# ODroid M1 + +Hardware support for the Hardkernel ODroid M1: https://www.hardkernel.com/shop/odroid-m1-with-8gbyte-ram/ + +## Building an SD Card Image + +To create an initial SD card image for installation: + +```nix +# flake.nix +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixos-hardware.url = "github:nixos/nixos-hardware/master"; + }; + outputs = { self, nixpkgs, nixos-hardware }: rec { + nixosConfigurations.m1 = nixpkgs.lib.nixosSystem { + modules = [ + "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" + nixos-hardware.nixosModules.hardkernel-odroid-m1 + ./sdimage.nix + { + nixpkgs.hostPlatform.system = "aarch64-linux"; + # Uncomment if cross-compiling from x86_64: + # nixpkgs.buildPlatform.system = "x86_64-linux"; + } + ]; + }; + images.m1 = nixosConfigurations.m1.config.system.build.sdImage; + }; +} +``` + +```nix +# sdimage.nix +{ config, ... }: +{ + imports = [ ./common.nix ]; + + sdImage = { + compressImage = false; + # Required for the system to boot + populateRootCommands = '' + ${config.boot.loader.petitboot.populateCmd} -c ${config.system.build.toplevel} -d ./files/kboot.conf + ''; + }; +} +``` + +```nix +# common.nix +{ pkgs, ... }: +{ + services.openssh.enable = true; + + environment.systemPackages = [ pkgs.git ]; + + users.users.odroid = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + initialPassword = "odroid"; + # openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAA..." ]; + }; +} +``` + +Build with: + +```sh +nix build .#images.m1 +``` + +## Ongoing Configuration + +After booting the SD card image, run `nixos-generate-config` to generate +`hardware-configuration.nix` for your system. Then set up your configuration +flake: + +```nix +# flake.nix +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixos-hardware.url = "github:nixos/nixos-hardware/master"; + }; + outputs = { nixpkgs, nixos-hardware, ... }: { + nixosConfigurations.m1 = nixpkgs.lib.nixosSystem { + modules = [ + nixos-hardware.nixosModules.hardkernel-odroid-m1 + ./common.nix + ./configuration.nix + ./hardware-configuration.nix + ]; + }; + }; +} +``` + +The module configures petitboot as the boot loader, so `nixos-rebuild switch` +works as usual. diff --git a/hardkernel/odroid-m1/default.nix b/hardkernel/odroid-m1/default.nix new file mode 100644 index 00000000..e3db31e4 --- /dev/null +++ b/hardkernel/odroid-m1/default.nix @@ -0,0 +1,31 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + imports = [ + ./petitboot + ]; + + # Enable petitboot support. + boot.loader.petitboot.enable = lib.mkForce true; + + # `nixos-rebuild` fails unless grub is explicitly disabled. + boot.loader.grub.enable = lib.mkForce false; + + boot.initrd.availableKernelModules = [ + "nvme" + ]; + + # Petitboot uses this port and baud rate on the board's serial port. It's + # probably good to keep the options same for the running kernel for serial + # console access to work well. + boot.kernelParams = [ "console=ttyS2,1500000" ]; + hardware.deviceTree.name = "rockchip/rk3568-odroid-m1.dtb"; + # FIXME: The serial terminal does seem to throw random errors still, but that + # doesn't appear to crash anything. May need adjusted if you're + # actually using the GPIO. +} diff --git a/hardkernel/odroid-m1/petitboot/default.nix b/hardkernel/odroid-m1/petitboot/default.nix new file mode 100644 index 00000000..f4a7535d --- /dev/null +++ b/hardkernel/odroid-m1/petitboot/default.nix @@ -0,0 +1,77 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.boot.loader.petitboot; + args = "-g ${toString cfg.configurationLimit} -n ${config.hardware.deviceTree.name}"; + + # The installer used when running nixos-rebuild switch or similar + installer = pkgs.replaceVarsWith { + src = ./install-petitboot.sh; + replacements = { + bash = pkgs.bash; + path = lib.makeBinPath [ + pkgs.coreutils + pkgs.gnused + pkgs.gnugrep + ]; + }; + name = "install-petitboot"; + isExecutable = true; + }; + # The installer used to write to SD card images + sdImageInstaller = pkgs.buildPackages.replaceVarsWith { + src = ./install-petitboot.sh; + replacements = { + bash = pkgs.buildPackages.bash; + path = lib.makeBinPath [ + pkgs.buildPackages.coreutils + pkgs.buildPackages.gnused + pkgs.buildPackages.gnugrep + ]; + }; + name = "install-petitboot-sd-image"; + isExecutable = true; + }; +in +{ + options = { + boot.loader.petitboot = { + enable = lib.mkOption { + default = false; + type = lib.types.bool; + description = '' + Whether to enable the Petitboot bootloader. + ''; + }; + + configurationLimit = lib.mkOption { + default = 10; + example = 5; + type = lib.types.int; + description = '' + Maximum number of configurations to display when booting. + ''; + }; + + populateCmd = lib.mkOption { + type = lib.types.str; + readOnly = true; + description = '' + Contains the script used to populate petitboot when building an image. + Primarily used for sdImage.populateRootCommands. + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + system.build.installBootLoader = lib.mkForce "${installer} ${args} -c"; + system.boot.loader.id = "petitboot"; + boot.loader.petitboot.populateCmd = "${sdImageInstaller} ${args}"; + }; +} diff --git a/hardkernel/odroid-m1/petitboot/install-petitboot.sh b/hardkernel/odroid-m1/petitboot/install-petitboot.sh new file mode 100644 index 00000000..86a00115 --- /dev/null +++ b/hardkernel/odroid-m1/petitboot/install-petitboot.sh @@ -0,0 +1,76 @@ +#! @bash@/bin/bash -e + +shopt -s nullglob + +export PATH="/empty:@path@" + +usage() { + echo "usage: $0 -c -n [-g ] [-d ]" >&2 + exit 1 +} + +target=/kboot.conf +default= # Default configuration +numGenerations=0 # Number of other generations to include in the menu + +while getopts "t:c:d:g:n:" opt; do + case "$opt" in + c) default="$OPTARG" ;; + g) numGenerations="$OPTARG" ;; + d) target="$OPTARG" ;; + n) dtbName="$OPTARG" ;; + \?) usage ;; + esac +done + +[ "$default" = "" -o "$dtbName" = "" ] && usage + +tmp=$target.tmp + +# Echo out an kboot.conf menu entry +addEntry() { + local path=$(readlink -f "$1") + local tag="$2" # Generation number or 'default' + + if ! test -e $path/kernel -a -e $path/initrd; then + return + fi + + timestampEpoch=$(stat -L -c '%Z' $path) + timestamp=$(date "+%Y-%m-%d %H:%M" -d @$timestampEpoch) + nixosLabel="$(cat $path/nixos-version)" + extraParams="$(cat $path/kernel-params)" + + local kernel=$(readlink -f "$path/kernel") + local initrd=$(readlink -f "$path/initrd") + local dtbs=$(readlink -f "$path/dtbs") + + local id="nixos-$tag--$nixosLabel" + + if [ "$tag" = "default" ]; then + echo "default=$id" + fi + + echo -n "$id='" + echo -n "$kernel initrd=$initrd dtb=$dtbs/$dtbName " + echo -n "systemConfig=$path init=$path/init $extraParams" + echo "'" +} + +echo "# Auto-generated by install-petitboot.sh, do not edit or remove" > $tmp +addEntry $default default >> $tmp + +if [ "$numGenerations" -gt 0 ]; then + # Add up to $numGenerations generations of the system profile to the menu, + # in reverse (most recent to least recent) order. + for generation in $( + (cd /nix/var/nix/profiles && ls -d system-*-link) \ + | sed 's/system-\([0-9]\+\)-link/\1/' \ + | sort -n -r \ + | head -n $numGenerations); do + link=/nix/var/nix/profiles/system-$generation-link + addEntry $link $generation + done >> $tmp +fi + +mv -f $tmp $target diff --git a/hp/laptop/15s-fq1xxx/README.md b/hp/laptop/15s-fq1xxx/README.md new file mode 100644 index 00000000..227696c0 --- /dev/null +++ b/hp/laptop/15s-fq1xxx/README.md @@ -0,0 +1,34 @@ +# HP Laptop 15s-fq1xxxx + +## Warning + +This option set may not be optimized to it's fullest. It's a carbon copy of the 14s-dq2024nf options, with Tiger Lake switched out for Ice Lake. + +However, I still wanted to profit from the many optimizations provided by the library, so I'm leaving this as a starting point. + +Here's the place I got the information from, they seem to be close enough to one another that not many changes are needed: + +- https://browser.geekbench.com/v6/compute/4861426 +- https://browser.geekbench.com/v6/cpu/15840711 +- https://wiki.gentoo.org/wiki/Intel#Feature_support (for the gpu driver info. note that both Tiger and Ice Lake use the same driver) + +## Device Information + +Details from `tlp-stat`: + +``` +System = HP HP Laptop 15s-fq1xxx +BIOS = F.30 +EC Firmware = 56.33 +OS Release = NixOS 25.11 (Xanthusia) +Kernel = 6.18.5 #1-NixOS SMP PREEMPT_DYNAMIC Sun Jan 11 14:26:20 UTC 2026 x86_64 +Init system = systemd +Boot mode = UEFI +Suspend mode = s2idle [deep] +``` + +`lspci` output: + +``` +00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G1 (Ice Lake) (rev 07) +``` \ No newline at end of file diff --git a/hp/laptop/15s-fq1xxx/default.nix b/hp/laptop/15s-fq1xxx/default.nix new file mode 100644 index 00000000..8d389ae1 --- /dev/null +++ b/hp/laptop/15s-fq1xxx/default.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel/ice-lake + ../../../common/pc + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + config = { + services.thermald.enable = lib.mkDefault true; + }; +} diff --git a/lenovo/thinkpad/p16s/intel/gen3/default.nix b/lenovo/thinkpad/p16s/intel/gen3/default.nix new file mode 100644 index 00000000..e92d1f49 --- /dev/null +++ b/lenovo/thinkpad/p16s/intel/gen3/default.nix @@ -0,0 +1,16 @@ +{ lib, ... }: +{ + imports = [ + ../. + ../../../../../common/cpu/intel/meteor-lake + ../../../../../common/gpu/nvidia/ada-lovelace + ../../../../../common/gpu/nvidia/prime.nix + ]; + + # NVIDIA PRIME hybrid graphics + # Use `nvidia-offload ` to run on discrete GPU + hardware.nvidia.prime = { + intelBusId = lib.mkDefault "PCI:0:2:0"; + nvidiaBusId = lib.mkDefault "PCI:1:0:0"; + }; +} diff --git a/minisforum/um-series.nix b/minisforum/um-series.nix new file mode 100644 index 00000000..2950f32c --- /dev/null +++ b/minisforum/um-series.nix @@ -0,0 +1,12 @@ +# Common configuration for Minisforum UM series mini PCs +# (UM690, UM690S, UM790 Pro) +{ ... }: + +{ + imports = [ + ../common/cpu/amd + ../common/cpu/amd/pstate.nix + ../common/gpu/amd + ../common/pc/ssd + ]; +} diff --git a/minisforum/um690/README.md b/minisforum/um690/README.md new file mode 100644 index 00000000..37b0ffaa --- /dev/null +++ b/minisforum/um690/README.md @@ -0,0 +1,56 @@ +# Minisforum UM690 + +Mini PC with AMD Ryzen 9 6900HX (Rembrandt, Zen 3+) and Radeon 680M integrated graphics. + +## Features + +- AMD Ryzen 9 6900HX processor +- AMD Radeon 680M integrated GPU +- NVMe SSD support +- USB4/Thunderbolt support +- 2.5GbE Ethernet (Intel I225-V) +- Wi-Fi 6E (MediaTek MT7921K) + +## Tested Hardware + +``` +00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Root Complex [1022:14b5] (rev 01) +00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h IOMMU [1022:14b6] +00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14b8] +00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14cd] +00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe GPP Bridge [1022:14b9] (rev 10) +00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe GPP Bridge [1022:14b9] (rev 10) +00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71) +00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) +00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 0 [1022:1679] +00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 1 [1022:167a] +00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 2 [1022:167b] +00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 3 [1022:167c] +00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 4 [1022:167d] +00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 5 [1022:167e] +00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 6 [1022:167f] +00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 7 [1022:1680] +01:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142/ASM3142 USB 3.1 Host Controller [1b21:2142] +02:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 03) +03:00.0 Network controller [0280]: MEDIATEK Corp. MT7921K (RZ608) Wi-Fi 6E 80MHz [14c3:0608] +04:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. OM8PGP4 NVMe PCIe SSD (DRAM-less) [2646:501b] +35:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c7) +35:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640] +35:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649] +35:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #3 [1022:161d] +35:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #4 [1022:161e] +35:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 60) +35:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3] +36:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #8 [1022:161f] +36:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #5 [1022:15d6] +36:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #6 [1022:15d7] +36:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4/Thunderbolt NHI controller #1 [1022:162e] +``` diff --git a/minisforum/um690/default.nix b/minisforum/um690/default.nix new file mode 100644 index 00000000..f1534d8a --- /dev/null +++ b/minisforum/um690/default.nix @@ -0,0 +1,9 @@ +# Minisforum UM690 +# AMD Ryzen 9 6900HX (Rembrandt, Zen 3+), Radeon 680M +{ ... }: + +{ + imports = [ + ../um-series.nix + ]; +} diff --git a/minisforum/um690s/README.md b/minisforum/um690s/README.md new file mode 100644 index 00000000..b31f7b42 --- /dev/null +++ b/minisforum/um690s/README.md @@ -0,0 +1,56 @@ +# Minisforum UM690S + +Slim variant of the UM690 mini PC with AMD Ryzen 9 6900HX (Rembrandt, Zen 3+) and Radeon 680M integrated graphics. + +## Features + +- AMD Ryzen 9 6900HX processor +- AMD Radeon 680M integrated GPU +- NVMe SSD support +- USB4/Thunderbolt support +- 2.5GbE Ethernet (Intel I226-V) +- Wi-Fi 6E (MediaTek MT7921) + +## Tested Hardware + +``` +00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Root Complex [1022:14b5] (rev 01) +00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h IOMMU [1022:14b6] +00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14b8] +00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge [1022:14ba] +00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14cd] +00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy Host Bridge [1022:14b7] (rev 01) +00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe GPP Bridge [1022:14b9] (rev 10) +00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe GPP Bridge [1022:14b9] (rev 10) +00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71) +00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) +00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 0 [1022:1679] +00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 1 [1022:167a] +00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 2 [1022:167b] +00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 3 [1022:167c] +00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 4 [1022:167d] +00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 5 [1022:167e] +00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 6 [1022:167f] +00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device 18h; Function 7 [1022:1680] +01:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142/ASM3142 USB 3.1 Host Controller [1b21:2142] +02:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04) +03:00.0 Network controller [0280]: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter [14c3:7961] +04:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. OM8PGP4 NVMe PCIe SSD (DRAM-less) [2646:501b] +35:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c7) +35:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640] +35:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h PSP/CCP [1022:1649] +35:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #3 [1022:161d] +35:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #4 [1022:161e] +35:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 60) +35:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3] +36:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #8 [1022:161f] +36:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #5 [1022:15d6] +36:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller #6 [1022:15d7] +36:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4/Thunderbolt NHI controller #1 [1022:162e] +``` diff --git a/minisforum/um690s/default.nix b/minisforum/um690s/default.nix new file mode 100644 index 00000000..9c09971c --- /dev/null +++ b/minisforum/um690s/default.nix @@ -0,0 +1,10 @@ +# Minisforum UM690S +# AMD Ryzen 9 6900HX (Rembrandt, Zen 3+), Radeon 680M +# Slim variant of UM690 +{ ... }: + +{ + imports = [ + ../um-series.nix + ]; +} diff --git a/minisforum/um790-pro/README.md b/minisforum/um790-pro/README.md new file mode 100644 index 00000000..a8895d5c --- /dev/null +++ b/minisforum/um790-pro/README.md @@ -0,0 +1,58 @@ +# Minisforum UM790 Pro + +Mini PC with AMD Ryzen 9 7940HS (Phoenix, Zen 4) and Radeon 780M integrated graphics. + +## Features + +- AMD Ryzen 9 7940HS processor +- AMD Radeon 780M integrated GPU (RDNA 3) +- NVMe SSD support +- USB4/Thunderbolt support +- 2.5GbE Ethernet (Realtek RTL8125) +- Wi-Fi 6E (Intel AX210) + +## Tested Hardware + +``` +00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Root Complex [1022:14e8] +00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Phoenix IOMMU [1022:14e9] +00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea] +00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea] +00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix GPP Bridge [1022:14ee] +00:02.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix GPP Bridge [1022:14ee] +00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix GPP Bridge [1022:14ee] +00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea] +00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef] +00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea] +00:04.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef] +00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea] +00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] +00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] +00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] +00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71) +00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) +00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 0 [1022:14f0] +00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 1 [1022:14f1] +00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 2 [1022:14f2] +00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 3 [1022:14f3] +00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 4 [1022:14f4] +00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 5 [1022:14f5] +00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 6 [1022:14f6] +00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 7 [1022:14f7] +01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05) +02:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak] [8086:2725] (rev 1a) +03:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. OM8PGP4 NVMe PCIe SSD (DRAM-less) [2646:501b] +c4:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c1) +c4:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640] +c4:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Phoenix CCP/PSP 3.0 Device [1022:15c7] +c4:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b9] +c4:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ba] +c4:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 63) +c4:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3] +c5:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Function [1022:14ec] +c6:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Function [1022:14ec] +c6:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c0] +c6:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c1] +c6:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #1 [1022:1668] +c6:00.6 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #2 [1022:1669] +``` diff --git a/minisforum/um790-pro/default.nix b/minisforum/um790-pro/default.nix new file mode 100644 index 00000000..99dba31a --- /dev/null +++ b/minisforum/um790-pro/default.nix @@ -0,0 +1,9 @@ +# Minisforum UM790 Pro +# AMD Ryzen 9 7940HS (Phoenix, Zen 4), Radeon 780M +{ ... }: + +{ + imports = [ + ../um-series.nix + ]; +} diff --git a/mnt/reform/dtsPatch.nix b/mnt/reform/dtsPatch.nix index 3cb77cb7..44e2993a 100644 --- a/mnt/reform/dtsPatch.nix +++ b/mnt/reform/dtsPatch.nix @@ -13,35 +13,46 @@ stdenv.mkDerivation { cp -r --reflink=auto ${kernelSource}/* linux chmod +w -R . env --chdir=linux QUILT_PATCHES=debian/patches quilt new reform/dts.patch + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/fsl-ls1028a-mnt-reform2.dts cp fsl-ls1028a-mnt-reform2.dts linux/arch/arm64/boot/dts/freescale/fsl-ls1028a-mnt-reform2.dts env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2-hdmi.dts cp imx8mq-mnt-reform2-hdmi.dts linux/arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2-hdmi.dts - env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/Makefile - sed -i '/fsl-ls1028a-rdb.dtb/a dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb' linux/arch/arm64/boot/dts/freescale/Makefile - sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb' linux/arch/arm64/boot/dts/freescale/Makefile env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mp-mnt-pocket-reform.dts cp imx8mp-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/freescale/imx8mp-mnt-pocket-reform.dts env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/imx8mp-mnt-reform2.dts cp imx8mp-mnt-reform2.dts linux/arch/arm64/boot/dts/freescale/imx8mp-mnt-reform2.dts + + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/freescale/Makefile + sed -i '/fsl-ls1028a-rdb.dtb/a dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb' linux/arch/arm64/boot/dts/freescale/Makefile sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/freescale/Makefile sed -i '/imx8mq-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb' linux/arch/arm64/boot/dts/freescale/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts cp meson-g12b-bananapi-cm4-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/amlogic/Makefile sed -i '/meson-g12b-bananapi-cm4-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/amlogic/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts cp rk3588-mnt-reform2.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2.dts env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2-dsi.dts cp rk3588-mnt-reform2-dsi.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform2-dsi.dts env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-pocket-reform.dts cp rk3588-mnt-pocket-reform.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-pocket-reform.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-desktop-reform.dts + cp rk3588-mnt-desktop-reform.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-desktop-reform.dts env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/rk3588-mnt-reform-next.dts cp rk3588-mnt-reform-next.dts linux/arch/arm64/boot/dts/rockchip/rk3588-mnt-reform-next.dts + env --chdir=linux QUILT_PATCHES=debian/patches quilt add arch/arm64/boot/dts/rockchip/Makefile sed -i '/rk3588-mnt-reform2.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile sed -i '/rk3588-mnt-reform2-dsi.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile - sed -i '/rk3588-mnt-reform-next.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-reform2-dsi.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-pocket-reform.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-desktop-reform.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + sed -i '/rk3588-mnt-pocket-reform.dtb/a dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb' linux/arch/arm64/boot/dts/rockchip/Makefile + env --chdir=linux QUILT_PATCHES=debian/patches quilt refresh cp linux/debian/patches/reform/dts.patch $out ''; diff --git a/mnt/reform/kernel.nix b/mnt/reform/kernel.nix index 813b2c81..d090f55e 100644 --- a/mnt/reform/kernel.nix +++ b/mnt/reform/kernel.nix @@ -26,7 +26,7 @@ let src = fetchzip { url = "mirror://kernel/linux/kernel/v${lib.versions.major modDirVersion}.x/linux-${modDirVersion}.tar.xz"; - hash = "sha256-PLMxGXbKztn4MubhKVqSCSzf+UYL50NI48bikMxgghg="; + hash = "sha256-MibiVni0N37BxOrD53cDGitIbC24p9+7551qMQIcSHY="; }; kernelPatches = @@ -135,7 +135,7 @@ let GPIO_ROCKCHIP = yes; PL330_DMA = yes; - DRM_ZYNQMP_DPSUB = no; # patches for 6.17 break this driver + DRM_ZYNQMP_DPSUB = no; # patches for 6.18 break this driver }; } // (args.argsOverride or { }) diff --git a/mnt/reform/kernelPatches.nix b/mnt/reform/kernelPatches.nix index ad6cf95a..9c140840 100644 --- a/mnt/reform/kernelPatches.nix +++ b/mnt/reform/kernelPatches.nix @@ -1,103 +1,99 @@ [ - "linux/patches6.17/imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch" - "linux/patches6.17/imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch" - "linux/patches6.17/imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch" - "linux/patches6.17/imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch" - "linux/patches6.17/imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch" - "linux/patches6.17/ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch" - "linux/patches6.17/meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch" - "linux/patches6.17/rk3588-mnt-reform2/0001-MERGED-drm-bridge-Pass-down-connector-to-drm-bridge-.patch" - "linux/patches6.17/rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch" - "linux/patches6.17/rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch" - "linux/patches6.17/rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch" - "linux/patches6.17/rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch" - "linux/patches6.17/rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch" - "linux/patches6.17/rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch" - "linux/patches6.17/rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0036-dt-bindings-display-rockchip-Add-schema-for-RK3588-D.patch" - "linux/patches6.17/rk3588-mnt-reform2/0037-drm-bridge-synopsys-Add-DW-DPTX-Controller-support-l.patch" - "linux/patches6.17/rk3588-mnt-reform2/0038-drm-rockchip-Add-RK3588-DPTX-output-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0042-arm64-dts-rockchip-Add-DP0-for-rk3588.patch" - "linux/patches6.17/rk3588-mnt-reform2/0043-arm64-dts-rockchip-Add-DP1-for-rk3588.patch" - "linux/patches6.17/rk3588-mnt-reform2/0046-arm64-defconfig-Enable-Rockchip-RK3588-DisplayPort-C.patch" - "linux/patches6.17/rk3588-mnt-reform2/0055-phy-rockchip-usbdp-move-orientation-handling-further.patch" - "linux/patches6.17/rk3588-mnt-reform2/0056-phy-rockchip-usbdp-reset-USB3-and-reinit-on-orientat.patch" - "linux/patches6.17/rk3588-mnt-reform2/0063-thermal-rockchip-unify-struct-rockchip_tsadc_chip-fo.patch" - "linux/patches6.17/rk3588-mnt-reform2/0064-thermal-rockchip-shut-up-GRF-warning.patch" - "linux/patches6.17/rk3588-mnt-reform2/0065-thermal-rockchip-simplify-GRF-logic.patch" - "linux/patches6.17/rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0068-drm-bridge-dw-hdmi-qp-Add-CEC-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0069-drm-bridge-dw-hdmi-qp-Fixup-timer-base-setup.patch" - "linux/patches6.17/rk3588-mnt-reform2/0070-drm-rockchip-dw_hdmi_qp-Improve-error-handling-with-.patch" - "linux/patches6.17/rk3588-mnt-reform2/0071-drm-rockchip-dw_hdmi_qp-Provide-CEC-IRQ-in-dw_hdmi_q.patch" - "linux/patches6.17/rk3588-mnt-reform2/0072-drm-rockchip-dw_hdmi_qp-Provide-ref-clock-rate-in-dw.patch" - "linux/patches6.17/rk3588-mnt-reform2/0073-arm64-defconfig-Enable-DW-HDMI-QP-CEC-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0075-phy-hdmi-Add-HDMI-2.1-FRL-configuration-options.patch" - "linux/patches6.17/rk3588-mnt-reform2/0076-phy-rockchip-samsung-hdptx-Fix-reported-clock-rate-i.patch" - "linux/patches6.17/rk3588-mnt-reform2/0077-phy-rockchip-samsung-hdptx-Reduce-ROPLL-loop-bandwid.patch" - "linux/patches6.17/rk3588-mnt-reform2/0078-phy-rockchip-samsung-hdptx-Prevent-Inter-Pair-Skew-f.patch" - "linux/patches6.17/rk3588-mnt-reform2/0079-phy-rockchip-samsung-hdptx-Use-usleep_range-instead-.patch" - "linux/patches6.17/rk3588-mnt-reform2/0080-phy-rockchip-samsung-hdptx-Fix-coding-style-alignmen.patch" - "linux/patches6.17/rk3588-mnt-reform2/0081-phy-rockchip-samsung-hdptx-Consistently-use-rk_-hdpt.patch" - "linux/patches6.17/rk3588-mnt-reform2/0082-phy-rockchip-samsung-hdptx-Enable-lane-output-in-com.patch" - "linux/patches6.17/rk3588-mnt-reform2/0083-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_seq-lis.patch" - "linux/patches6.17/rk3588-mnt-reform2/0084-phy-rockchip-samsung-hdptx-Compute-clk-rate-from-PLL.patch" - "linux/patches6.17/rk3588-mnt-reform2/0085-phy-rockchip-samsung-hdptx-Drop-hw_rate-driver-data.patch" - "linux/patches6.17/rk3588-mnt-reform2/0086-phy-rockchip-samsung-hdptx-Switch-to-driver-specific.patch" - "linux/patches6.17/rk3588-mnt-reform2/0087-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_phy_verif.patch" - "linux/patches6.17/rk3588-mnt-reform2/0088-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0089-drm-rockchip-vop2-Check-bpc-before-switching-DCLK-so.patch" - "linux/patches6.17/rk3588-mnt-reform2/0090-drm-bridge-dw-hdmi-qp-Handle-platform-supported-form.patch" - "linux/patches6.17/rk3588-mnt-reform2/0091-drm-rockchip-dw_hdmi_qp-Switch-to-phy_configure.patch" - "linux/patches6.17/rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Use-bit-macros-for-RK3576-re.patch" - "linux/patches6.17/rk3588-mnt-reform2/0093-drm-rockchip-dw_hdmi_qp-Add-high-color-depth-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0094-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch" - "linux/patches6.17/rk3588-mnt-reform2/0095-WIP-SCRAMB-drm-bridge-Add-detect_ctx-hook.patch" - "linux/patches6.17/rk3588-mnt-reform2/0096-WIP-SCRAMB-drm-bridge-connector-Switch-from-detect-t.patch" - "linux/patches6.17/rk3588-mnt-reform2/0097-WIP-SCRAMB-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock.patch" - "linux/patches6.17/rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch" - "linux/patches6.17/rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch" - "linux/patches6.17/rk3588-mnt-reform2/0100-WIP-FRL-dt-bindings-display-rockchip-Add-tmds-enable.patch" - "linux/patches6.17/rk3588-mnt-reform2/0101-WIP-FRL-drm-rockchip-dw_hdmi_qp-Fixup-usage-of-enabl.patch" - "linux/patches6.17/rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch" - "linux/patches6.17/rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch" - "linux/patches6.17/rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch" - "linux/patches6.17/rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch" - "linux/patches6.17/rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch" - "linux/patches6.17/rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch" - "linux/patches6.17/rk3588-mnt-reform2/0114-media-dt-bindings-video-interfaces-add-defines-for-s.patch" - "linux/patches6.17/rk3588-mnt-reform2/0142-drm-bridge-dw-hdmi-qp-Fix-spurious-IRQ-on-resume.patch" - "linux/patches6.17/rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch" - "linux/patches6.17/rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch" - "linux/patches6.17/rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch" + "linux/patches6.18/imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch" + "linux/patches6.18/imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch" + "linux/patches6.18/imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch" + "linux/patches6.18/imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch" + "linux/patches6.18/ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch" + "linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch" + "linux/patches6.18/rk3588-mnt-reform2/0001-MERGED-drm-bridge-Pass-down-connector-to-drm-bridge-.patch" + "linux/patches6.18/rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch" + "linux/patches6.18/rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch" + "linux/patches6.18/rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch" + "linux/patches6.18/rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch" + "linux/patches6.18/rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch" + "linux/patches6.18/rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch" + "linux/patches6.18/rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0046-arm64-defconfig-Enable-Rockchip-RK3588-DisplayPort-C.patch" + "linux/patches6.18/rk3588-mnt-reform2/0055-phy-rockchip-usbdp-move-orientation-handling-further.patch" + "linux/patches6.18/rk3588-mnt-reform2/0056-phy-rockchip-usbdp-reset-USB3-and-reinit-on-orientat.patch" + "linux/patches6.18/rk3588-mnt-reform2/0060-PCI-dw-rockchip-Rename-rockchip_pcie_get_ltssm-funct.patch" + "linux/patches6.18/rk3588-mnt-reform2/0061-PCI-dw-rockchip-Support-get_ltssm-operation.patch" + "linux/patches6.18/rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch" + "linux/patches6.18/rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch" + "linux/patches6.18/rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch" + "linux/patches6.18/rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch" + "linux/patches6.18/rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0068-drm-bridge-dw-hdmi-qp-Add-CEC-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0069-drm-bridge-dw-hdmi-qp-Fixup-timer-base-setup.patch" + "linux/patches6.18/rk3588-mnt-reform2/0070-drm-rockchip-dw_hdmi_qp-Improve-error-handling-with-.patch" + "linux/patches6.18/rk3588-mnt-reform2/0071-drm-rockchip-dw_hdmi_qp-Provide-CEC-IRQ-in-dw_hdmi_q.patch" + "linux/patches6.18/rk3588-mnt-reform2/0072-drm-rockchip-dw_hdmi_qp-Provide-ref-clock-rate-in-dw.patch" + "linux/patches6.18/rk3588-mnt-reform2/0073-arm64-defconfig-Enable-DW-HDMI-QP-CEC-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0075-phy-hdmi-Add-HDMI-2.1-FRL-configuration-options.patch" + "linux/patches6.18/rk3588-mnt-reform2/0079-phy-rockchip-samsung-hdptx-Use-usleep_range-instead-.patch" + "linux/patches6.18/rk3588-mnt-reform2/0080-phy-rockchip-samsung-hdptx-Fix-coding-style-alignmen.patch" + "linux/patches6.18/rk3588-mnt-reform2/0081-phy-rockchip-samsung-hdptx-Consistently-use-rk_-hdpt.patch" + "linux/patches6.18/rk3588-mnt-reform2/0082-phy-rockchip-samsung-hdptx-Enable-lane-output-in-com.patch" + "linux/patches6.18/rk3588-mnt-reform2/0083-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_seq-lis.patch" + "linux/patches6.18/rk3588-mnt-reform2/0084-phy-rockchip-samsung-hdptx-Compute-clk-rate-from-PLL.patch" + "linux/patches6.18/rk3588-mnt-reform2/0085-phy-rockchip-samsung-hdptx-Drop-hw_rate-driver-data.patch" + "linux/patches6.18/rk3588-mnt-reform2/0086-phy-rockchip-samsung-hdptx-Switch-to-driver-specific.patch" + "linux/patches6.18/rk3588-mnt-reform2/0087-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_phy_verif.patch" + "linux/patches6.18/rk3588-mnt-reform2/0088-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0089-drm-rockchip-vop2-Check-bpc-before-switching-DCLK-so.patch" + "linux/patches6.18/rk3588-mnt-reform2/0090-drm-bridge-dw-hdmi-qp-Handle-platform-supported-form.patch" + "linux/patches6.18/rk3588-mnt-reform2/0091-drm-rockchip-dw_hdmi_qp-Switch-to-phy_configure.patch" + "linux/patches6.18/rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Use-bit-macros-for-RK3576-re.patch" + "linux/patches6.18/rk3588-mnt-reform2/0093-drm-rockchip-dw_hdmi_qp-Add-high-color-depth-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0094-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch" + "linux/patches6.18/rk3588-mnt-reform2/0095-WIP-SCRAMB-drm-bridge-Add-detect_ctx-hook.patch" + "linux/patches6.18/rk3588-mnt-reform2/0096-WIP-SCRAMB-drm-bridge-connector-Switch-from-detect-t.patch" + "linux/patches6.18/rk3588-mnt-reform2/0097-WIP-SCRAMB-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock.patch" + "linux/patches6.18/rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch" + "linux/patches6.18/rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch" + "linux/patches6.18/rk3588-mnt-reform2/0100-WIP-FRL-dt-bindings-display-rockchip-Add-tmds-enable.patch" + "linux/patches6.18/rk3588-mnt-reform2/0101-WIP-FRL-drm-rockchip-dw_hdmi_qp-Fixup-usage-of-enabl.patch" + "linux/patches6.18/rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch" + "linux/patches6.18/rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch" + "linux/patches6.18/rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch" + "linux/patches6.18/rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch" + "linux/patches6.18/rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch" + "linux/patches6.18/rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch" + "linux/patches6.18/rk3588-mnt-reform2/0114-media-dt-bindings-video-interfaces-add-defines-for-s.patch" + "linux/patches6.18/rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch" + "linux/patches6.18/rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch" + "linux/patches6.18/rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch" + "linux/patches6.18/rk3588-mnt-reform2/7001-PCI-dw-rockchip-Disable-root-port-BARs.patch" ] diff --git a/mnt/reform/rk3588/default.nix b/mnt/reform/rk3588/default.nix index f0bea6d4..09ecfbda 100644 --- a/mnt/reform/rk3588/default.nix +++ b/mnt/reform/rk3588/default.nix @@ -11,6 +11,7 @@ kernelParams = [ "no_console_suspend" "console=tty1" + "pcie_aspm=off" # pcie seems broken on kernel 6.18 https://community.mnt.re/t/error-message-after-apt-update-upgrade/4188/7 ]; # kernel modules needed for the virtual console initrd.availableKernelModules = [ diff --git a/mnt/reform/sources.json b/mnt/reform/sources.json index a4cdc391..8208e7ec 100644 --- a/mnt/reform/sources.json +++ b/mnt/reform/sources.json @@ -1,10 +1,10 @@ { - "modDirVersion": "6.17.8", + "modDirVersion": "6.18.8", "reformDebianPackages": { "domain": "source.mnt.re", "owner": "reform", "repo": "reform-debian-packages", - "rev": "8268e5ebcf049afad80b470025adba75305d2c80", - "hash": "sha256-Set1jLoiyCAgE9vlRpwsFzDueHmp+B680+JxCVth6+U=" + "rev": "7e8a95c7babd9e1f4b307b6d146e0846c65fc9b8", + "hash": "sha256-D3Q2AP9wJwpVyLjhroY2o8FX7+NmvhDP8cZK7dap9Dw=" } } diff --git a/starfive/visionfive/v2/default.nix b/starfive/visionfive/v2/default.nix index a42c6069..dd925fc3 100644 --- a/starfive/visionfive/v2/default.nix +++ b/starfive/visionfive/v2/default.nix @@ -11,8 +11,6 @@ boot = { consoleLogLevel = lib.mkDefault 7; - # Switch to default as soon they reach >= 6.11 - kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; initrd.availableKernelModules = [ "dw_mmc_starfive" ]; @@ -31,10 +29,4 @@ }; }; - assertions = [ - { - assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.11"; - message = "The VisionFive 2 requires at least mainline kernel version 6.11 for minimum hardware support."; - } - ]; }