From b6f5238e62076206a787eaf7f4dd3d92a6fed341 Mon Sep 17 00:00:00 2001 From: Jeremy O'Brien Date: Fri, 8 May 2026 11:07:42 -0400 Subject: [PATCH] asus/flow/gz302ea: init --- README.md | 1 + asus/flow/gz302ea/default.nix | 68 +++++++++++++++++++++++++++++++++++ flake.nix | 1 + 3 files changed, 70 insertions(+) create mode 100644 asus/flow/gz302ea/default.nix diff --git a/README.md b/README.md index c61b7eb9c..12ec228fc 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,7 @@ See code for all available configurations. | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/amdgpu) | `` | `asus-flow-gv302x-amdgpu` | | [Asus ROG Flow X13 GV302X\* (2023)](asus/flow/gv302x/nvidia) | `` | `asus-flow-gv302x-nvidia` | | [Asus ROG Flow Z13 gz301vu\* (2023)](asus/flow/gz301vu) | `` | `asus-flow-gz301vu` | +| [Asus ROG Flow Z13 GZ302EA (2025, Strix Halo)](asus/flow/gz302ea) | `` | `asus-flow-gz302ea` | | [Asus ROG GL552VW](asus/rog-gl552vw) | `` | `asus-rog-gl552vw` | | [Asus ROG Strix G513IM](asus/rog-strix/g513im) | `` | `asus-rog-strix-g513im` | | [Asus ROG Strix G533ZW](asus/rog-strix/g533zw) | `` | `asus-rog-strix-g533zw` | diff --git a/asus/flow/gz302ea/default.nix b/asus/flow/gz302ea/default.nix new file mode 100644 index 000000000..eec7d80d4 --- /dev/null +++ b/asus/flow/gz302ea/default.nix @@ -0,0 +1,68 @@ +{ + pkgs, + lib, + ... +}: + +let + inherit (lib) mkDefault; +in +{ + + imports = [ + ../../../common/cpu/amd + ../../../common/cpu/amd/pstate.nix + ../../../common/gpu/amd + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + boot = { + # kernel >7.2-rc1 where ism was rewritten + kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "7.2") pkgs.linuxPackages_testing; + kernelModules = [ "kvm-amd" ]; + kernelParams = [ + "pcie_aspm.policy=powersupersave" + "amdgpu.dcdebugmask=0x410" # 0x10 = disable PSR, 0x400 = disable panel replay + ]; + }; + + # linux-firmware pinned past the 20260622 release for the DMCUB + # 0.1.65.0 update (e3e36153, 2026-06-26, includes dcn_3_5_1) + nixpkgs.overlays = [ + (final: prev: { + linux-firmware = + if lib.versionOlder prev.linux-firmware.version "20260626" then + prev.linux-firmware.overrideAttrs { + version = "20260622-unstable-2026-06-26"; + src = final.fetchFromGitLab { + owner = "kernel-firmware"; + repo = "linux-firmware"; + rev = "e3e36153ce3fff3f9c063dec7c267ce676a00a50"; + hash = "sha256-XtTS975qrdABk0xCnisBgCEGvCIRzkoupsimXXGSuBQ="; + }; + } + else + prev.linux-firmware; + }) + ]; + + hardware.bluetooth.enable = mkDefault true; + + services = { + asusd.enable = mkDefault true; + + # services.asusd enables supergfxd, and we only have one gpu + supergfxd.enable = false; + + udev.extraRules = '' + # The GZ302EA folio touchpad is USB-attached, so systemd's input_id builtin + # tags it as an *external* touchpad and libinput then hides "disable while + # typing" support. Force the touchpad to be internal. + ACTION=="add|change", SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_TOUCHPAD}=="1", ENV{ID_VENDOR_ID}=="0b05", ENV{ID_MODEL_ID}=="1a30", ENV{ID_INPUT_TOUCHPAD_INTEGRATION}="internal" + ''; + }; + + # for screen auto-rotate + hardware.sensor.iio.enable = mkDefault true; +} diff --git a/flake.nix b/flake.nix index 281c632a8..3333677a7 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,7 @@ asus-flow-gz301vu = import ./asus/flow/gz301vu; asus-proart-px13 = import ./asus/proart/px13; asus-proart-px13-hn7306eac = import ./asus/proart/px13/hn7306eac; + asus-flow-gz302ea = import ./asus/flow/gz302ea; asus-pro-ws-x570-ace = import ./asus/pro-ws-x570-ace; asus-rog-gl552vw = import ./asus/rog-gl552vw; asus-rog-strix-g513im = import ./asus/rog-strix/g513im;