From a5d5b2545ec7ced97540ca7152724e859b02a5b9 Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 03:43:47 +0200 Subject: [PATCH 1/5] fix controller detection for Pico Neo3 Link, show HMD model in app to detect model without connection to server --- CHANGELOG.md | 5 +++++ alvr/client_core/src/connection.rs | 3 ++- alvr/client_core/src/platform/mod.rs | 3 +++ alvr/client_openxr/src/interaction.rs | 3 ++- alvr/client_openxr/src/lib.rs | 4 +++- alvr/client_openxr/src/stream.rs | 4 ++-- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 967158ed19..cf90bcc58d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## v20.8.1 + +* Fix controller detection for Pico Neo3 Link +* Show HMD model in app + ## v20.8.0 * Bring back settings tabs (by @Meister1593 #2076) diff --git a/alvr/client_core/src/connection.rs b/alvr/client_core/src/connection.rs index 1438ec2c82..dd3e7795e6 100644 --- a/alvr/client_core/src/connection.rs +++ b/alvr/client_core/src/connection.rs @@ -73,8 +73,9 @@ pub struct ConnectionContext { fn set_hud_message(event_queue: &Mutex>, message: &str) { let message = format!( - "ALVR v{}\nhostname: {}\nIP: {}\n\n{message}", + "ALVR v{}\nHMD {}\nhostname: {}\nIP: {}\n\n{message}", *ALVR_VERSION, + platform::platform().to_string(), Config::load().hostname, platform::local_ip(), ); diff --git a/alvr/client_core/src/platform/mod.rs b/alvr/client_core/src/platform/mod.rs index 6b0b0734d7..b4007691d0 100644 --- a/alvr/client_core/src/platform/mod.rs +++ b/alvr/client_core/src/platform/mod.rs @@ -15,6 +15,7 @@ pub enum Platform { QuestPro, QuestUnknown, PicoNeo3, + PicoNeo3Link, Pico4, Focus3, XRElite, @@ -38,6 +39,7 @@ impl Display for Platform { Platform::QuestPro => "Quest Pro", Platform::QuestUnknown => "Quest (unknown)", Platform::PicoNeo3 => "Pico Neo 3", + Platform::PicoNeo3Link => "Pico Neo 3 Link", Platform::Pico4 => "Pico 4", Platform::Focus3 => "VIVE Focus 3", Platform::XRElite => "VIVE XR Elite", @@ -69,6 +71,7 @@ pub fn platform() -> Platform { ("Oculus", _, "seacliff") => Platform::QuestPro, ("Oculus", _, _) => Platform::QuestUnknown, ("Pico", "Pico Neo 3", _) => Platform::PicoNeo3, + ("Pico", "Pico Neo3 Link", _) => Platform::PicoNeo3Link, ("Pico", _, _) => Platform::Pico4, ("HTC", "VIVE Focus 3", _) => Platform::Focus3, ("HTC", "VIVE XR Series", _) => Platform::XRElite, diff --git a/alvr/client_openxr/src/interaction.rs b/alvr/client_openxr/src/interaction.rs index 030273a8b7..7b4620d9d6 100644 --- a/alvr/client_openxr/src/interaction.rs +++ b/alvr/client_openxr/src/interaction.rs @@ -66,7 +66,8 @@ pub fn initialize_interaction( | Platform::Quest3 | Platform::QuestPro | Platform::QuestUnknown => QUEST_CONTROLLER_PROFILE_PATH, // todo: create new controller profile for quest pro and 3 - Platform::PicoNeo3 => PICO_NEO3_CONTROLLER_PROFILE_PATH, + Platform::PicoNeo3 + | Platform::PicoNeo3Link => PICO_NEO3_CONTROLLER_PROFILE_PATH, Platform::Pico4 => PICO4_CONTROLLER_PROFILE_PATH, Platform::Focus3 | Platform::XRElite | Platform::ViveUnknown => { FOCUS3_CONTROLLER_PROFILE_PATH diff --git a/alvr/client_openxr/src/lib.rs b/alvr/client_openxr/src/lib.rs index 5bae7efd02..65ee8f7783 100644 --- a/alvr/client_openxr/src/lib.rs +++ b/alvr/client_openxr/src/lib.rs @@ -126,7 +126,9 @@ pub fn entry_point() { | Platform::Quest3 | Platform::QuestPro | Platform::QuestUnknown => "_quest", - Platform::PicoNeo3 | Platform::Pico4 => "_pico", + Platform::PicoNeo3 + | Platform::PicoNeo3Link + | Platform::Pico4 => "_pico", Platform::Yvr => "_yvr", Platform::Lynx => "_lynx", _ => "", diff --git a/alvr/client_openxr/src/stream.rs b/alvr/client_openxr/src/stream.rs index c96ac39d3e..ad1dcfae86 100644 --- a/alvr/client_openxr/src/stream.rs +++ b/alvr/client_openxr/src/stream.rs @@ -102,7 +102,7 @@ impl StreamContext { { alvr_client_core::try_get_permission("com.oculus.permission.EYE_TRACKING") } - if config.combined_eye_gaze && matches!(platform, Platform::Pico4 | Platform::PicoNeo3) + if config.combined_eye_gaze && matches!(platform, Platform::Pico4 | Platform::PicoNeo3 | Platform::PicoNeo3Link) { alvr_client_core::try_get_permission("com.picovr.permission.EYE_TRACKING") } @@ -189,7 +189,7 @@ impl StreamContext { ], config.foveated_encoding_config.clone(), platform != Platform::Lynx - && !((platform == Platform::Pico4 || platform == Platform::PicoNeo3) + && !((platform == Platform::Pico4 || platform == Platform::PicoNeo3 || platform == Platform::PicoNeo3Link) && config.encoder_config.enable_hdr), !config.encoder_config.enable_hdr, config.encoder_config.encoding_gamma, From 6c6dbfec65797a822e16dfd82d227201a13a14ee Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 12:48:30 +0200 Subject: [PATCH 2/5] Revert change in CHANGELOG.md --- CHANGELOG.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf90bcc58d..967158ed19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,5 @@ # Changelog -## v20.8.1 - -* Fix controller detection for Pico Neo3 Link -* Show HMD model in app - ## v20.8.0 * Bring back settings tabs (by @Meister1593 #2076) From ed938558d0d5f6f002f65ac04c8dfc792d975d0b Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 14:04:12 +0200 Subject: [PATCH 3/5] remove display of HMD model from app Will move the displaying of additional information to a different branch. --- alvr/client_core/src/connection.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/alvr/client_core/src/connection.rs b/alvr/client_core/src/connection.rs index dd3e7795e6..1438ec2c82 100644 --- a/alvr/client_core/src/connection.rs +++ b/alvr/client_core/src/connection.rs @@ -73,9 +73,8 @@ pub struct ConnectionContext { fn set_hud_message(event_queue: &Mutex>, message: &str) { let message = format!( - "ALVR v{}\nHMD {}\nhostname: {}\nIP: {}\n\n{message}", + "ALVR v{}\nhostname: {}\nIP: {}\n\n{message}", *ALVR_VERSION, - platform::platform().to_string(), Config::load().hostname, platform::local_ip(), ); From 63a917b4ba0b5c780940b8bef5a9c32adbff6e8c Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 16:16:03 +0200 Subject: [PATCH 4/5] reformat code --- alvr/client_openxr/src/interaction.rs | 3 +-- alvr/client_openxr/src/lib.rs | 4 +--- alvr/client_openxr/src/stream.rs | 10 ++++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/alvr/client_openxr/src/interaction.rs b/alvr/client_openxr/src/interaction.rs index 7b4620d9d6..7e31453bf9 100644 --- a/alvr/client_openxr/src/interaction.rs +++ b/alvr/client_openxr/src/interaction.rs @@ -66,8 +66,7 @@ pub fn initialize_interaction( | Platform::Quest3 | Platform::QuestPro | Platform::QuestUnknown => QUEST_CONTROLLER_PROFILE_PATH, // todo: create new controller profile for quest pro and 3 - Platform::PicoNeo3 - | Platform::PicoNeo3Link => PICO_NEO3_CONTROLLER_PROFILE_PATH, + Platform::PicoNeo3 | Platform::PicoNeo3Link => PICO_NEO3_CONTROLLER_PROFILE_PATH, Platform::Pico4 => PICO4_CONTROLLER_PROFILE_PATH, Platform::Focus3 | Platform::XRElite | Platform::ViveUnknown => { FOCUS3_CONTROLLER_PROFILE_PATH diff --git a/alvr/client_openxr/src/lib.rs b/alvr/client_openxr/src/lib.rs index 65ee8f7783..d12836254c 100644 --- a/alvr/client_openxr/src/lib.rs +++ b/alvr/client_openxr/src/lib.rs @@ -126,9 +126,7 @@ pub fn entry_point() { | Platform::Quest3 | Platform::QuestPro | Platform::QuestUnknown => "_quest", - Platform::PicoNeo3 - | Platform::PicoNeo3Link - | Platform::Pico4 => "_pico", + Platform::PicoNeo3 | Platform::PicoNeo3Link | Platform::Pico4 => "_pico", Platform::Yvr => "_yvr", Platform::Lynx => "_lynx", _ => "", diff --git a/alvr/client_openxr/src/stream.rs b/alvr/client_openxr/src/stream.rs index ad1dcfae86..49e4d1e8bd 100644 --- a/alvr/client_openxr/src/stream.rs +++ b/alvr/client_openxr/src/stream.rs @@ -102,7 +102,11 @@ impl StreamContext { { alvr_client_core::try_get_permission("com.oculus.permission.EYE_TRACKING") } - if config.combined_eye_gaze && matches!(platform, Platform::Pico4 | Platform::PicoNeo3 | Platform::PicoNeo3Link) + if config.combined_eye_gaze + && matches!( + platform, + Platform::Pico4 | Platform::PicoNeo3 | Platform::PicoNeo3Link + ) { alvr_client_core::try_get_permission("com.picovr.permission.EYE_TRACKING") } @@ -189,7 +193,9 @@ impl StreamContext { ], config.foveated_encoding_config.clone(), platform != Platform::Lynx - && !((platform == Platform::Pico4 || platform == Platform::PicoNeo3 || platform == Platform::PicoNeo3Link) + && !((platform == Platform::Pico4 + || platform == Platform::PicoNeo3 + || platform == Platform::PicoNeo3Link) && config.encoder_config.enable_hdr), !config.encoder_config.enable_hdr, config.encoder_config.encoding_gamma, From cf5162e04c6707eac3c064ba95b302065f138f21 Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 16:18:56 +0200 Subject: [PATCH 5/5] reformat code --- alvr/client_openxr/src/stream.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alvr/client_openxr/src/stream.rs b/alvr/client_openxr/src/stream.rs index 49e4d1e8bd..9e0937557b 100644 --- a/alvr/client_openxr/src/stream.rs +++ b/alvr/client_openxr/src/stream.rs @@ -104,8 +104,8 @@ impl StreamContext { } if config.combined_eye_gaze && matches!( - platform, - Platform::Pico4 | Platform::PicoNeo3 | Platform::PicoNeo3Link + platform, + Platform::Pico4 | Platform::PicoNeo3 | Platform::PicoNeo3Link ) { alvr_client_core::try_get_permission("com.picovr.permission.EYE_TRACKING")