RandR 1.6 Proposal Around The Work On Linux VR HMDs Support
For those wanting to follow the work Keith Packard is doing for Valve around better supporting VR HMDs (Head Mounted Displays) on the open-source driver stack, he's made a proposal for some changes in what would become RandR 1.6.
Packard has been brainstorming changes to DRM for VR HMDs and in particular around DRM leases for letting the VR application/game deal directly with the HMD using KMS/DRM APIs and getting the window manager / xorg-server out of the way. A few days back, Keith laid out the proposal for changes to the X Server's Resize and Rotate Extension (RandR) for dealing with DRM leasing to have the X server create a lease and then pass it back to a client.
The changes to RandR 1.6 would include offering the ability to create a lease on a set of CRTCs and OUTPUTs and provide a way to hide some monitors from other clients based upon the manufacturer IDs and product codes. That latter functionality would be used for being able to hide detected HMD devices so that they wouldn't show up to the desktop environment when an HMD is plugged into the system, so that the desktop wouldn't try to claim it and attempt to extend the display onto the device or to cause a flicker for the desktop displays by the mode-set process.
The VR game/app could meanwhile request the lease on the HMD via RandR and then interface with that hardware directly using the existing DRM/KMS APIs. Yes, X11/X.Org specific bits when it comes to the RandR extension work, but the DRM/KMS API handling would be the same under Wayland.
The proposed changes for RandR 1.6 can be found on the xorg-devel mailing list. The matter remains under discussion among upstream developers.
Packard has been brainstorming changes to DRM for VR HMDs and in particular around DRM leases for letting the VR application/game deal directly with the HMD using KMS/DRM APIs and getting the window manager / xorg-server out of the way. A few days back, Keith laid out the proposal for changes to the X Server's Resize and Rotate Extension (RandR) for dealing with DRM leasing to have the X server create a lease and then pass it back to a client.
The changes to RandR 1.6 would include offering the ability to create a lease on a set of CRTCs and OUTPUTs and provide a way to hide some monitors from other clients based upon the manufacturer IDs and product codes. That latter functionality would be used for being able to hide detected HMD devices so that they wouldn't show up to the desktop environment when an HMD is plugged into the system, so that the desktop wouldn't try to claim it and attempt to extend the display onto the device or to cause a flicker for the desktop displays by the mode-set process.
The VR game/app could meanwhile request the lease on the HMD via RandR and then interface with that hardware directly using the existing DRM/KMS APIs. Yes, X11/X.Org specific bits when it comes to the RandR extension work, but the DRM/KMS API handling would be the same under Wayland.
The proposed changes for RandR 1.6 can be found on the xorg-devel mailing list. The matter remains under discussion among upstream developers.
Add A Comment