feat: update desktop environment configuration from COSMIC to GNOME and add kernel patches for Zenbook

This commit is contained in:
2025-09-26 10:20:39 -03:00
parent 642ff1820e
commit 66e65b91ea
6 changed files with 322 additions and 78 deletions

148
flake.lock generated
View File

@@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757330146, "lastModified": 1758879564,
"narHash": "sha256-ujlZerjj0ouA63nftpoHF/tA+xE5gDJZVBuuZP6YS+Q=", "narHash": "sha256-qh5X63FN7Wm8tIOhhWD6HaDDUzKX0PRSIegZSwB2VLI=",
"owner": "aylur", "owner": "aylur",
"repo": "ags", "repo": "ags",
"rev": "5347d21c2289df157e91e297daa37572e0d277b5", "rev": "829827d9493e8a4ce2fdba34782c61eaa20351c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -127,11 +127,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1748883665, "lastModified": 1752264895,
"narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=", "narHash": "sha256-1zBPE/PNAkPNUsOWFET4J0cjlvziH8DOekesDmjND+w=",
"owner": "cachix", "owner": "cachix",
"repo": "cachix", "repo": "cachix",
"rev": "f707778d902af4d62d8dd92c269f8e70de09acbe", "rev": "47053aef762f452e816e44eb9a23fbc3827b241a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -152,11 +152,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757772762, "lastModified": 1758332798,
"narHash": "sha256-7m4hqYSgRe68lkzHFLb1GN5gQac4X4akKfKgFvhj/34=", "narHash": "sha256-ICRVTu6tDKoKRLpPcXb7oB6uAMut2GQvNOb9n0hGMuY=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "62e7911864ce6ec8a0b371735cf640d81821100e", "rev": "dd982bcb9612ccc0a31371a2c0053643bd37c968",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -174,11 +174,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1758031737, "lastModified": 1758868407,
"narHash": "sha256-D9e9R64xox8swabXvu0DEf8goazQGypjuLe6u7ejZ/k=", "narHash": "sha256-tuwgehceA4a29QwqUpbw5r9/dw+OKfmL/jrYtcaa92o=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "shell", "repo": "shell",
"rev": "542495c74faff1285fa7371d2e5cbb2e5294ef9d", "rev": "87d6196e4db057d51187eca04a23851d7e8de869",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -197,11 +197,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1757928168, "lastModified": 1758856036,
"narHash": "sha256-smFckXZeYHoS6330QBZf0K7JrmN+1hsHmIesKqTzU6U=", "narHash": "sha256-aAxkSZGkSWUwdouhpYKaadItc2TS84k5MhEAHF0Epc8=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "d9019631e0e965b78f94a63246863fa7d8315d17", "rev": "11380b77be7f8c0602a45c8625f255db9971a873",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -217,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757508292, "lastModified": 1758287904,
"narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", "narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", "rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -349,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750779888, "lastModified": 1758108966,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -424,11 +424,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1757943327, "lastModified": 1758663926,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -444,11 +444,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757997814, "lastModified": 1758876467,
"narHash": "sha256-F+1aoG+3NH4jDDEmhnDUReISyq6kQBBuktTUqCUWSiw=", "narHash": "sha256-ueGMsCYo6S6WiszKPpXoRCdMDVmsCwfA09L7blUEPlY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5820376beb804de9acf07debaaff1ac84728b708", "rev": "173a29f735c69950cfeaac310d7e567115976be0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -490,11 +490,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1758006511, "lastModified": 1758818425,
"narHash": "sha256-YmZX6Wydog4Q9p7dRZDFOFkUfCtQfoXRobmJdg3F1dg=", "narHash": "sha256-mNtae7u7vYOlj8kUD1nschvL33HPeEFl0WVI9DwiLDA=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "0be585b11314ac02804b4fe03196116c4f747d6d", "rev": "062a8edd61960989f518d41cbbb9bd57d1d128da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -523,11 +523,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1758000903, "lastModified": 1758691861,
"narHash": "sha256-FyfB40rl2mbRGIvF2/6Iwv9xHDxOmhaE1MhlV6Efsg4=", "narHash": "sha256-CYgoGrY/Fx+hjzp8graTxJw1M7mn1f2jBkK26M04T0s=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "c30e5c91851d77d48ff2120f0e710501b19d61b4", "rev": "e837e39623457dc5ad29c34a5ce4d4616e5fbf1e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -571,7 +571,7 @@
}, },
"original": { "original": {
"owner": "cachix", "owner": "cachix",
"ref": "devenv-2.30", "ref": "devenv-2.30.4",
"repo": "nix", "repo": "nix",
"type": "github" "type": "github"
} }
@@ -583,11 +583,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757430124, "lastModified": 1758805352,
"narHash": "sha256-MhDltfXesGH8VkGv3hmJ1QEKl1ChTIj9wmGAFfWj/Wk=", "narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "830b3f0b50045cf0bcfd4dab65fad05bf882e196", "rev": "c48e963a5558eb1c3827d59d21c5193622a1477c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -604,11 +604,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1757987447, "lastModified": 1758851723,
"narHash": "sha256-VbCSJEbiNtt8VTGkhCbSLwIs45013DHCXw2s8O27Xxs=", "narHash": "sha256-BNDR12ymasahEY+A7l0+6XNEb76DgNzYNhKWx0SHtn0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix4vscode", "repo": "nix4vscode",
"rev": "ac15473ac105ddb22395639470ad338e3c4fc7c9", "rev": "cab50c386a191d1348b0a016e7542603f259c2fc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -619,11 +619,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1757943327, "lastModified": 1758663926,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -634,11 +634,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1750441195, "lastModified": 1755783167,
"narHash": "sha256-yke+pm+MdgRb6c0dPt8MgDhv7fcBbdjmv1ZceNTyzKg=", "narHash": "sha256-gj7qvMNz7YvhjYxNq4I370cAYIZEw2PbVs5BSwaLrD4=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv-nixpkgs", "repo": "devenv-nixpkgs",
"rev": "0ceffe312871b443929ff3006960d29b120dc627", "rev": "4a880fb247d24fbca57269af672e8f78935b0328",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -666,11 +666,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1757810152, "lastModified": 1758589230,
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", "narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9a094440e02a699be5c57453a092a8baf569bdad", "rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -682,11 +682,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1757810152, "lastModified": 1758589230,
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", "narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9a094440e02a699be5c57453a092a8baf569bdad", "rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -698,11 +698,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1757745802, "lastModified": 1758690382,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "rev": "e643668fd71b949c53f8626614b21ff71a07379d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -714,11 +714,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1757745802, "lastModified": 1758690382,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "rev": "e643668fd71b949c53f8626614b21ff71a07379d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -762,11 +762,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757974173, "lastModified": 1758108966,
"narHash": "sha256-4DpXmct/2rcLgScT1CXOLr0TUeIlrBB1rnFqCOf5MUw=", "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "302af509428169db34f268324162712d10559f74", "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -783,11 +783,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756981260, "lastModified": 1758273351,
"narHash": "sha256-GhuD9QVimjynHI0OOyZsqJsnlXr2orowh9H+HYz4YMs=", "narHash": "sha256-wOv1guIi9THD1NjOtBU2Xh/Avg9xv7nIjsfFSkr1NeQ=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "6eb12551baf924f8fdecdd04113863a754259c34", "rev": "e9a574d919a89602d2868621576b2ccae54a5cb0",
"revCount": 672, "revCount": 675,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -838,11 +838,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1757956156, "lastModified": 1758757969,
"narHash": "sha256-f0W7qbsCqpi6swQ5w8H+0YrAbNwsHgCFDkNRMTJjqrE=", "narHash": "sha256-2zC4aHoDsR12Jyd6WvSxmQbAKT4V93frnHHDjA8o3r8=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "0ce0103b498bb22f899ed8862d8d7f9503ed9cdb", "rev": "484819a16fdc1c76cdd62d8e94018db44e5e1a8b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -983,11 +983,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1757179758, "lastModified": 1758577423,
"narHash": "sha256-TIvyWzRt1miQj6Cf5Wy8Qz43XIZX7c4vTVwRLAT5S4Y=", "narHash": "sha256-sB2GAOjhjoWnjU6A/uHNJiY6O3UeztV5pJAN2g1FkXU=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "970728d0d9d1eada342bb8860af214b601139e58", "rev": "03368548ba745e17a85bd631613a59cb2d8469a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1004,11 +1004,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757999874, "lastModified": 1758860615,
"narHash": "sha256-kgV3ms4hR86tIxaNAYJI8NNgkmEygN+JwkXCPAx2P2U=", "narHash": "sha256-ZNzHF498lMfv1N/tlfD/Oaanu+REnIhJdreo2rSzU1w=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "7dcbd22ca3943e4cfb3122f96cf515f028b3236a", "rev": "a5f59feaf757aecb12e2fa2490e8a7c1eed12173",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -10,7 +10,7 @@
# #
# FIXME(starter): add or remove any optional config directories or files ehre # FIXME(starter): add or remove any optional config directories or files ehre
common/optional/browsers common/optional/browsers
common/optional/desktops/cosmic common/optional/desktops/gnome
common/optional/desktops/gnome/zenbook-screen.nix common/optional/desktops/gnome/zenbook-screen.nix
common/optional/comms common/optional/comms
common/optional/media common/optional/media

View File

@@ -74,8 +74,8 @@
"hosts/common/optional/services/ollama.nix" "hosts/common/optional/services/ollama.nix"
"hosts/common/optional/services/docker.nix" "hosts/common/optional/services/docker.nix"
"hosts/common/optional/audio.nix" # pipewire and cli controls "hosts/common/optional/audio.nix" # pipewire and cli controls
"hosts/common/optional/cosmic.nix" "hosts/common/optional/gnome.nix"
"hosts/common/optional/cosmic-greeter.nix" "hosts/common/optional/gdm.nix"
"hosts/common/optional/flatpak.nix" "hosts/common/optional/flatpak.nix"
"hosts/common/optional/thermal-management.nix" "hosts/common/optional/thermal-management.nix"
"hosts/common/optional/system76-scheduler.nix" "hosts/common/optional/system76-scheduler.nix"

View File

@@ -14,7 +14,8 @@
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usbhid"]; boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usbhid"];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel" "evdi"]; boot.kernelPackages = pkgs.linuxPackages_zen;
boot.kernelModules = ["kvm-intel" "evdi" "intel_vpu"];
boot.kernelParams = [ boot.kernelParams = [
"i915.enable_guc=3" "i915.enable_guc=3"
#"i915.enable_psr=0" #"i915.enable_psr=0"
@@ -26,6 +27,12 @@
patch = ./zenbook-asus-wmi.patch; patch = ./zenbook-asus-wmi.patch;
} }
*/ */
/*
{
name = "zenbook-duo-suppress-rfkill-on-kbd-connect";
patch = ./zenbook-duo-suppress-rfkill-on-kbd-connect.patch;
}
*/
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@@ -0,0 +1,189 @@
From 2f8f8e6bb2da47c677a07f76f141c527ddd5d51c Mon Sep 17 00:00:00 2001
From: hacker1024 <hacker1024@users.sourceforge.net>
Date: Fri, 12 Apr 2024 13:59:24 +1000
Subject: [PATCH] asus-wmi: Add additional DEVID_THROTTLE_THERMAL_POLICY
---
drivers/platform/x86/asus-wmi.c | 102 +++++++++++++++------
include/linux/platform_data/x86/asus-wmi.h | 1 +
2 files changed, 76 insertions(+), 27 deletions(-)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 18be35fdb381..c7958b31dae0 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -93,9 +93,13 @@ module_param(fnlock_default, bool, 0444);
#define ASUS_FAN_BOOST_MODE_SILENT_MASK 0x02
#define ASUS_FAN_BOOST_MODES_MASK 0x03
+#define ASUS_THROTTLE_THERMAL_POLICY_COUNT 3
#define ASUS_THROTTLE_THERMAL_POLICY_DEFAULT 0
#define ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST 1
#define ASUS_THROTTLE_THERMAL_POLICY_SILENT 2
+#define ASUS_THROTTLE_THERMAL_POLICY_LITE_DEFAULT 0
+#define ASUS_THROTTLE_THERMAL_POLICY_LITE_OVERBOOST 2
+#define ASUS_THROTTLE_THERMAL_POLICY_LITE_SILENT 1
#define USB_INTEL_XUSB2PR 0xD0
#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI 0x9c31
@@ -282,6 +286,7 @@ struct asus_wmi {
bool kbd_rgb_state_available;
bool throttle_thermal_policy_available;
+ bool throttle_thermal_policy_lite;
u8 throttle_thermal_policy_mode;
bool cpu_fan_curve_available;
@@ -3404,6 +3409,14 @@ static int throttle_thermal_policy_check_present(struct asus_wmi *asus)
err = asus_wmi_get_devstate(asus,
ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY,
&result);
+ if (err == -ENODEV) {
+ err = asus_wmi_get_devstate(asus,
+ ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_LITE,
+ &result);
+ asus->throttle_thermal_policy_lite = true;
+ } else {
+ asus->throttle_thermal_policy_lite = false;
+ }
if (err) {
if (err == -ENODEV)
return 0;
@@ -3424,7 +3437,10 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
value = asus->throttle_thermal_policy_mode;
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY,
+ err = asus_wmi_set_devstate(
+ asus->throttle_thermal_policy_lite
+ ? ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_LITE
+ : ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY,
value, &retval);
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
@@ -3466,7 +3482,7 @@ static int throttle_thermal_policy_switch_next(struct asus_wmi *asus)
u8 new_mode = asus->throttle_thermal_policy_mode + 1;
int err;
- if (new_mode > ASUS_THROTTLE_THERMAL_POLICY_SILENT)
+ if (new_mode > ASUS_THROTTLE_THERMAL_POLICY_COUNT - 1)
new_mode = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
asus->throttle_thermal_policy_mode = new_mode;
@@ -3505,7 +3521,7 @@ static ssize_t throttle_thermal_policy_store(struct device *dev,
if (result < 0)
return result;
- if (new_mode > ASUS_THROTTLE_THERMAL_POLICY_SILENT)
+ if (new_mode > ASUS_THROTTLE_THERMAL_POLICY_COUNT - 1)
return -EINVAL;
asus->throttle_thermal_policy_mode = new_mode;
@@ -3536,18 +3552,34 @@ static int asus_wmi_platform_profile_get(struct platform_profile_handler *pprof,
tp = asus->throttle_thermal_policy_mode;
- switch (tp) {
- case ASUS_THROTTLE_THERMAL_POLICY_DEFAULT:
- *profile = PLATFORM_PROFILE_BALANCED;
- break;
- case ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST:
- *profile = PLATFORM_PROFILE_PERFORMANCE;
- break;
- case ASUS_THROTTLE_THERMAL_POLICY_SILENT:
- *profile = PLATFORM_PROFILE_QUIET;
- break;
- default:
- return -EINVAL;
+ if (!asus->throttle_thermal_policy_lite) {
+ switch (tp) {
+ case ASUS_THROTTLE_THERMAL_POLICY_DEFAULT:
+ *profile = PLATFORM_PROFILE_BALANCED;
+ break;
+ case ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST:
+ *profile = PLATFORM_PROFILE_PERFORMANCE;
+ break;
+ case ASUS_THROTTLE_THERMAL_POLICY_SILENT:
+ *profile = PLATFORM_PROFILE_QUIET;
+ break;
+ default:
+ return -EINVAL;
+ }
+ } else {
+ switch (tp) {
+ case ASUS_THROTTLE_THERMAL_POLICY_LITE_DEFAULT:
+ *profile = PLATFORM_PROFILE_BALANCED;
+ break;
+ case ASUS_THROTTLE_THERMAL_POLICY_LITE_OVERBOOST:
+ *profile = PLATFORM_PROFILE_PERFORMANCE;
+ break;
+ case ASUS_THROTTLE_THERMAL_POLICY_LITE_SILENT:
+ *profile = PLATFORM_PROFILE_QUIET;
+ break;
+ default:
+ return -EINVAL;
+ }
}
return 0;
@@ -3561,18 +3593,34 @@ static int asus_wmi_platform_profile_set(struct platform_profile_handler *pprof,
asus = container_of(pprof, struct asus_wmi, platform_profile_handler);
- switch (profile) {
- case PLATFORM_PROFILE_PERFORMANCE:
- tp = ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST;
- break;
- case PLATFORM_PROFILE_BALANCED:
- tp = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
- break;
- case PLATFORM_PROFILE_QUIET:
- tp = ASUS_THROTTLE_THERMAL_POLICY_SILENT;
- break;
- default:
- return -EOPNOTSUPP;
+ if (!asus->throttle_thermal_policy_lite) {
+ switch (profile) {
+ case PLATFORM_PROFILE_PERFORMANCE:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_OVERBOOST;
+ break;
+ case PLATFORM_PROFILE_BALANCED:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
+ break;
+ case PLATFORM_PROFILE_QUIET:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_SILENT;
+ break;
+ default:
+ return -EOPNOTSUPP;
+ }
+ } else {
+ switch (profile) {
+ case PLATFORM_PROFILE_PERFORMANCE:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_LITE_OVERBOOST;
+ break;
+ case PLATFORM_PROFILE_BALANCED:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_LITE_DEFAULT;
+ break;
+ case PLATFORM_PROFILE_QUIET:
+ tp = ASUS_THROTTLE_THERMAL_POLICY_LITE_SILENT;
+ break;
+ default:
+ return -EOPNOTSUPP;
+ }
}
asus->throttle_thermal_policy_mode = tp;
diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
index ab1c7deff118..ddf5b3766cd2 100644
--- a/include/linux/platform_data/x86/asus-wmi.h
+++ b/include/linux/platform_data/x86/asus-wmi.h
@@ -64,6 +64,7 @@
#define ASUS_WMI_DEVID_SCREENPAD_LIGHT 0x00050032
#define ASUS_WMI_DEVID_FAN_BOOST_MODE 0x00110018
#define ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY 0x00120075
+#define ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY_LITE 0x00110019
/* Misc */
#define ASUS_WMI_DEVID_PANEL_OD 0x00050019
--
2.44.0

View File

@@ -0,0 +1,48 @@
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
index fceffe2082ec..ed3633c5955d 100644
--- a/drivers/platform/x86/asus-nb-wmi.c
+++ b/drivers/platform/x86/asus-nb-wmi.c
@@ -145,6 +145,10 @@ static
struct quirk_entry quirk_asus_ignore_fan = {
.wmi_ignore_fan = true,
};
+static
+struct quirk_entry quirk_asus_zenbook_duo_kbd = {
+ .ignore_key_wlan = true,
+};
+
static int dmi_matched(const struct dmi_system_id *dmi)
{
pr_info("Identified laptop model '%s'\n", dmi->ident);
@@ -516,6 +520,15 @@ static const struct
dmi_system_id asus_quirks[] = {
...
@@ -630,7 +643,12 @@ static void
asus_nb_wmi_key_filter(struct asus_wmi_driver *asus_wmi, int *code,
...
case 0x32: /* Volume Mute */
if (atkbd_reports_vol_keys)
*code = ASUS_WMI_KEY_IGNORE;
-
+ break;
+ case 0x5D: /* Wireless console Toggle */
+ case 0x5E: /* Wireless console Enable */
+ case 0x5F: /* Wireless console Disable */
+ if (quirks->ignore_key_wlan)
+ *code = ASUS_WMI_KEY_IGNORE;
break;
}
}
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h
index cc30f1853847..a6ee9440d932 100644
@@ -50,6 +50,7 @@ struct quirk_entry {
*/
int no_display_toggle;
u32 xusb2pr;
+ bool ignore_key_wlan;
};
struct asus_wmi_driver {