Conversation
client/hardware.cpp
Outdated
| case model::htc_vive_xr_elite: | ||
| return scale_view(view, 1920); | ||
| case model::lynx_r1: | ||
| case model::galaxy_xr: |
There was a problem hiding this comment.
If we follow the other device's conventions, this would be scale_view(view, 3552).
I believe on 140% scale (the default) it would fail to create encoders and any computer would struggle to render.
There was a problem hiding this comment.
Applied, but, yes, I also think it should be adjusted base on the real-world test. 3552 * 3840 * 2 pixels are not that easy for modest computers (and I also doubt extreme high-end PCs will be able to do that too)
There was a problem hiding this comment.
Configured it to return scale_view(view, 3552), and it seems the default value (140%) is fine, at least on Radeon RX 9070XT.
I think it is good to go with this value.
d0a162a to
98bc091
Compare
| htc_vive_xr_elite, | ||
| htc_vive_focus_vision, | ||
| lynx_r1, | ||
| samsung_galaxy_xr, |
There was a problem hiding this comment.
For now we can keep it like this, but the solution doesn't scale very well.
I think I'll go for something with 2 levels like
enum class meta
{
quest_1,
quest_2,
quest_pro,
quest_3s,
quest_3,
};
enum class android_xr
{
samsung_galaxy_xr,
generic,
};
using model = std::variant<meta, android_xr>;with obviously htc and pico, I suppose Lynx and unknown would get their own categories.
Permissions would only depend on the toplevel, the second one would be used for quirks or resolution override.
There was a problem hiding this comment.
I agree on it too. However, I think it should be handled in separate refactoring PR, not in here.
|
If you want to keep separate commits, please rework them into logical elements like Android XR stuff, Galaxy XR ones, initial run permission requests. I also triggered CI, which will report if there are any issues or formatting to be done |
This PR is an initial attempt to port WiVRn to Galaxy XR.
Current limitation:
Error getting tracked pose for HMD.This PR closes #584