RCC: disable vsync due to NoAvailablePixelFormat error:

This commit is contained in:
Luke D. Jones
2022-10-04 11:37:23 +13:00
parent 3a640a3269
commit f6498337fe
4 changed files with 13 additions and 11 deletions

View File

@@ -147,7 +147,7 @@ impl CtrlPlatform {
) { ) {
self.set_gfx_mode(mode) self.set_gfx_mode(mode)
.map_err(|err| { .map_err(|err| {
warn!("CtrlRogBios: set_asus_switch_graphic_mode {}", err); warn!("CtrlRogBios: set_gpu_mux_mode {}", err);
err err
}) })
.ok(); .ok();
@@ -156,7 +156,7 @@ impl CtrlPlatform {
fn gpu_mux_mode(&self) -> GpuMode { fn gpu_mux_mode(&self) -> GpuMode {
match self.platform.get_gpu_mux_mode() { match self.platform.get_gpu_mux_mode() {
Ok(m) => GpuMode::from_mux(m), Ok(m) => GpuMode::from_mux(m as u8),
Err(e) => { Err(e) => {
warn!("CtrlRogBios: get_gfx_mode {}", e); warn!("CtrlRogBios: get_gfx_mode {}", e);
GpuMode::Error GpuMode::Error

View File

@@ -22,6 +22,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
print_versions(); print_versions();
let native_options = eframe::NativeOptions { let native_options = eframe::NativeOptions {
vsync: false,
decorated: false, decorated: false,
transparent: false, transparent: false,
min_window_size: Some(egui::vec2(840.0, 600.0)), min_window_size: Some(egui::vec2(840.0, 600.0)),

View File

@@ -92,7 +92,8 @@ pub fn rog_bios_group(
let mut changed = false; let mut changed = false;
ui.group(|ui| { ui.group(|ui| {
ui.vertical(|ui| { ui.vertical(|ui| {
ui.horizontal_wrapped(|ui| ui.label("GPU MUX mode (reboot required)")); ui.horizontal_wrapped(|ui| ui.label("GPU MUX mode"));
ui.horizontal_wrapped(|ui| ui.label("NOTE: Value does not change until rebooted"));
ui.horizontal_wrapped(|ui| { ui.horizontal_wrapped(|ui| {
changed = ui changed = ui
.selectable_value( .selectable_value(

View File

@@ -58,7 +58,7 @@ impl AsusPlatform {
attr_bool!("dgpu_disable", path); attr_bool!("dgpu_disable", path);
attr_bool!("egpu_enable", path); attr_bool!("egpu_enable", path);
attr_bool!("panel_od", path); attr_bool!("panel_od", path);
attr_u8!("gpu_mux_mode", path); attr_bool!("gpu_mux_mode", path);
// This is technically the same as `platform_profile` since both are tied in-kernel // This is technically the same as `platform_profile` since both are tied in-kernel
attr_u8!("throttle_thermal_policy", path); attr_u8!("throttle_thermal_policy", path);
// The acpi platform_profile support // The acpi platform_profile support
@@ -77,25 +77,25 @@ pub enum GpuMode {
impl GpuMode { impl GpuMode {
/// For writing to `gpu_mux_mode` attribute /// For writing to `gpu_mux_mode` attribute
pub fn to_mux_attr(&self) -> u8 { pub fn to_mux_attr(&self) -> bool {
if *self == Self::Discrete { if *self == Self::Discrete {
return b'0'; return false;
} }
b'1' true
} }
pub fn to_dgpu_attr(&self) -> u8 { pub fn to_dgpu_attr(&self) -> u8 {
if *self == Self::Integrated { if *self == Self::Integrated {
return b'1'; return 1;
} }
b'0' 0
} }
pub fn to_egpu_attr(&self) -> u8 { pub fn to_egpu_attr(&self) -> u8 {
if *self == Self::Egpu { if *self == Self::Egpu {
return b'1'; return 1;
} }
b'0' 0
} }
pub fn from_mux(num: u8) -> Self { pub fn from_mux(num: u8) -> Self {