VR


Oculus Rift Launch Day News: New AMD & NVIDIA Drivers; Async Timewarp & Platform Restrictions Added To SDK

Oculus Rift Launch Day News: New AMD & NVIDIA Drivers; Async Timewarp & Platform Restrictions Added To SDK

After just over three and a half years and a Facebook acquisition in between, Oculus’s first-generation Rift headset is launching today. We took a hands-on preview of the headset at GDC 2016 earlier this month and will have a formal review later, but in the meantime for those lucky backers or early pre-order customers who will be receiving their units this week, let’s talk drivers and software.

As you’d expect for such a high-profile device launch, both AMD and NVIDIA have new drivers being released in part to update their support for the Rift, along with blog posts lauding the release of the device. For both companies, the launch of VR headsets represents the opening of what could potentially be a large and profitable market for high-end GPUs. The rendering requirements of VR – both in resolution and framerates – greatly surpass the common 1080p60 monitor, and the novelty of VR could further spur on additional hardware sales. So both GPU vendors are taking the launches of VR headsets over the next two weeks very seriously.

Launch Day Drivers

Starting with AMD then, the company has released their Radeon Software 16.3.2. The big news here is of course official launch support for the Rift, including Oculus’s new 1.3 SDK (more on this in a bit). This driver is also adding support for the HTC Vive ahead of its launch next week, and AMD’s Radeon Pro Duo video card. The latter still does not have an official release date, but given the added driver support and Q2 release date, it’s clearly going to be soon.

Along with the driver release, AMD’s graphics technology group has also released a blog post on their website dubbed “Asynchronous Shaders Evolved”. In it the company offers a recap of their asynchronous shader technology implementation, and further reveals that they have assigned a formal name to their async shader prioritization capability: Quick Response Queue. AMD first talked about this ability last year when they first began discussing async shading with the public, and now in their recent drivers they have enabled the feature. Quick Response Queue goes hand-in-hand with asynchronous timewarp, which ideally is executed as late as possible and as quickly as possible to produce best results, in this case allowing AMD to send the job through at high priority without resource sharing unnecessarily slowing down the job. Do note however that Quick Response Queue is a GCN 1.1+ feature, though for the purposes of VR in particular, all of AMD’s GCN 1.0 products fall below Oculus’s recommended minimum of a Radeon R9 290.

Meanwhile over at NVIDIA, they too have a new driver release with 364.72, the third release from the R364 branch. 364.72 brings launch support for both the Oculus Rift and next week’s HTC Vive, along with the various launch titles for those headsets, and all of the features present in the latest iteration of NVIDIA’s VRWorks technology. As for non-VR gamers, this is also the game ready launch driver for Dark Souls III, Killer Instinct, and Quantum Break.

The company has also published a separate blog post celebrating the launch of the Rift. In the post NVIDIA announces that GeForce Experience’s game settings optimization service now supports VR settings as well, allowing the software to dial in NVIDIA’s optimal settings for playing various games in VR. Only a limited number of games have VR settings available at this time, but NVIDIA seems to have hit a decent chunk of the graphically strenuous titles – EVE: Valkyrie, Lucky’s Tale, and Chronos – while promising to add further VR games in the future.

News From Oculus: Async Timewarp Now In Production, Non-Oculus Store Applications To Be Flagged As “Unknown”

Tying all of this launch day activity together, Oculus has released a new blog on their developers site outlining the current state of asynchronous timewarp support for the Rift. After initially announcing their implementation of the technology just a bit over a year ago, Oculus has promoted the technology to production status for the Rift on Windows. In the post they outline a bit of the work they had to do to implement async timewarp on Windows – since it’s not a real time OS, they can’t necessarily count on getting resources allocated or jobs completed as quickly as they’d like – which in turn has involved working with AMD, NVIDIA, and Microsoft to get both OS GPU scheduling and each vendor’s GPU drivers up to snuff to handle GPU prioritization and pre-emption as they expected to use it. The blog post also confirms that Oculus is using AMD’s LiquidVR and NVIDIA’s VRWorks technologies respectively to expedite the process and access functionality not normally available via DirectX 11, which has no real concept of asynchronous shading.

The blog post also confirms the technical requirements for the async timewarp. The feature works as far back as Windows 7, but owing to the significant GPU scheduling updates made with Windows 10 and its underlying WDDM 2.0 driver stack, the feature works best on Windows 10, specifically the most recent update (10586.164). In the long run here I expect that Windows 10 will be the primary platform for VR – teething issues and all – due to the combination of WDDM 2.0 and ultimately the greater flexibility offered with DirectX 12.

Meanwhile, now that async timewarp has been promoted to a production feature, Oculus is announcing that they are enabling it by default in the Oculus VR SDK 1.3. Games using this SDK will not need to do anything special to make use of the feature, which means this should allow for a fairly rapid rollout of the feature. However the post also implies that only games that are compiled against the 1.3 SDK get this feature, which is notable since the SDK was only released today. As a result it’s not clear whether any or all launch titles have async timewarp enabled at this time, or whether it’ll need to be patched in with a future game update.

On a final note about async timewarp, in their blog post Oculus also spends a bit of time discussing how async timewarp works and what it’s used best for. There’s an especially good passage outlining how async timewarp’s re-warping capability to cover for missing frames (as opposed to updating head-tracking of a frame at the last second with an initial warp) is meant to be used as a failsafe option, and that developers shouldn’t use it to try to get away with games that run below 90fps. I especially like this passage – it’s the greatest summary of why you can’t cheat your way to VR that I’ve ever read – so I’ve gone ahead and reprinted it below.

However, ATW is not a silver bullet. Failing to maintain a consistent, full frame rate may produce visible artifacts including noticeable positional judder, particularly in the near field of view. An application that falls below 90fps rendering will get re-warped in time to avoid rotational judder, but while orientation latency is kept low and smooth, animation and player movement may judder in lock-step with missed frames. For these reasons we continue to recommend that developers do not rely on ATW to save them from low frame rate.

Finally, on a not-quite-hardware bit of news, Epic Games’ engine guru Tim Sweeney has pointed out that with the release of the Rift and the 1.3 SDK, Oculus has implemented new security and content policies on the platform. Applications compiled with the Oculus SDK but not distributed through the Oculus Store will be flagged as coming from an unknown source, and by default will be blocked. At the same time it will still be possible to run these applications, but end-users will first need to enable applications from Unknown Sources to have them unblocked.

At first glance this appears to be an attempt by Oculus to encourage developers to adhere to their development guidelines while also building up their platform. Ala the mobile app stores, Oculus will be reviewing applications and approving/rejecting submissions based on content restrictions and adherence to best developmet guidelines. Ideally this should result in a more consistent experience for users due to applications not being allowed that don’t follow Oculus’s development guidelines, although the content aspect of the review process is also going to be particularly important for anything that fails their content rules (and as such can never get approved), as it means those applications will have to go the Unknown Sources path. Meanwhile, the default blocking of applications compiled via the SDK but not sold on the store will also serve to encourage developers to use the Oculus platform and distribute their applications through the Oculus Store, rather than leaving Oculus out and using another store entirely.

To fray some of the concerns about the Oculus Store, Oculus is allowing developers to request keys for free, which can then be sold to users via other stores. The end result is very similar to Steam, allowing Oculus platform applications to be sold at third party stores while retaining their use of the Oculus platform. However I can’t recall a parallel of a Windows peripheral developer blocking third party applications by default, as this is typically the domain of OS vendors running closed platforms.

Oculus Rift Launch Day News: New AMD & NVIDIA Drivers; Async Timewarp & Platform Restrictions Added To SDK

Oculus Rift Launch Day News: New AMD & NVIDIA Drivers; Async Timewarp & Platform Restrictions Added To SDK

After just over three and a half years and a Facebook acquisition in between, Oculus’s first-generation Rift headset is launching today. We took a hands-on preview of the headset at GDC 2016 earlier this month and will have a formal review later, but in the meantime for those lucky backers or early pre-order customers who will be receiving their units this week, let’s talk drivers and software.

As you’d expect for such a high-profile device launch, both AMD and NVIDIA have new drivers being released in part to update their support for the Rift, along with blog posts lauding the release of the device. For both companies, the launch of VR headsets represents the opening of what could potentially be a large and profitable market for high-end GPUs. The rendering requirements of VR – both in resolution and framerates – greatly surpass the common 1080p60 monitor, and the novelty of VR could further spur on additional hardware sales. So both GPU vendors are taking the launches of VR headsets over the next two weeks very seriously.

Launch Day Drivers

Starting with AMD then, the company has released their Radeon Software 16.3.2. The big news here is of course official launch support for the Rift, including Oculus’s new 1.3 SDK (more on this in a bit). This driver is also adding support for the HTC Vive ahead of its launch next week, and AMD’s Radeon Pro Duo video card. The latter still does not have an official release date, but given the added driver support and Q2 release date, it’s clearly going to be soon.

Along with the driver release, AMD’s graphics technology group has also released a blog post on their website dubbed “Asynchronous Shaders Evolved”. In it the company offers a recap of their asynchronous shader technology implementation, and further reveals that they have assigned a formal name to their async shader prioritization capability: Quick Response Queue. AMD first talked about this ability last year when they first began discussing async shading with the public, and now in their recent drivers they have enabled the feature. Quick Response Queue goes hand-in-hand with asynchronous timewarp, which ideally is executed as late as possible and as quickly as possible to produce best results, in this case allowing AMD to send the job through at high priority without resource sharing unnecessarily slowing down the job. Do note however that Quick Response Queue is a GCN 1.1+ feature, though for the purposes of VR in particular, all of AMD’s GCN 1.0 products fall below Oculus’s recommended minimum of a Radeon R9 290.

Meanwhile over at NVIDIA, they too have a new driver release with 364.72, the third release from the R364 branch. 364.72 brings launch support for both the Oculus Rift and next week’s HTC Vive, along with the various launch titles for those headsets, and all of the features present in the latest iteration of NVIDIA’s VRWorks technology. As for non-VR gamers, this is also the game ready launch driver for Dark Souls III, Killer Instinct, and Quantum Break.

The company has also published a separate blog post celebrating the launch of the Rift. In the post NVIDIA announces that GeForce Experience’s game settings optimization service now supports VR settings as well, allowing the software to dial in NVIDIA’s optimal settings for playing various games in VR. Only a limited number of games have VR settings available at this time, but NVIDIA seems to have hit a decent chunk of the graphically strenuous titles – EVE: Valkyrie, Lucky’s Tale, and Chronos – while promising to add further VR games in the future.

News From Oculus: Async Timewarp Now In Production, Non-Oculus Store Applications To Be Flagged As “Unknown”

Tying all of this launch day activity together, Oculus has released a new blog on their developers site outlining the current state of asynchronous timewarp support for the Rift. After initially announcing their implementation of the technology just a bit over a year ago, Oculus has promoted the technology to production status for the Rift on Windows. In the post they outline a bit of the work they had to do to implement async timewarp on Windows – since it’s not a real time OS, they can’t necessarily count on getting resources allocated or jobs completed as quickly as they’d like – which in turn has involved working with AMD, NVIDIA, and Microsoft to get both OS GPU scheduling and each vendor’s GPU drivers up to snuff to handle GPU prioritization and pre-emption as they expected to use it. The blog post also confirms that Oculus is using AMD’s LiquidVR and NVIDIA’s VRWorks technologies respectively to expedite the process and access functionality not normally available via DirectX 11, which has no real concept of asynchronous shading.

The blog post also confirms the technical requirements for the async timewarp. The feature works as far back as Windows 7, but owing to the significant GPU scheduling updates made with Windows 10 and its underlying WDDM 2.0 driver stack, the feature works best on Windows 10, specifically the most recent update (10586.164). In the long run here I expect that Windows 10 will be the primary platform for VR – teething issues and all – due to the combination of WDDM 2.0 and ultimately the greater flexibility offered with DirectX 12.

Meanwhile, now that async timewarp has been promoted to a production feature, Oculus is announcing that they are enabling it by default in the Oculus VR SDK 1.3. Games using this SDK will not need to do anything special to make use of the feature, which means this should allow for a fairly rapid rollout of the feature. However the post also implies that only games that are compiled against the 1.3 SDK get this feature, which is notable since the SDK was only released today. As a result it’s not clear whether any or all launch titles have async timewarp enabled at this time, or whether it’ll need to be patched in with a future game update.

On a final note about async timewarp, in their blog post Oculus also spends a bit of time discussing how async timewarp works and what it’s used best for. There’s an especially good passage outlining how async timewarp’s re-warping capability to cover for missing frames (as opposed to updating head-tracking of a frame at the last second with an initial warp) is meant to be used as a failsafe option, and that developers shouldn’t use it to try to get away with games that run below 90fps. I especially like this passage – it’s the greatest summary of why you can’t cheat your way to VR that I’ve ever read – so I’ve gone ahead and reprinted it below.

However, ATW is not a silver bullet. Failing to maintain a consistent, full frame rate may produce visible artifacts including noticeable positional judder, particularly in the near field of view. An application that falls below 90fps rendering will get re-warped in time to avoid rotational judder, but while orientation latency is kept low and smooth, animation and player movement may judder in lock-step with missed frames. For these reasons we continue to recommend that developers do not rely on ATW to save them from low frame rate.

Finally, on a not-quite-hardware bit of news, Epic Games’ engine guru Tim Sweeney has pointed out that with the release of the Rift and the 1.3 SDK, Oculus has implemented new security and content policies on the platform. Applications compiled with the Oculus SDK but not distributed through the Oculus Store will be flagged as coming from an unknown source, and by default will be blocked. At the same time it will still be possible to run these applications, but end-users will first need to enable applications from Unknown Sources to have them unblocked.

At first glance this appears to be an attempt by Oculus to encourage developers to adhere to their development guidelines while also building up their platform. Ala the mobile app stores, Oculus will be reviewing applications and approving/rejecting submissions based on content restrictions and adherence to best developmet guidelines. Ideally this should result in a more consistent experience for users due to applications not being allowed that don’t follow Oculus’s development guidelines, although the content aspect of the review process is also going to be particularly important for anything that fails their content rules (and as such can never get approved), as it means those applications will have to go the Unknown Sources path. Meanwhile, the default blocking of applications compiled via the SDK but not sold on the store will also serve to encourage developers to use the Oculus platform and distribute their applications through the Oculus Store, rather than leaving Oculus out and using another store entirely.

To fray some of the concerns about the Oculus Store, Oculus is allowing developers to request keys for free, which can then be sold to users via other stores. The end result is very similar to Steam, allowing Oculus platform applications to be sold at third party stores while retaining their use of the Oculus platform. However I can’t recall a parallel of a Windows peripheral developer blocking third party applications by default, as this is typically the domain of OS vendors running closed platforms.

Hands On With the Retail Oculus Rift: Countdown to Launch

Today I’ll be going over my hands-on session with the final, retail version of the Oculus Rift, Oculus’s soon to launch VR headset. As part of their GDC festivities, Oculus held a lengthy press demo to give us a chance to try out the retail hardware with a number of games being prepared for the headset, to demonstrate not only the hardware but the games and experiences that it will be driving. A full review of the Rift will be coming later, but for today I wanted to discuss my impressions of the retail hardware and the various titles I had a chance to try.

Hands On With the Retail Oculus Rift: Countdown to Launch

Today I’ll be going over my hands-on session with the final, retail version of the Oculus Rift, Oculus’s soon to launch VR headset. As part of their GDC festivities, Oculus held a lengthy press demo to give us a chance to try out the retail hardware with a number of games being prepared for the headset, to demonstrate not only the hardware but the games and experiences that it will be driving. A full review of the Rift will be coming later, but for today I wanted to discuss my impressions of the retail hardware and the various titles I had a chance to try.

Qualcomm’s New SDK Enables Development of VR Apps on Snapdragon 820

Qualcomm’s New SDK Enables Development of VR Apps on Snapdragon 820

Qualcomm on Monday introduced its first virtual reality software development kit, designed for its Snapdragon 820 mobile SoC. The new tools will enable software makers to create programs that take advantage of Snapdragon 820’s graphics processing capabilities (i.e. Adreno) as well as built-in sensors. Qualcomm confirmed that in addition to smartphones and other mobile devices, the Snapdragon 820 will also be used inside VR headsets.

The Samsung Gear VR platform, as well as Google’s Cardboard, have demonstrated that smartphones based on contemporary high-end mobile SoCs can be used to enable virtual reality headsets. While graphics processing performance of mobile SoCs lags behind modern desktop graphics by AMD or NVIDIA, they integrate numerous sensors and technologies which can crucial for virtual reality equipment. In fact, positive virtual reality experience requires not only high-quality visuals and surround sound but also the complete immersion of the user and a sense of physical presence. As a result, precise sensors to track user’s movements and minimal latency are very important. But to fully utilize capabilities of modern mobile SoCs, software developers need a right set of tools tailored for VR software. Also, given the secrecy around the internal GPU Adreno graphics solution and its microarchitecture, any set of tools that can assist with graphics/DSP manipulation are a good thing to have.

Qualcomm’s Snapdragon VR SDK, which will be available in the second quarter, supports a number of technologies that simplify development of virtual reality applications, such as games, 360° VR videos and a variety of interactive education and entertainment apps.

The Snapdragon VR SDK supports DSP sensor fusion, which allows developers to access high-frequency inertial data from gyroscopes and accelerometers via the Snapdragon Sensor Core. The software development kit also allows developers to use the Qualcomm Hexagon DSP for predictive head position processing.

Usage of the Snapdragon VR SDK reduces latency by up to 50% by using asynchronous time warp with single buffer rendering for a rapid transformation of rendered images in 3D space. Qualcomm says that its Snapdragon 820 SoC features 18 ms motion to photon latency thanks to various enhancements.

The Snapdragon VR SDK also brings support for stereoscopic rendering with lens correction, color correction and barrel distortion, something that should improve the visual quality of graphics and videos. According to Qualcomm, the Snapdragon 820 can render stereoscopic images in 3200×1800 resolution at 90 fps. In addition, the software development kit can help to generate menus that are readable in VR worlds thanks to UI layering.

Finally, the Snapdragon VR SDK gives developers access to CPU, GPU, and DSP power and performance management in a bid to help them guarantee high and stable frame rates (90 fps) in low-power devices. Precise power management is also required to build sleek and lightweight VR headsets.

While the launch of a special Snapdragon VR SDK is a significant step for Qualcomm in the field of virtual reality, what is really important is Qualcomm’s commitment to VR in general. The company claims that it developed the Snapdragon 820 with virtual reality in mind and it will continue to implement VR-specific technologies into its upcoming Adreno graphics cores, CPU cores as well as Hexagon DSPs. Keeping in mind that VR headsets will only get more complex in the coming years, all the technologies that Qualcomm manages to incorporate into its SoCs will be instrumental in improving the quality of VR content.

For ecosystem enablement, Qualcomm will initially bring developers this VR SDK, and then also app development tools, device optimization tools, development platforms, and so on. In particular, Qualcomm claims that VR headsets based on the Snapdragon 820 are incoming, which will allow end-users to experience VR apps and content, whereas developers will be able to test their programs on commercial hardware.