From 4f44b9f53e38a7456bebada653b62cddfdae1221 Mon Sep 17 00:00:00 2001 From: HoLo85 Date: Sat, 15 Jun 2024 16:48:45 +0200 Subject: [PATCH] Fix controller detection for Pico Neo3 Link (#2192) * fix controller detection for Pico Neo3 Link, show HMD model in app to detect model without connection to server * Revert change in CHANGELOG.md * remove display of HMD model from app Will move the displaying of additional information to a different branch. * reformat code * reformat code --- alvr/client_core/src/platform/mod.rs | 3 +++ alvr/client_openxr/src/interaction.rs | 2 +- alvr/client_openxr/src/lib.rs | 2 +- alvr/client_openxr/src/stream.rs | 10 ++++++++-- 4 files changed, 13 insertions(+), 4 deletions(-) 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..7e31453bf9 100644 --- a/alvr/client_openxr/src/interaction.rs +++ b/alvr/client_openxr/src/interaction.rs @@ -66,7 +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 => 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..d12836254c 100644 --- a/alvr/client_openxr/src/lib.rs +++ b/alvr/client_openxr/src/lib.rs @@ -126,7 +126,7 @@ 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..9e0937557b 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) + 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::Pico4 + || platform == Platform::PicoNeo3 + || platform == Platform::PicoNeo3Link) && config.encoder_config.enable_hdr), !config.encoder_config.enable_hdr, config.encoder_config.encoding_gamma,