Fix timeout for GFX switching

This commit is contained in:
Luke D Jones
2020-09-24 07:53:34 +12:00
parent 2daa7f0811
commit 622cd9d943
7 changed files with 21 additions and 21 deletions

6
Cargo.lock generated
View File

@@ -29,7 +29,7 @@ checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
[[package]] [[package]]
name = "asus-nb" name = "asus-nb"
version = "2.0.2" version = "2.0.4"
dependencies = [ dependencies = [
"ctrl-gfx", "ctrl-gfx",
"dbus", "dbus",
@@ -46,7 +46,7 @@ dependencies = [
[[package]] [[package]]
name = "asus-nb-ctrl" name = "asus-nb-ctrl"
version = "2.0.3" version = "2.0.4"
dependencies = [ dependencies = [
"asus-nb", "asus-nb",
"ctrl-gfx", "ctrl-gfx",
@@ -69,7 +69,7 @@ dependencies = [
[[package]] [[package]]
name = "asus-notify" name = "asus-notify"
version = "1.0.1" version = "2.0.4"
dependencies = [ dependencies = [
"asus-nb", "asus-nb",
"asus-nb-ctrl", "asus-nb-ctrl",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "asus-nb-ctrl" name = "asus-nb-ctrl"
version = "2.0.3" version = "2.0.4"
license = "MPL-2.0" license = "MPL-2.0"
readme = "README.md" readme = "README.md"
authors = ["Luke <luke@ljones.dev>"] authors = ["Luke <luke@ljones.dev>"]

View File

@@ -107,7 +107,7 @@ fn do_gfx(
) -> Result<(), Box<dyn std::error::Error>> { ) -> Result<(), Box<dyn std::error::Error>> {
if let Some(mode) = command.mode { if let Some(mode) = command.mode {
println!("Updating settings, please wait..."); println!("Updating settings, please wait...");
println!("If this takes longer than 30s, ctrl+c then check journalctl"); println!("If this takes longer than 30s, ctrl+c then check `journalctl -b -u asusd`");
writer.write_gfx_mode(mode)?; writer.write_gfx_mode(mode)?;
let res = writer.wait_gfx_changed()?; let res = writer.wait_gfx_changed()?;

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "asus-nb" name = "asus-nb"
version = "2.0.2" version = "2.0.4"
license = "MPL-2.0" license = "MPL-2.0"
readme = "README.md" readme = "README.md"
authors = ["Luke <luke@ljones.dev>"] authors = ["Luke <luke@ljones.dev>"]

View File

@@ -37,7 +37,7 @@ impl CtrlSignals {
let proxy = connection.with_proxy( let proxy = connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Gfx", "/org/asuslinux/Gfx",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let gfx_vendor_signal = Arc::new(Mutex::new(None)); let gfx_vendor_signal = Arc::new(Mutex::new(None));
@@ -68,7 +68,7 @@ impl CtrlSignals {
let proxy = connection.with_proxy( let proxy = connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Profile", "/org/asuslinux/Profile",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let profile_signal = Arc::new(Mutex::new(None)); let profile_signal = Arc::new(Mutex::new(None));
@@ -87,7 +87,7 @@ impl CtrlSignals {
let proxy = connection.with_proxy( let proxy = connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Led", "/org/asuslinux/Led",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let ledmode_signal = Arc::new(Mutex::new(None)); let ledmode_signal = Arc::new(Mutex::new(None));
@@ -108,7 +108,7 @@ impl CtrlSignals {
let proxy = connection.with_proxy( let proxy = connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Charge", "/org/asuslinux/Charge",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let charge_signal = Arc::new(Mutex::new(None)); let charge_signal = Arc::new(Mutex::new(None));
@@ -168,7 +168,7 @@ impl AuraDbusClient {
pub fn wait_gfx_changed(&self) -> Result<String, Box<dyn Error>> { pub fn wait_gfx_changed(&self) -> Result<String, Box<dyn Error>> {
loop { loop {
self.connection.process(Duration::from_micros(500))?; self.connection.process(Duration::from_millis(1))?;
if let Ok(lock) = self.signals.gfx_action_signal.lock() { if let Ok(lock) = self.signals.gfx_action_signal.lock() {
if let Some(stuff) = lock.as_ref() { if let Some(stuff) = lock.as_ref() {
return Ok(stuff.to_string()); return Ok(stuff.to_string());
@@ -185,7 +185,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Led", "/org/asuslinux/Led",
Duration::from_millis(5000), Duration::from_secs(2),
); );
proxy.set_led_mode(&serde_json::to_string(&mode)?)?; proxy.set_led_mode(&serde_json::to_string(&mode)?)?;
Ok(()) Ok(())
@@ -224,7 +224,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Led", "/org/asuslinux/Led",
Duration::from_millis(5000), Duration::from_secs(2),
); );
proxy.set_led_mode(&serde_json::to_string(mode)?)?; proxy.set_led_mode(&serde_json::to_string(mode)?)?;
Ok(()) Ok(())
@@ -235,7 +235,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Gfx", "/org/asuslinux/Gfx",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let x = proxy.power()?; let x = proxy.power()?;
Ok(x) Ok(x)
@@ -246,7 +246,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Gfx", "/org/asuslinux/Gfx",
Duration::from_millis(5000), Duration::from_secs(2),
); );
let x = proxy.vendor()?; let x = proxy.vendor()?;
Ok(x) Ok(x)
@@ -257,7 +257,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Gfx", "/org/asuslinux/Gfx",
Duration::from_millis(5000), Duration::from_secs(30),
); );
proxy.set_vendor(<&str>::from(&vendor))?; proxy.set_vendor(<&str>::from(&vendor))?;
Ok(()) Ok(())
@@ -268,7 +268,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Profile", "/org/asuslinux/Profile",
Duration::from_millis(5000), Duration::from_secs(2),
); );
proxy.set_profile(&serde_json::to_string(&ProfileEvent::ChangeMode(level))?)?; proxy.set_profile(&serde_json::to_string(&ProfileEvent::ChangeMode(level))?)?;
Ok(()) Ok(())
@@ -282,7 +282,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Profile", "/org/asuslinux/Profile",
Duration::from_millis(5000), Duration::from_secs(2),
); );
proxy.set_profile(&serde_json::to_string(cmd)?)?; proxy.set_profile(&serde_json::to_string(cmd)?)?;
Ok(()) Ok(())
@@ -293,7 +293,7 @@ impl AuraDbusClient {
let proxy = self.connection.with_proxy( let proxy = self.connection.with_proxy(
"org.asuslinux.Daemon", "org.asuslinux.Daemon",
"/org/asuslinux/Charge", "/org/asuslinux/Charge",
Duration::from_millis(5000), Duration::from_secs(2),
); );
proxy.set_limit(level)?; proxy.set_limit(level)?;
Ok(()) Ok(())

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "asus-notify" name = "asus-notify"
version = "1.0.1" version = "2.0.4"
authors = ["Luke D Jones <luke@ljones.dev>"] authors = ["Luke D Jones <luke@ljones.dev>"]
edition = "2018" edition = "2018"

View File

@@ -9,7 +9,7 @@ pub mod system;
const PRIME_DISCRETE_PATH: &str = "/etc/prime-discrete"; const PRIME_DISCRETE_PATH: &str = "/etc/prime-discrete";
const MODPROBE_PATH: &str = "/etc/modprobe.d/asusd.conf"; const MODPROBE_PATH: &str = "/etc/modprobe.d/asusd.conf";
const INITRAMFS_PATH: &str = "/usr/sbin/update-initramfs"; const INITRAMFS_PATH: &str = "/usr/sbin/update-initramfs";
//const DRACUT_PATH: &str = "/usr/bin/dracut"; // const DRACUT_PATH: &str = "/usr/bin/dracut";
static MODPROBE_NVIDIA: &[u8] = MODPROBE_HYBRID; static MODPROBE_NVIDIA: &[u8] = MODPROBE_HYBRID;