diff --git a/data/platforms/legion-go-s.toml b/data/platforms/legion-go-series.toml similarity index 100% rename from data/platforms/legion-go-s.toml rename to data/platforms/legion-go-series.toml diff --git a/data/platforms/rog-ally-series.toml b/data/platforms/rog-ally-series.toml new file mode 100644 index 0000000..07d2c5f --- /dev/null +++ b/data/platforms/rog-ally-series.toml @@ -0,0 +1,12 @@ +[performance_profile] +platform_profile_name = "asus-wmi" +# until custom mode is added +suggested_default = "performance" + +[tdp_limit] +method = "firmware_attribute" + +[tdp_limit.firmware_attribute] +attribute = "asus-armoury" +# until custom mode is added +performance_profile = "performance" diff --git a/src/hardware.rs b/src/hardware.rs index 960e4b6..0108f4f 100644 --- a/src/hardware.rs +++ b/src/hardware.rs @@ -200,6 +200,48 @@ pub mod test { assert!(steam_deck_variant().await.is_err()); assert!(device_variant().await.is_err()); + write(crate::path(SYS_VENDOR_PATH), "ASUSTeK COMPUTER INC.\n") + .await + .expect("write"); + write(crate::path(BOARD_NAME_PATH), "INVALID\n") + .await + .expect("write"); + write(crate::path(PRODUCT_NAME_PATH), "INVALID\n") + .await + .expect("write"); + assert_eq!( + steam_deck_variant().await.unwrap(), + SteamDeckVariant::Unknown + ); + assert_eq!( + device_variant().await.unwrap(), + (DeviceType::Unknown, String::from("unknown")) + ); + + write(crate::path(BOARD_NAME_PATH), "RC71L\n") + .await + .expect("write"); + assert_eq!( + steam_deck_variant().await.unwrap(), + SteamDeckVariant::Unknown + ); + assert_eq!( + device_variant().await.unwrap(), + (DeviceType::RogAlly, String::from("RC71L")) + ); + + write(crate::path(BOARD_NAME_PATH), "RC72LA\n") + .await + .expect("write"); + assert_eq!( + steam_deck_variant().await.unwrap(), + SteamDeckVariant::Unknown + ); + assert_eq!( + device_variant().await.unwrap(), + (DeviceType::RogAllyX, String::from("RC72LA")) + ); + write(crate::path(SYS_VENDOR_PATH), "LENOVO\n") .await .expect("write"); @@ -218,6 +260,18 @@ pub mod test { (DeviceType::Unknown, String::from("unknown")) ); + write(crate::path(PRODUCT_NAME_PATH), "83E1\n") + .await + .expect("write"); + assert_eq!( + steam_deck_variant().await.unwrap(), + SteamDeckVariant::Unknown + ); + assert_eq!( + device_variant().await.unwrap(), + (DeviceType::LegionGo, String::from("83E1")) + ); + write(crate::path(PRODUCT_NAME_PATH), "83L3\n") .await .expect("write"); diff --git a/src/platform.rs b/src/platform.rs index dbd7ca0..851396c 100644 --- a/src/platform.rs +++ b/src/platform.rs @@ -165,7 +165,10 @@ impl PlatformConfig { async fn load() -> Result> { let platform = match device_type().await? { DeviceType::SteamDeck => "jupiter", - DeviceType::LegionGoS => "legion-go-s", + DeviceType::LegionGo => "legion-go-series", + DeviceType::LegionGoS => "legion-go-series", + DeviceType::RogAlly => "rog-ally-series", + DeviceType::RogAllyX => "rog-ally-series", _ => return Ok(None), }; let config = read_to_string(format!(