From 574b954866a5c52554a3c0f8aa2d3a13947da39c Mon Sep 17 00:00:00 2001 From: rustysec Date: Sat, 29 Nov 2025 23:49:24 -0800 Subject: [PATCH 01/12] add support for ga403wr, zephyrus g14 2025 --- rog-slash/src/data.rs | 8 +++++++- rog-slash/src/usb.rs | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/rog-slash/src/data.rs b/rog-slash/src/data.rs index 317f5c73..47c18dac 100644 --- a/rog-slash/src/data.rs +++ b/rog-slash/src/data.rs @@ -13,6 +13,7 @@ use crate::usb::{PROD_ID1, PROD_ID1_STR, PROD_ID2, PROD_ID2_STR}; #[derive(Default, Debug, Copy, Clone, PartialEq, Eq, Deserialize, Serialize)] pub enum SlashType { GA403, + GA403WR, GA605, GU605, #[default] @@ -22,6 +23,7 @@ pub enum SlashType { impl SlashType { pub const fn prod_id(&self) -> u16 { match self { + SlashType::GA403WR => PROD_ID2, SlashType::GA403 => PROD_ID1, SlashType::GA605 => PROD_ID2, SlashType::GU605 => PROD_ID1, @@ -31,6 +33,7 @@ impl SlashType { pub const fn prod_id_str(&self) -> &str { match self { + SlashType::GA403WR => PROD_ID2_STR, SlashType::GA403 => PROD_ID1_STR, SlashType::GA605 => PROD_ID2_STR, SlashType::GU605 => PROD_ID1_STR, @@ -40,7 +43,9 @@ impl SlashType { pub fn from_dmi() -> Self { let board_name = DMIID::new().unwrap_or_default().board_name.to_uppercase(); - if board_name.contains("GA403") { + if board_name.contains("GA403WR") { + SlashType::GA403WR + } else if board_name.contains("GA403") { SlashType::GA403 } else if board_name.contains("GA605") { SlashType::GA605 @@ -57,6 +62,7 @@ impl FromStr for SlashType { fn from_str(s: &str) -> std::result::Result { Ok(match s { + "ga403wr" | "GA403WR" => Self::GA403WR, "ga403" | "GA403" => Self::GA403, "ga605" | "GA605" => Self::GA605, "gu605" | "GU605" => Self::GU605, diff --git a/rog-slash/src/usb.rs b/rog-slash/src/usb.rs index 74183df8..f9ba7098 100644 --- a/rog-slash/src/usb.rs +++ b/rog-slash/src/usb.rs @@ -38,8 +38,9 @@ pub fn get_slash_type() -> SlashType { .map_err(|_| SlashError::NoDevice) .unwrap_or_default(); let board_name = dmi.board_name; - - if board_name.contains("GA403") { + if board_name.contains("GA403WR") { + SlashType::GA403WR + } else if board_name.contains("GA403") { SlashType::GA403 } else if board_name.contains("GA605") { SlashType::GA605 @@ -52,6 +53,7 @@ pub fn get_slash_type() -> SlashType { pub const fn report_id(slash_type: SlashType) -> u8 { match slash_type { + SlashType::GA403WR => REPORT_ID_19B6, SlashType::GA403 => REPORT_ID_193B, SlashType::GA605 => REPORT_ID_19B6, SlashType::GU605 => REPORT_ID_193B, From 375d99b8fcc651cf227dcfb7e4c6f4f20306f3ab Mon Sep 17 00:00:00 2001 From: Ali Date: Sat, 13 Dec 2025 12:06:36 +0000 Subject: [PATCH 02/12] Fix: restore spec file for fedora copr builds --- distro-packaging/asusctl.spec | 181 ++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 distro-packaging/asusctl.spec diff --git a/distro-packaging/asusctl.spec b/distro-packaging/asusctl.spec new file mode 100644 index 00000000..6c819101 --- /dev/null +++ b/distro-packaging/asusctl.spec @@ -0,0 +1,181 @@ +# +# spec file for package asus-nb-ctrl +# +# Copyright (c) 2020-2025 Luke Jones +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +%if %{defined fedora} +%global debug_package %{nil} +%endif + +%define version 6.1.22 +%define specrelease %{?dist} +%define pkg_release 1%{specrelease} + +# Use hardening ldflags. +%global rustflags -Clink-arg=-Wl,-z,relro,-z,now +Name: asusctl +Version: %{version} +Release: %{pkg_release} +Summary: Control fan speeds, LEDs, graphics modes, and charge levels for ASUS notebooks +License: MPLv2 + +Group: System Environment/Kernel + +URL: https://gitlab.com/asus-linux/asusctl +Source: https://gitlab.com/asus-linux/asusctl/-/archive/%{version}/%{name}-%{version}.tar.gz + +%if %{defined fedora} +BuildRequires: rust-packaging +BuildRequires: systemd-rpm-macros +%else +BuildRequires: cargo-packaging +%endif +BuildRequires: git +BuildRequires: clang-devel +BuildRequires: cargo +BuildRequires: cmake +BuildRequires: rust +BuildRequires: rust-std-static +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(libinput) +BuildRequires: pkgconfig(libseat) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: desktop-file-utils + +%description +asus-nb-ctrl is a utility for Linux to control many aspects of various +ASUS laptops but can also be used with non-Asus laptops with reduced features. + +It provides an interface for rootless control of some system functions such as +fan speeds, keyboard LEDs, battery charge level, and graphics modes. +asus-nb-ctrl enables third-party apps to use the above with dbus methods. + +%package rog-gui +Summary: An experimental GUI for %{name} +Requires: %{name} = %{version}-%{release} + +%description rog-gui +A one-stop-shop GUI tool for asusd/asusctl. It aims to provide most controls, +a notification service, and ability to run in the background. + +%prep +%autosetup +mkdir -p .cargo +cat > .cargo/config.toml << 'EOF' +[term] +verbose = true +[net] +offline = false +EOF + +%build +export RUSTFLAGS="%{rustflags}" +%if %{defined fedora} +/usr/bin/cargo build --release --locked +%else +/usr/bin/cargo auditable build --release --locked +%endif + +%install +export RUSTFLAGS="%{rustflags}" + +%define _target_dir target/release + +# Install binaries +install -D -m 0755 %{_target_dir}/asusd %{buildroot}%{_bindir}/asusd +install -D -m 0755 %{_target_dir}/asusd-user %{buildroot}%{_bindir}/asusd-user +install -D -m 0755 %{_target_dir}/asusctl %{buildroot}%{_bindir}/asusctl +install -D -m 0755 %{_target_dir}/rog-control-center %{buildroot}%{_bindir}/rog-control-center + +# Install systemd units +install -D -m 0644 data/asusd.service %{buildroot}%{_unitdir}/asusd.service +install -D -m 0644 data/asusd-user.service %{buildroot}%{_userunitdir}/asusd-user.service + +# Install udev rules +install -D -m 0644 data/asusd.rules %{buildroot}%{_udevrulesdir}/99-asusd.rules + +# Install dbus config +install -D -m 0644 data/asusd.conf %{buildroot}%{_datadir}/dbus-1/system.d/asusd.conf + +# Install asusd data +install -D -m 0644 rog-aura/data/aura_support.ron %{buildroot}%{_datadir}/asusd/aura_support.ron +cp -r rog-anime/data/anime %{buildroot}%{_datadir}/asusd/ + +# Install rog-gui data +install -D -m 0644 rog-control-center/data/rog-control-center.desktop %{buildroot}%{_datadir}/applications/rog-control-center.desktop +install -D -m 0644 rog-control-center/data/rog-control-center.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/rog-control-center.png +mkdir -p %{buildroot}%{_datadir}/rog-gui/layouts +cp -r rog-aura/data/layouts/*.ron %{buildroot}%{_datadir}/rog-gui/layouts/ + +# Install icons +install -D -m 0644 data/icons/asus_notif_yellow.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_yellow.png +install -D -m 0644 data/icons/asus_notif_green.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_green.png +install -D -m 0644 data/icons/asus_notif_blue.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_blue.png +install -D -m 0644 data/icons/asus_notif_red.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_red.png +install -D -m 0644 data/icons/asus_notif_orange.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_orange.png +install -D -m 0644 data/icons/asus_notif_white.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/asus_notif_white.png +install -D -m 0644 data/icons/scalable/gpu-compute.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/gpu-compute.svg +install -D -m 0644 data/icons/scalable/gpu-hybrid.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/gpu-hybrid.svg +install -D -m 0644 data/icons/scalable/gpu-integrated.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/gpu-integrated.svg +install -D -m 0644 data/icons/scalable/gpu-nvidia.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/gpu-nvidia.svg +install -D -m 0644 data/icons/scalable/gpu-vfio.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/gpu-vfio.svg +install -D -m 0644 data/icons/scalable/notification-reboot.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/status/notification-reboot.svg + +# Install docs +install -D -m 0644 README.md %{buildroot}%{_docdir}/%{name}/README.md +install -D -m 0644 rog-anime/README.md %{buildroot}%{_docdir}/%{name}/README-anime.md +install -D -m 0644 rog-anime/data/diagonal-template.png %{buildroot}%{_docdir}/%{name}/diagonal-template.png + +# Install LICENSE to asusctl datadir +install -D -m 0644 LICENSE %{buildroot}%{_datadir}/asusctl/LICENSE + +desktop-file-validate %{buildroot}%{_datadir}/applications/rog-control-center.desktop + +%files +%license LICENSE +%{_bindir}/asusd +%{_bindir}/asusd-user +%{_bindir}/asusctl +%{_unitdir}/asusd.service +%{_userunitdir}/asusd-user.service +%{_udevrulesdir}/99-asusd.rules +%{_datadir}/dbus-1/system.d/asusd.conf +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_yellow.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_green.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_red.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_blue.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_orange.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_white.png +%{_datadir}/icons/hicolor/scalable/status/gpu-compute.svg +%{_datadir}/icons/hicolor/scalable/status/gpu-hybrid.svg +%{_datadir}/icons/hicolor/scalable/status/gpu-integrated.svg +%{_datadir}/icons/hicolor/scalable/status/gpu-nvidia.svg +%{_datadir}/icons/hicolor/scalable/status/gpu-vfio.svg +%{_datadir}/icons/hicolor/scalable/status/notification-reboot.svg +%{_docdir}/%{name}/ +%{_datadir}/asusctl/ +%{_datadir}/asusd/ + +%files rog-gui +%{_bindir}/rog-control-center +%{_datadir}/applications/rog-control-center.desktop +%{_datadir}/icons/hicolor/512x512/apps/rog-control-center.png +%{_datadir}/rog-gui + +%changelog From 70249416632dac505b771a0043b659065adabb11 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:05:11 +0100 Subject: [PATCH 03/12] Chore: fix changelog styling --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ae874fb..ba72b566 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## [Unreleased] ## [6.1.22] + +### Changed - Allow configuration of nv_tgp - Treat dGPU attributes as power profiles - Add EXPERTBOOK DMI match to ensure the service is loaded From e565ce748a47dda40f6b963c9f284e1d509cf06c Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:21:58 +0100 Subject: [PATCH 04/12] Feat: GA403WR -> GA403W --- rog-slash/src/data.rs | 20 ++++++++++---------- rog-slash/src/usb.rs | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/rog-slash/src/data.rs b/rog-slash/src/data.rs index 47c18dac..eb4c71bf 100644 --- a/rog-slash/src/data.rs +++ b/rog-slash/src/data.rs @@ -13,7 +13,7 @@ use crate::usb::{PROD_ID1, PROD_ID1_STR, PROD_ID2, PROD_ID2_STR}; #[derive(Default, Debug, Copy, Clone, PartialEq, Eq, Deserialize, Serialize)] pub enum SlashType { GA403, - GA403WR, + GA403W, GA605, GU605, #[default] @@ -23,7 +23,7 @@ pub enum SlashType { impl SlashType { pub const fn prod_id(&self) -> u16 { match self { - SlashType::GA403WR => PROD_ID2, + SlashType::GA403W => PROD_ID2, SlashType::GA403 => PROD_ID1, SlashType::GA605 => PROD_ID2, SlashType::GU605 => PROD_ID1, @@ -33,7 +33,7 @@ impl SlashType { pub const fn prod_id_str(&self) -> &str { match self { - SlashType::GA403WR => PROD_ID2_STR, + SlashType::GA403W => PROD_ID2_STR, SlashType::GA403 => PROD_ID1_STR, SlashType::GA605 => PROD_ID2_STR, SlashType::GU605 => PROD_ID1_STR, @@ -43,8 +43,8 @@ impl SlashType { pub fn from_dmi() -> Self { let board_name = DMIID::new().unwrap_or_default().board_name.to_uppercase(); - if board_name.contains("GA403WR") { - SlashType::GA403WR + if board_name.contains("GA403W") { + SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 } else if board_name.contains("GA605") { @@ -61,11 +61,11 @@ impl FromStr for SlashType { type Err = SlashError; fn from_str(s: &str) -> std::result::Result { - Ok(match s { - "ga403wr" | "GA403WR" => Self::GA403WR, - "ga403" | "GA403" => Self::GA403, - "ga605" | "GA605" => Self::GA605, - "gu605" | "GU605" => Self::GU605, + Ok(match s.to_uppercase().as_str() { + "GA403W" => Self::GA403W, + "GA403" => Self::GA403, + "GA605" => Self::GA605, + "GU605" => Self::GU605, _ => Self::Unsupported, }) } diff --git a/rog-slash/src/usb.rs b/rog-slash/src/usb.rs index f9ba7098..bdca7bf0 100644 --- a/rog-slash/src/usb.rs +++ b/rog-slash/src/usb.rs @@ -38,8 +38,8 @@ pub fn get_slash_type() -> SlashType { .map_err(|_| SlashError::NoDevice) .unwrap_or_default(); let board_name = dmi.board_name; - if board_name.contains("GA403WR") { - SlashType::GA403WR + if board_name.contains("GA403W") { + SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 } else if board_name.contains("GA605") { @@ -53,7 +53,7 @@ pub fn get_slash_type() -> SlashType { pub const fn report_id(slash_type: SlashType) -> u8 { match slash_type { - SlashType::GA403WR => REPORT_ID_19B6, + SlashType::GA403W => REPORT_ID_19B6, SlashType::GA403 => REPORT_ID_193B, SlashType::GA605 => REPORT_ID_19B6, SlashType::GU605 => REPORT_ID_193B, From ee0e612c0497304318b5a347c56872e85ea82e2d Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:35:56 +0100 Subject: [PATCH 05/12] Feat: add AniMe support for G835LW --- CHANGELOG.md | 6 ++++++ rog-anime/src/data.rs | 27 ++++++++++++++++++++------- rog-anime/src/usb.rs | 17 +++++++---------- simulators/src/animatrix/mod.rs | 14 +++++++++----- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba72b566..9e13d283 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +## [6.2.0] + +## Changed +- Added aura support for FX607V: thanks @jomp16 +- Added testing support for G835LW + ## [6.1.22] ### Changed diff --git a/rog-anime/src/data.rs b/rog-anime/src/data.rs index 9dab8816..b9f6dc47 100644 --- a/rog-anime/src/data.rs +++ b/rog-anime/src/data.rs @@ -64,6 +64,7 @@ pub enum AnimeType { GA402, GU604, G635L, + G835LW, #[default] Unsupported, } @@ -72,11 +73,12 @@ impl FromStr for AnimeType { type Err = AnimeError; fn from_str(s: &str) -> std::result::Result { - Ok(match s { - "ga401" | "GA401" => Self::GA401, - "ga402" | "GA402" => Self::GA402, - "gu604" | "GU604" => Self::GU604, - "g635L" | "G635L" => Self::G635L, + Ok(match s.to_uppercase().as_str() { + "GA401" => Self::GA401, + "GA402" => Self::GA402, + "GU604" => Self::GU604, + "G635L" => Self::G635L, + "G835LW" => Self::G835LW, _ => Self::Unsupported, }) } @@ -102,6 +104,7 @@ impl AnimeType { pub fn width(&self) -> usize { match self { AnimeType::GU604 => 70, + AnimeType::G835LW => 74, _ => 74, } } @@ -111,6 +114,7 @@ impl AnimeType { match self { AnimeType::GA401 => 36, AnimeType::GU604 => 43, + AnimeType::G835LW => 39, _ => 39, } } @@ -120,6 +124,7 @@ impl AnimeType { match self { AnimeType::GA401 => PANE_LEN * 2, AnimeType::GU604 => PANE_LEN * 3, + AnimeType::G835LW => PANE_LEN * 3, _ => PANE_LEN * 3, } } @@ -184,7 +189,11 @@ impl TryFrom for AnimePacketType { let mut buffers = match anime.anime { AnimeType::GA401 => vec![[0; 640]; 2], - AnimeType::GA402 | AnimeType::GU604 | AnimeType::G635L | AnimeType::Unsupported => { + AnimeType::GA402 + | AnimeType::GU604 + | AnimeType::G635L + | AnimeType::G835LW + | AnimeType::Unsupported => { vec![[0; 640]; 3] } }; @@ -197,7 +206,11 @@ impl TryFrom for AnimePacketType { if matches!( anime.anime, - AnimeType::GA402 | AnimeType::GU604 | AnimeType::Unsupported + AnimeType::GA402 + | AnimeType::GU604 + | AnimeType::G635L + | AnimeType::G835LW + | AnimeType::Unsupported ) { buffers[2][..7].copy_from_slice(&USB_PREFIX3); } diff --git a/rog-anime/src/usb.rs b/rog-anime/src/usb.rs index c413d8c9..2e78767a 100644 --- a/rog-anime/src/usb.rs +++ b/rog-anime/src/usb.rs @@ -245,16 +245,13 @@ pub fn get_anime_type() -> AnimeType { let dmi = DMIID::new().unwrap_or_default(); let board_name = dmi.board_name; - if board_name.contains("GA401I") || board_name.contains("GA401Q") { - AnimeType::GA401 - } else if board_name.contains("GA402R") || board_name.contains("GA402X") { - AnimeType::GA402 - } else if board_name.contains("GU604V") { - AnimeType::GU604 - } else if board_name.contains("G635L") { - AnimeType::G635L - } else { - AnimeType::Unsupported + match board_name.to_uppercase().as_str() { + "GA401I" | "GA401Q" => AnimeType::GA401, + "GA402R" | "GA402X" => AnimeType::GA402, + "GU604V" => AnimeType::GU604, + "G635L" => AnimeType::G635L, + "G835LW" => AnimeType::G835LW, + _ => AnimeType::Unsupported, } } diff --git a/simulators/src/animatrix/mod.rs b/simulators/src/animatrix/mod.rs index e94d4455..78143ae2 100644 --- a/simulators/src/animatrix/mod.rs +++ b/simulators/src/animatrix/mod.rs @@ -43,10 +43,12 @@ impl AniMatrix { vertical: 2, horizontal: 5, }, - AnimeType::GA402 | AnimeType::G635L | AnimeType::Unsupported => LedShape { - vertical: 2, - horizontal: 5, - }, + AnimeType::GA402 | AnimeType::G635L | AnimeType::G835LW | AnimeType::Unsupported => { + LedShape { + vertical: 2, + horizontal: 5, + } + } AnimeType::GU604 => LedShape { vertical: 2, horizontal: 5, @@ -56,7 +58,9 @@ impl AniMatrix { // Do a hard mapping of each (derived from wireshardk captures) let rows = match model { AnimeType::GA401 => GA401.to_vec(), - AnimeType::GA402 | AnimeType::G635L | AnimeType::Unsupported => GA402.to_vec(), + AnimeType::GA402 | AnimeType::G635L | AnimeType::G835LW | AnimeType::Unsupported => { + GA402.to_vec() + } AnimeType::GU604 => GU604.to_vec(), }; From ea32ad6e0a109f0152c8d1ab4a8345c8507d135d Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:36:46 +0100 Subject: [PATCH 06/12] Feat: add support for FX607V --- rog-aura/data/aura_support.ron | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rog-aura/data/aura_support.ron b/rog-aura/data/aura_support.ron index fa4b0517..71c19bc6 100644 --- a/rog-aura/data/aura_support.ron +++ b/rog-aura/data/aura_support.ron @@ -107,6 +107,15 @@ advanced_type: r#None, power_zones: [Keyboard], ), + ( + device_name: "FX607V", + product_id: "", + layout_name: "fa506i", + basic_modes: [Static, Breathe, RainbowCycle, Pulse], + basic_zones: [], + advanced_type: Zoned([SingleZone]), + power_zones: [Keyboard], + ), ( device_name: "FX617X", product_id: "", From 5aba2854b06b5e737745c57d83855b44f97433bf Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:45:55 +0100 Subject: [PATCH 07/12] Feat: add support for GU605C* models --- rog-slash/src/data.rs | 6 ++++++ rog-slash/src/usb.rs | 3 +++ 2 files changed, 9 insertions(+) diff --git a/rog-slash/src/data.rs b/rog-slash/src/data.rs index eb4c71bf..d173acc8 100644 --- a/rog-slash/src/data.rs +++ b/rog-slash/src/data.rs @@ -16,6 +16,7 @@ pub enum SlashType { GA403W, GA605, GU605, + GU605C, #[default] Unsupported, } @@ -27,6 +28,7 @@ impl SlashType { SlashType::GA403 => PROD_ID1, SlashType::GA605 => PROD_ID2, SlashType::GU605 => PROD_ID1, + SlashType::GU605C => PROD_ID2, SlashType::Unsupported => 0, } } @@ -37,6 +39,7 @@ impl SlashType { SlashType::GA403 => PROD_ID1_STR, SlashType::GA605 => PROD_ID2_STR, SlashType::GU605 => PROD_ID1_STR, + SlashType::GU605C => PROD_ID2_STR, SlashType::Unsupported => "", } } @@ -49,6 +52,8 @@ impl SlashType { SlashType::GA403 } else if board_name.contains("GA605") { SlashType::GA605 + } else if board_name.contains("GU605C") { + SlashType::GU605C } else if board_name.contains("GU605") { SlashType::GU605 } else { @@ -65,6 +70,7 @@ impl FromStr for SlashType { "GA403W" => Self::GA403W, "GA403" => Self::GA403, "GA605" => Self::GA605, + "GU605C" => Self::GU605C, "GU605" => Self::GU605, _ => Self::Unsupported, }) diff --git a/rog-slash/src/usb.rs b/rog-slash/src/usb.rs index bdca7bf0..db204d5c 100644 --- a/rog-slash/src/usb.rs +++ b/rog-slash/src/usb.rs @@ -44,6 +44,8 @@ pub fn get_slash_type() -> SlashType { SlashType::GA403 } else if board_name.contains("GA605") { SlashType::GA605 + } else if board_name.contains("GU605C") { + SlashType::GU605C } else if board_name.contains("GU605") { SlashType::GU605 } else { @@ -57,6 +59,7 @@ pub const fn report_id(slash_type: SlashType) -> u8 { SlashType::GA403 => REPORT_ID_193B, SlashType::GA605 => REPORT_ID_19B6, SlashType::GU605 => REPORT_ID_193B, + SlashType::GU605C => REPORT_ID_19B6, SlashType::Unsupported => REPORT_ID_19B6, } } From 10d49f4fc827624ec59f5977cf2f6fac48cf9bd3 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:46:29 +0100 Subject: [PATCH 08/12] Fix: rever silly change in anime type detection --- rog-anime/src/usb.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/rog-anime/src/usb.rs b/rog-anime/src/usb.rs index 2e78767a..c413d8c9 100644 --- a/rog-anime/src/usb.rs +++ b/rog-anime/src/usb.rs @@ -245,13 +245,16 @@ pub fn get_anime_type() -> AnimeType { let dmi = DMIID::new().unwrap_or_default(); let board_name = dmi.board_name; - match board_name.to_uppercase().as_str() { - "GA401I" | "GA401Q" => AnimeType::GA401, - "GA402R" | "GA402X" => AnimeType::GA402, - "GU604V" => AnimeType::GU604, - "G635L" => AnimeType::G635L, - "G835LW" => AnimeType::G835LW, - _ => AnimeType::Unsupported, + if board_name.contains("GA401I") || board_name.contains("GA401Q") { + AnimeType::GA401 + } else if board_name.contains("GA402R") || board_name.contains("GA402X") { + AnimeType::GA402 + } else if board_name.contains("GU604V") { + AnimeType::GU604 + } else if board_name.contains("G635L") { + AnimeType::G635L + } else { + AnimeType::Unsupported } } From 22098794fe35fb1273abeb18de23b5a8ea536299 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:48:33 +0100 Subject: [PATCH 09/12] Fix: ensure upper/lower case doesn't fail the match --- rog-anime/src/usb.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rog-anime/src/usb.rs b/rog-anime/src/usb.rs index c413d8c9..e4c14c0f 100644 --- a/rog-anime/src/usb.rs +++ b/rog-anime/src/usb.rs @@ -243,7 +243,7 @@ impl From for i32 { #[inline] pub fn get_anime_type() -> AnimeType { let dmi = DMIID::new().unwrap_or_default(); - let board_name = dmi.board_name; + let board_name = dmi.board_name.to_uppercase(); if board_name.contains("GA401I") || board_name.contains("GA401Q") { AnimeType::GA401 From c8b9248edad73cd444ac9d60d64d8746159c1426 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 13:56:46 +0100 Subject: [PATCH 10/12] Chore: update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e13d283..55010403 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ ## Changed - Added aura support for FX607V: thanks @jomp16 - Added testing support for G835LW +- Added support for GU605C models slash lighting: thanks @Otters +- Restore fedora: thanks @ali205412 ## [6.1.22] From ae3693e0d92d9b9b848b1d424c9a804fdd2eadbc Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 14:08:27 +0100 Subject: [PATCH 11/12] Feat: add aura support for G614F models --- CHANGELOG.md | 1 + rog-slash/src/data.rs | 8 +++++++- rog-slash/src/usb.rs | 7 +++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55010403..7c950759 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Added testing support for G835LW - Added support for GU605C models slash lighting: thanks @Otters - Restore fedora: thanks @ali205412 +- Add support to G614F models slash lighting ## [6.1.22] diff --git a/rog-slash/src/data.rs b/rog-slash/src/data.rs index d173acc8..89d9841f 100644 --- a/rog-slash/src/data.rs +++ b/rog-slash/src/data.rs @@ -17,6 +17,7 @@ pub enum SlashType { GA605, GU605, GU605C, + G614F, #[default] Unsupported, } @@ -29,6 +30,7 @@ impl SlashType { SlashType::GA605 => PROD_ID2, SlashType::GU605 => PROD_ID1, SlashType::GU605C => PROD_ID2, + SlashType::G614F => PROD_ID2, SlashType::Unsupported => 0, } } @@ -40,13 +42,16 @@ impl SlashType { SlashType::GA605 => PROD_ID2_STR, SlashType::GU605 => PROD_ID1_STR, SlashType::GU605C => PROD_ID2_STR, + SlashType::G614F => PROD_ID2_STR, SlashType::Unsupported => "", } } pub fn from_dmi() -> Self { let board_name = DMIID::new().unwrap_or_default().board_name.to_uppercase(); - if board_name.contains("GA403W") { + if board_name.contains("G614F") { + SlashType::G614F + } else if board_name.contains("GA403W") { SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 @@ -72,6 +77,7 @@ impl FromStr for SlashType { "GA605" => Self::GA605, "GU605C" => Self::GU605C, "GU605" => Self::GU605, + "G614FR" => Self::G614F, _ => Self::Unsupported, }) } diff --git a/rog-slash/src/usb.rs b/rog-slash/src/usb.rs index db204d5c..ad0afc22 100644 --- a/rog-slash/src/usb.rs +++ b/rog-slash/src/usb.rs @@ -37,8 +37,10 @@ pub fn get_slash_type() -> SlashType { let dmi = DMIID::new() .map_err(|_| SlashError::NoDevice) .unwrap_or_default(); - let board_name = dmi.board_name; - if board_name.contains("GA403W") { + let board_name = dmi.board_name.to_uppercase(); + if board_name.contains("G614F") { + SlashType::G614F + } else if board_name.contains("GA403W") { SlashType::GA403W } else if board_name.contains("GA403") { SlashType::GA403 @@ -58,6 +60,7 @@ pub const fn report_id(slash_type: SlashType) -> u8 { SlashType::GA403W => REPORT_ID_19B6, SlashType::GA403 => REPORT_ID_193B, SlashType::GA605 => REPORT_ID_19B6, + SlashType::G614F => REPORT_ID_19B6, SlashType::GU605 => REPORT_ID_193B, SlashType::GU605C => REPORT_ID_19B6, SlashType::Unsupported => REPORT_ID_19B6, From d03d8ce67f5a60935735a2aac29eb7d2d8297709 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 13 Dec 2025 14:41:12 +0100 Subject: [PATCH 12/12] Release: v6.2.0 --- Cargo.lock | 193 +++++++++++++++++++--------------- Cargo.toml | 8 +- distro-packaging/asusctl.spec | 2 +- 3 files changed, 116 insertions(+), 87 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dde9dc8b..cff799fc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,9 +114,9 @@ dependencies = [ [[package]] name = "annotate-snippets" -version = "0.12.9" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44baf24dd94e781f74dfe67ffee75a09a57971ddf0f615a178b4f6d404b48ff" +checksum = "15580ece6ea97cbf832d60ba19c021113469480852c6a2a6beb0db28f097bf1f" dependencies = [ "anstyle", "unicode-width", @@ -180,7 +180,7 @@ dependencies = [ [[package]] name = "asusctl" -version = "6.1.22" +version = "6.2.0" dependencies = [ "dmi_id", "env_logger", @@ -199,7 +199,7 @@ dependencies = [ [[package]] name = "asusd" -version = "6.1.22" +version = "6.2.0" dependencies = [ "cargo-husky", "concat-idents", @@ -226,7 +226,7 @@ dependencies = [ [[package]] name = "asusd-user" -version = "6.1.22" +version = "6.2.0" dependencies = [ "config-traits", "dirs", @@ -783,9 +783,9 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad" [[package]] name = "cc" -version = "1.2.48" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", @@ -905,7 +905,7 @@ dependencies = [ [[package]] name = "config-traits" -version = "6.1.22" +version = "6.2.0" dependencies = [ "log", "ron", @@ -954,7 +954,7 @@ dependencies = [ [[package]] name = "const-field-offset" version = "0.1.5" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "const-field-offset-macro", "field-offset", @@ -963,13 +963,22 @@ dependencies = [ [[package]] name = "const-field-offset-macro" version = "0.1.5" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "proc-macro2", "quote", "syn 2.0.111", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "copypasta" version = "0.10.2" @@ -1166,21 +1175,23 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" dependencies = [ + "convert_case", "proc-macro2", "quote", + "rustc_version", "syn 2.0.111", "unicode-xid", ] @@ -1254,7 +1265,7 @@ dependencies = [ [[package]] name = "dmi_id" -version = "6.1.22" +version = "6.2.0" dependencies = [ "log", "udev 0.8.0", @@ -1862,9 +1873,9 @@ dependencies = [ [[package]] name = "gif" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f954a9e9159ec994f73a30a12b96a702dde78f5547bcb561174597924f7d4162" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" dependencies = [ "color_quant", "weezl", @@ -2204,9 +2215,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ "bytes", "futures-channel", @@ -2226,7 +2237,7 @@ dependencies = [ [[package]] name = "i-slint-backend-linuxkms" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "calloop 0.14.3", "drm", @@ -2244,7 +2255,7 @@ dependencies = [ [[package]] name = "i-slint-backend-selector" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "cfg-if", "i-slint-backend-linuxkms", @@ -2257,7 +2268,7 @@ dependencies = [ [[package]] name = "i-slint-backend-winit" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "block2 0.6.2", "cfg-if", @@ -2296,7 +2307,7 @@ dependencies = [ [[package]] name = "i-slint-common" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "fontique", "ttf-parser 0.25.1", @@ -2305,7 +2316,7 @@ dependencies = [ [[package]] name = "i-slint-compiler" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "annotate-snippets", "by_address", @@ -2333,7 +2344,7 @@ dependencies = [ [[package]] name = "i-slint-core" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "auto_enums", "bitflags 2.10.0", @@ -2348,7 +2359,6 @@ dependencies = [ "i-slint-common", "i-slint-core-macros", "image", - "integer-sqrt", "lyon_algorithms", "lyon_extra", "lyon_geom", @@ -2378,13 +2388,12 @@ dependencies = [ "web-sys", "web-time", "webbrowser", - "zeno", ] [[package]] name = "i-slint-core-macros" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "quote", "serde_json", @@ -2394,7 +2403,7 @@ dependencies = [ [[package]] name = "i-slint-renderer-femtovg" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "cfg-if", "const-field-offset", @@ -2416,7 +2425,7 @@ dependencies = [ [[package]] name = "i-slint-renderer-skia" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "bytemuck", "cfg-if", @@ -2448,6 +2457,25 @@ dependencies = [ "write-fonts", ] +[[package]] +name = "i-slint-renderer-software" +version = "1.15.0" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" +dependencies = [ + "bytemuck", + "clru", + "derive_more", + "euclid", + "fontdue", + "i-slint-common", + "i-slint-core", + "integer-sqrt", + "lyon_path", + "num-traits", + "skrifa", + "zeno", +] + [[package]] name = "iana-time-zone" version = "0.1.64" @@ -2521,9 +2549,9 @@ checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -2535,9 +2563,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" @@ -2585,7 +2613,7 @@ dependencies = [ "byteorder-lite", "color_quant", "exr", - "gif 0.14.0", + "gif 0.14.1", "image-webp", "moxcms", "num-traits", @@ -2596,7 +2624,7 @@ dependencies = [ "rgb", "tiff", "zune-core 0.5.0", - "zune-jpeg 0.5.5", + "zune-jpeg 0.5.6", ] [[package]] @@ -2809,9 +2837,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "ksni" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc9a5e60d55371fd681051b05e9b58e1d818f5085f6364afe872c9347311f91" +checksum = "2341dc22e09c9591f946ddc660a99cbc123c9484edd0a995feb5574d1c4ac931" dependencies = [ "async-executor", "async-io", @@ -2861,9 +2889,9 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libfuzzer-sys" @@ -2993,9 +3021,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "logind-zbus" @@ -3059,9 +3087,9 @@ dependencies = [ [[package]] name = "mac-notification-sys" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee70bb2bba058d58e252d2944582d634fc884fc9c489a966d428dedcf653e97" +checksum = "65fd3f75411f4725061682ed91f131946e912859d0044d39c4ec0aac818d7621" dependencies = [ "cc", "objc2 0.6.3", @@ -3173,9 +3201,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "wasi", @@ -4131,9 +4159,9 @@ checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae" [[package]] name = "pxfm" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3502d6155304a4173a5f2c34b52b7ed0dd085890326cb50fd625fdf39e86b3b" +checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" dependencies = [ "num-traits", ] @@ -4421,7 +4449,7 @@ dependencies = [ [[package]] name = "rog-control-center" -version = "6.1.22" +version = "6.2.0" dependencies = [ "asusd", "concat-idents", @@ -4452,7 +4480,7 @@ dependencies = [ [[package]] name = "rog_anime" -version = "6.1.22" +version = "6.2.0" dependencies = [ "dmi_id", "gif 0.12.0", @@ -4466,7 +4494,7 @@ dependencies = [ [[package]] name = "rog_aura" -version = "6.1.22" +version = "6.2.0" dependencies = [ "dmi_id", "log", @@ -4477,7 +4505,7 @@ dependencies = [ [[package]] name = "rog_dbus" -version = "6.1.22" +version = "6.2.0" dependencies = [ "asusd", "rog_anime", @@ -4491,7 +4519,7 @@ dependencies = [ [[package]] name = "rog_platform" -version = "6.1.22" +version = "6.2.0" dependencies = [ "concat-idents", "inotify", @@ -4504,7 +4532,7 @@ dependencies = [ [[package]] name = "rog_profiles" -version = "6.1.22" +version = "6.2.0" dependencies = [ "log", "rog_platform", @@ -4515,7 +4543,7 @@ dependencies = [ [[package]] name = "rog_scsi" -version = "6.1.22" +version = "6.2.0" dependencies = [ "ron", "serde", @@ -4525,7 +4553,7 @@ dependencies = [ [[package]] name = "rog_simulators" -version = "6.1.22" +version = "6.2.0" dependencies = [ "log", "rog_anime", @@ -4535,7 +4563,7 @@ dependencies = [ [[package]] name = "rog_slash" -version = "6.1.22" +version = "6.2.0" dependencies = [ "dmi_id", "serde", @@ -4838,9 +4866,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simd_helpers" @@ -4913,7 +4941,7 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slint" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "const-field-offset", "i-slint-backend-selector", @@ -4921,6 +4949,7 @@ dependencies = [ "i-slint-core", "i-slint-core-macros", "i-slint-renderer-femtovg", + "i-slint-renderer-software", "num-traits", "once_cell", "pin-weak", @@ -4932,7 +4961,7 @@ dependencies = [ [[package]] name = "slint-build" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "derive_more", "i-slint-compiler", @@ -4943,7 +4972,7 @@ dependencies = [ [[package]] name = "slint-macros" version = "1.15.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "i-slint-compiler", "proc-macro2", @@ -4953,9 +4982,9 @@ dependencies = [ [[package]] name = "slotmap" -version = "1.0.7" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" dependencies = [ "version_check", ] @@ -5467,7 +5496,7 @@ checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ "bytes", "libc", - "mio 1.1.0", + "mio 1.1.1", "pin-project-lite", "socket2 0.6.1", "tokio-macros", @@ -5536,9 +5565,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.23.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832" dependencies = [ "indexmap 2.12.1", "toml_datetime", @@ -5709,9 +5738,9 @@ dependencies = [ [[package]] name = "typed-index-collections" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd393dbd1e7b23e0cab7396570309b4068aa504e9dac2cd41d827583b4e9ab7" +checksum = "5318ee4ce62a4e948a33915574021a7a953d83e84fba6e25c72ffcfd7dad35ff" dependencies = [ "bincode", "serde", @@ -5823,9 +5852,9 @@ checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" [[package]] name = "unicode-script" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" +checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee" [[package]] name = "unicode-segmentation" @@ -5904,12 +5933,12 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ "js-sys", - "serde", + "serde_core", "wasm-bindgen", ] @@ -5961,7 +5990,7 @@ dependencies = [ [[package]] name = "vtable" version = "0.3.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "const-field-offset", "portable-atomic", @@ -5972,7 +6001,7 @@ dependencies = [ [[package]] name = "vtable-macro" version = "0.3.0" -source = "git+https://github.com/slint-ui/slint.git#af0b3822c64a5597e628c7ad487f1273f57356cf" +source = "git+https://github.com/slint-ui/slint.git#b85d29758ef9dbee47f62a1a6923066bb0436f20" dependencies = [ "proc-macro2", "quote", @@ -7149,18 +7178,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.30" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.30" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", @@ -7254,9 +7283,9 @@ dependencies = [ [[package]] name = "zune-jpeg" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc6fb7703e32e9a07fb3f757360338b3a567a5054f21b5f52a666752e333d58e" +checksum = "f520eebad972262a1dde0ec455bce4f8b298b1e5154513de58c114c4c54303e8" dependencies = [ "zune-core 0.5.0", ] diff --git a/Cargo.toml b/Cargo.toml index 2a1cb1ce..ef6715e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "6.1.22" +version = "6.2.0" rust-version = "1.82" license = "MPL-2.0" readme = "README.md" @@ -57,12 +57,12 @@ glam = { version = "^0.22", features = ["serde"] } gumdrop = "^0.8" udev = { version = "^0.8", features = ["mio"] } rusb = "^0.9" -inotify = "^0.10.0" +inotify = "^0.10" png_pong = "^0.8" pix = "^0.13" -tinybmp = "^0.4.0" -gif = "^0.12.0" +tinybmp = "^0.4" +gif = "^0.12" versions = "6.2" diff --git a/distro-packaging/asusctl.spec b/distro-packaging/asusctl.spec index 6c819101..c7f26b97 100644 --- a/distro-packaging/asusctl.spec +++ b/distro-packaging/asusctl.spec @@ -20,7 +20,7 @@ %global debug_package %{nil} %endif -%define version 6.1.22 +%define version 6.2.0 %define specrelease %{?dist} %define pkg_release 1%{specrelease}