Valve Wants To Improve AMDGPU Linux Driver For VR To Avoid Motion Sickness

Written by Michael Larabel in Valve on 17 December 2016 at 07:10 AM EST. 19 Comments
VALVE
A developer at Valve has issued a request for comments on a proposal to implement high priority scheduling in the AMDGPU kernel driver in order to benefit their Linux VR efforts.

Andres Rodriguez of Valve issued the proposal and is willing to do the actual work to implement high priority scheduling in AMDGPU. He explained, "We are interested in feedback for a mechanism to effectively schedule high priority VR reprojection tasks (also referred to as time-warping) for Polaris10 running on the amdgpu kernel driver."

Enhancing the driver is being driven to avoid AMD Linux gamers from experiencing motion sickness. The Valve developer went on to explain, "The main objective of reprojection is to avoid motion sickness for VR users in scenarios where the game or application would fail to finish rendering a new frame in time for the next VBLANK. When this happens, the user's head movements are not reflected on the Head Mounted Display (HMD) for the duration of an extra frame. This extended mismatch between the inner ear and the eyes may cause the user to experience motion sickness. The VR compositor deals with this problem by fabricating a new frame using the user's updated head position in combination with the previous frames. This avoids a prolonged mismatch between the HMD output and the inner ear. Because of the adverse effects on the user, we require high confidence that the reprojection task will complete before the VBLANK interval. Even if the GFX pipe is currently full of work from the game/application (which is most likely the case)."

Valve is planning for this work to be predictable from submission to fence signaling and also work for compute workloads, support low-submission latencies, and other wish-list items. The main concept is to provide a "high priority compute queue" that is exposed to user-space. Once work is going, Valve is also willing to work on it to see it implemented within the RADV Vulkan driver, since Vulkan is playing a big role with Valve's VR initiative.

More details via this mailing list thread.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week