elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
454 stars 29 forks source link

Linux Support [feature request] #42

Open LuNeder opened 2 years ago

LuNeder commented 2 years ago

Basically title. It'd be nice if this supported Linux too :)

elvissteinjr commented 2 years ago

It would be nice, but also closer to a full rewrite than not.

Aside from the capture APIs, Desktop+ relies on Windows desktop behavior in many aspects. A lot of it can likely be covered about the same on Linux, some probably can't (I'm often surprised how by much a normal application can mess around on Windows). Desktop/Window capture itself seems a little bit more involved to do as well. I suppose Pipewire would at least not involve a round-trip over RAM for each frame compared to X11, but I'm not exactly knowledgeable on that topic aside from glancing over to see how the folks working on OBS did their thing.

If Wine or Proton could support Desktop+, I'd be willing to make sure things don't break there. But as it stands, neither of the capture APIs are implemented there. And I don't really see much reason why that'd change any time soon (popular apps that need support just don't use this stuff). I'm usually all for cross-platform development, but this was the one application where it just didn't make sense for me considering the extra effort involved.

xrdesktop is probably the horse to bet on for Linux VR desktop interaction to be honest.

SpookySkeletons commented 1 year ago

@elvissteinjr Check out Galister's https://github.com/galister/WlxOverlay

He is quite knowledgeable about linux desktop capture APIs if you required someone to consult.

elvissteinjr commented 1 year ago

Looks like they got their stuff figured out over there. It does look a little bit more tedious (I count 5 Wayland capture methods alone, I think), but it does look viable. That being said, they're pretty much already at it building something neat and are trying to mimic XSOverlay, so I assume they're aiming for a complete package. Also got multiple people on it.

It's nice that a project like this is going on. I haven't been able to dedicate much time to Desktop+ as of late. I'd still not say never, but while this project certainly helps, it also lowers the urgency of a Linux port (and perhaps Deckard will make everything obsolete, who knows).

Thanks for pointing the project out though. Not really keeping tabs on this stuff myself.