Announcement

Collapse
No announcement yet.

Keith Packard's Work On Better Supporting VR HMDs Under Linux With X.Org/DRM

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Keith Packard's Work On Better Supporting VR HMDs Under Linux With X.Org/DRM

    Phoronix: Keith Packard's Work On Better Supporting VR HMDs Under Linux With X.Org/DRM

    Earlier this year Keith Packard started a contract gig for Valve working to improve Linux's support for virtual reality head-mounted displays (VR HMDs). In particular, working on Direct Rendering Manager (DRM) and X.Org changes needed so VR HMDs will work well under Linux with the non-NVIDIA drivers...

    http://www.phoronix.com/scan.php?pag...17-SteamVR-HMD

  • #2
    keithp said he has time to finish up next week, so hopefully there is soon something to test on an up to date stack.

    Comment


    • #3
      What hardware are you testing with? I just started playing Ryzom on Steam yesterday... it does first-person perspective.

      Comment


      • #4
        Do you need this work to use an HTC Vive on Linux or does this just improve performance and other things?

        Comment


        • #5
          The VR vendors call it "direct mode" and "extended mode", and "extended mode" mode just means the VR headset is just a monitor on an extended desktop and the vr compositor is a fullscreen window.

          The Oculus SDK is windows only and only supports direct mode there.

          The OSVR Rendermanager supports both modes on windows with some closed source code, but on linux it only supports extended mode because the OSVR Rendermanager uses OpenGL to render its stuff and there is no direct mode for OpenGL on Linux and allegedly there won't be anytime soon.

          SteamVR supports both modes and there's a button somewhere in the SteamVR GUI to switch between them. On AMD GPUs there is no choice yet (without these patches) and the SteamVR compositor is always a fullscreen window with the Headset as a standard monitor. The SteamVR compositor renders its stuff with Vulkan, even for OpenGL VR apps, so it can always use the Vulkan direct mode extensions.

          So yes, SteamVR works, but it's not ideal. As the presentation says, compositing should really be disabled for VR headsets.
          With kwin compositing it's *really* terrible, I believe it can't handle 60 Hz on the main monitor and 90 Hz on the Vive monitor at the same time. I think kwin has some frame limit anyway.
          With compton it's actually kinda okay but I believe you can feel the tiniest bit of latency being added.
          And if you run it with no compositing you don't have vsync either and sometimes you can see the tearing.
          There is the tearfree option in xf86-video-amdgpu, but it is said to increase latency by 1 frame too.
          Last edited by haagch; 09-23-2017, 12:03 PM.

          Comment


          • #6
            Why supporting it in X.Org? Let it die, there's Wayland. About DRM (the graphics subsystem), I agree.

            VR is the future, but still not the present. Wayland is the future, X.Org is the past. Let's put the future things in the future, not go backwards again.

            Major companies adopting and developing parts of the Linux/BSD ecosystem should concentrate 800% more in Wayland and do massive efforts to get massive adoption, even if it means hiring thousands of new developers for it: Most of them have a lot of funding from their large profits, it's financially and more than profitable to invest in a lucrative and lower cost technology. This is just cheap crap that will be a subpar solution that will eventually become obsolete, it doesn't deserve so that much attention.

            Valve: Please learn again about software development like in the past instead of just concentrating most of your efforts on Steam, it's more than good enough already (but I only use DRM-free (the non-restrictive software) software and buy on sites like GOG.com). You all are able to do it a lot much better, try it
            Last edited by timofonic; 09-23-2017, 07:53 PM.

            Comment


            • #7
              I may not know my shit from Shinola when it comes to this stuff, but it is pretty obvious that this guy is doing some of the most important work in Linux, graphics and VR these days.

              PS - "The Future is the Future! So, embrace the future! Because it's the future, ya' know?! FUTURE!!!!!!! OMG! FUCKING FUTURE, YOU GUYS! DON'T YOU GET IT???!!!"

              Comment


              • #8
                Originally posted by timofonic View Post
                Major companies adopting and developing parts of the Linux/BSD ecosystem should concentrate 800% more in Wayland and do massive efforts to get massive adoption, even if it means hiring thousands of new developers for it: Most of them have a lot of funding from their large profits, it's financially and more than profitable to invest in a lucrative and lower cost technology. This is just cheap crap that will be a subpar solution that will eventually become obsolete, it doesn't deserve so that much attention.
                It's probably because nvidia started with making EXT_acquire_xlib_display and the SteamVR compositor uses that for now. I'm sure the entire backend (kernel, drm, randr) part of drm leases can be reused for wayland and it just has to be hooked up.

                Also wayland is NOT an alternative today if you don't want to use Gnome. When I last tried kde recently, kwin could not handle my main monitor + the vive extended display properly. Sure, that one problem will go away with drm leases, but I assume if you have differently sized monitors, it will still be completely broken.

                Comment

                Working...
                X