Finding the cause of bad black levels and colorbanding in the Rift.

TL;DR I want to find out what is really causing the difference in black levels and colorbanding people are reporting with 1.3.x, especially in DK2?

The long version:

Please excuse me if there are threads about this already. I am finding that most are talking about the symptoms and not the cause.

I am a techie, sci-fi fanatic who found my next big interest in this life with Elite Dangerous in Virtual Reality. Because of my intense commitment to this (and Frontiers 10 year plan for this game), I am deeply invested in making this experience the best it can be. I've invested a lot of money in and around my computer for this. Virtual Reality in general also ofcourse but Elite stands on the top.

My latest concern during my wait for the consumer VR headsets is the black levels in Elite Dangerous which was kind of destroyed with Oculus Runtime 1.3.x (in the DK2). The sudden cutoff, or brightness change between the darkest colours and pitch black (oled off) that have appeared, cause a lot of black smearing (many are reporting that the smearing have returned, but they are not immediately realising that this is because of the black level cutoff).

However, I have as of yet only been able to try this with the DK2 and that is "not supported". But I am still worried this will be the case with the CV1 as well, since I read about CV1 owners are experiencing these bad blacks.

The timewarp and other improvements with Oculus 1.3.x has been wonderful and made me very excited but there are these black levels that have been completely crushed. I have attempted to find information on what is causing this.

I am on Win10 with 5820K, Asus Deluxe-X99 MB, 16 GB, SSD, Asus 980Ti Strix OC

So far I got these facts:

With direct mode there is no way for the user to change any settings for the Rift display anymore.

Black levels was deep and satisfying in Runtime 0.5 and 0.6.

Black levels are deep and satisfying in Runtime 0.8 (through SteamVR).

Black levels are crushed with Runtime 1.3.x.

All apps in runtime 1.3.x feel at least somewhat washed out in DK2. Some more than others. In bright cartoony experiences it is almost undetectable.


I've got these guesses:

DK2 is not officially supported anymore. Duh! Doesn't mean everything should work excellent, except the colours right?

There is a bug in Elite. Weird since the same binary looks awesome in 0.8 over SteamVR and Elite looked good in earlier SDK's and versions.

There is a bug in the latest Nvidia drivers regarding the hardware accelerated gamma shading or it's not adressed if DK2 is detected by Oculus drivers.

The Oculus runtime no longer cares about setting the correct HDMI full range mode for the DK2.

Oculus have changed some gamma curve in a way that destroys the fidelity in the darkest areas. Source: https://forums.oculus.com/community/discussion/comment/350548/#Comment_350548

Oculus have actually went and implemented HDMI limited range from now on for practical reasons (whatever those might be). Source: https://forums.oculus.com/developer/discussion/comment/362953/#Comment_362953

The Nvidia HDMI TV-levels debacle where the card just thinks this is a HDTV and set the color range to HDMI-limited 16-235 and no override is included with the Oculus 1.3.x for the DK2 (or is not working on my card). Source: https://pcmonitors.info/articles/correcting-hdmi-colour-on-nvidia-and-amd-gpus/


Things I have tried:

Running the NV_RGBFullRangeToggle app that sets Registry flags to use full range over HDMI. Source: http://blog.metaclassofnil.com/?p=83

Complete reinstall of Win10 and trying without any other possibly interfering software installed except 1.3 and graphics drivers and the game.

Complete reinstall of Graphics drivers. Source: https://www.reddit.com/r/oculus/comments/4eoayn/heads_up_if_blacks_appear_bright_grey_with_the/

Using a DVI->HDMI adapter. Source: https://www.reddit.com/r/oculus/comments/4eftt0/psa_if_youre_having_washed_out_colorsbad_blacks/

Things people have reported are fixing this (but doesn't work for me):

Clean install of the Nvidia drivers.

Using a DVI->HDMI adapter.

Things I have yet to try:

Some other graphics card.

Trying with the final consumer version (haven't got it yet).

So what the hell is going on here, why are no solutions working for me and how is it supposed to be? I am fully aware the bad blacks I am experiencing might be fixed the second I swap out my DK2 for the CV1 (which I am expecting at beginning of May). I can't really (or won't believe) Oculus has gone and crippled everything below level 16 of black and gone some TV-color range route. Why would they? To be compatible with TV and movie apps? Doesn't make sense to me at least if they want to stay compatible with games in general. Is it to hide the fact the OLED panels are unreliable in the dark areas? Is there essentially a physical filter in the CV1 bringing down the visible range a notch and the runtime artificially making everything brighter to make this work? What will this do to the colourgradients? Are we to expect gradients will never look as good as on a Rgb 24 bit monitor in the Rift now? Oh well just throwing my speculation out there.

Especially the bad gradients with color banding, is for me evidence this is Nvidia hardware chosing HDMI limited range, essentially on the fly converting 0-255 to 16-235 for TV output (since 16 is black for TV and everything below is blacker than black). But if this is the case, why would Oculus let this pass into 1.3.x when it worked in 0.8? It shouldn't be hard to keep DK2 working the same way as before. DK2's are still valid for development and the amount of DK2's in the world is still good PR for Oculus wherever they appear and a way for people finding the CV's too expensive to still buy used and be able to join the revolution, in the long run triggering more sales of the consumer versions.

I have confidence in the very talented people working at Oculus and if they have gone and changed the gamma curve or the way the Rift produces very dark colors I would like to hear the reasoning behind this. But I don't know if this is the case. It's unlogical from where I stand.

In the Oculus developer documentation we find this:

---snip---
The Oculus compositor provides sRGB-correct rendering, which results in more photorealistic visuals, better MSAA, and energy-conserving texture sampling, which are very important for VR applications. As shown above, applications are expected to create sRGB texture swap chains. Proper treatment of sRGB rendering is a complex subject and, although this section provides an overview, extensive information is outside the scope of this document.

There are several steps to ensuring a real-time rendered application achieves sRGB-correct shading and different ways to achieve it. For example, most GPUs provide hardware acceleration to improve gamma-correct shading for sRGB-specific input and output surfaces, while some applications use GPU shader math for more customized control. For the Oculus SDK, when an application passes in sRGB-space texture swap chains, the compositor relies on the GPU's sampler to do the sRGB-to-linear conversion.

All color textures fed into a GPU shader should be marked appropriately with the sRGB-correct format, such as OVR_FORMAT_R8G8B8A8_UNORM_SRGB. This is also recommended for applications that provide static textures as quad-layer textures to the Oculus compositor. Failure to do so will cause the texture to look much brighter than expected.
---snip---

The takeaway for me here, is that the compositor provides sRGB-correct rendering and that the compositor relies on the GPU's sampler to do the sRGB-to-linear conversion (why is this needed, isn't the displays RGB?). So if the developer screws up the texture formats or the GPU is misconfigured the colors will look wrong. Well, I'm no gamedev (only php) so I don't know too much about this.

What are your experiences and how do you feel your bad (or good) black levels are and how are gradients looking with both DK2 and CV1? (Don't forget to tell which one you have).

Please, I want this thread to only be about this problem and finding the cause of it. Please don't tell me to wait for my CV1, that's why I have all the time speculating about this. :)

Thank you for reading all the way here.
 
Yeah, 1.3 + DK2 = grey misery.

I am hoping that the new forthcoming release will address this.

Its just a simple case of development time, they prioritised CV1 optimisation (which is cool) and the changes that they made screwed the DK2.

I have faith in them, im pretty sure they still have DK2s in house and are well aware of the situation.

Its still mostly awesome in 0.8 though, bar the SC judder.

I did however read a thread yesterday which said that the brand new Oculus runtime borks 0.8 and the switcher, didnt get a chance to try it yet
 
Last edited:
I have DK2 win7-64 GTX970 and feel your pain. I've pretty much stopped playing elite dangerous/horizons becuase of the godawful smearing, washed out sky, and colorbanding now seen with the oculus 1.3!
Anxiously awaiting for some solution.
 
Last edited:
I've got a CV1 and yeah, the color banding gradient issues are really bad.... It is really hard to play when it looks that bad.... I've also tried much of what you mentioned in OP... I'm on 980GTX... I would really like to just see an acknowledgement of the issue to start with and perhaps a .... "Yeah we are looking into how to fix the issue..."...
 
I've got a CV1 and yeah, the color banding gradient issues are really bad.... It is really hard to play when it looks that bad.... I've also tried much of what you mentioned in OP... I'm on 980GTX... I would really like to just see an acknowledgement of the issue to start with and perhaps a .... "Yeah we are looking into how to fix the issue..."...

Well that's that then I'm not spending a dime on new computer nor oculus CV1 nor Vive. Keeping my DK2 until proper solutions arise. Starting to think maybe this whole VR movement was pushed a little too fast with real world technology just not ready yet!
 
Last edited:
Wow, one little thing goes wrong and you are ready to throw in the towel. Thank goodness people that are pushing VR are not willing to give up as easily as you do. Its a bug, it happens, it will get fixed eventually. I got a DK2 and the smearing is fairly bad but nothing that stops me from being space and doing stuff. I have faith (and an ordered CV1) it will get corrected, already looking into a beast of a machine to run it. Waiting a bit on the new video cards to come out and see how that will affect prices of the high end cards.
 
Wow, one little thing goes wrong and you are ready to throw in the towel. Thank goodness people that are pushing VR are not willing to give up as easily as you do. Its a bug, it happens, it will get fixed eventually. I got a DK2 and the smearing is fairly bad but nothing that stops me from being space and doing stuff. I have faith (and an ordered CV1) it will get corrected, already looking into a beast of a machine to run it. Waiting a bit on the new video cards to come out and see how that will affect prices of the high end cards.

It's not one little thing! It's many many BIG things where smearing is my last draw. The plain and simple is that the awful visuals don't give me the thrill to play ED anymore . That's my opinion. Don't get me wrong I LOVE VR and I still plan to keep my DK2 and will use it to play other games where smearing not issue like war thunder/ DCS. I have no doubt they will gradually(and gradual is key here) work the bugs out. I'm just not spending 2500$ on new equipment right now for VR that has still this many issues....
 
It's not one little thing! It's many many BIG things where smearing is my last draw. The plain and simple is that the awful visuals don't give me the thrill to play ED anymore . That's my opinion. Don't get me wrong I LOVE VR and I still plan to keep my DK2 and will use it to play other games where smearing not issue like war thunder/ DCS. I have no doubt they will gradually(and gradual is key here) work the bugs out. I'm just not spending 2500$ on new equipment right now for VR that has still this many issues....


I am with you I quit playing also as it has lost a lot of enjoyment in the sense of immersion. I ordered the CV1 late (due Aug.) in order to see if this stuff gets fixed or not. If not fully fixed by 4th of July it will be cancelled.
 
Went from a DK2 (1.3 runtime) to a Vive; the lifted black floor issue is not a problem on the latter. Might be an Oculus thing if people are getting it on the CV1, as well.
 
I am with you I quit playing also as it has lost a lot of enjoyment in the sense of immersion. I ordered the CV1 late (due Aug.) in order to see if this stuff gets fixed or not. If not fully fixed by 4th of July it will be cancelled.
Yes, go ahead and cancel that order this will NEVER be sorted, we are all doomed, cancel it, cancel it now!
 
Obviously no hurry to get it fixed what like 2 months now? They said we support the Vive and Oculus not me so where is the support. Looks worse than it ever has by the accounts of real users so yes your assessment is correct and looks like cancelling is the best solution to not wasting my money. Enjoy playing cartoons and feeding little hungry aliens.
 
I have Rift and Vive, and I can't win.

On Rift, everything is muddy and the color banding is intolerable. It looks awful. But the frame rate is smooth.

On Vive, there is some timing issue causing every other frame to miss and horrible judder. But the image quality is great compared to Rift.

:(
 
What are your experiences and how do you feel your bad (or good) black levels are and how are gradients looking with both DK2 and CV1? (Don't forget to tell which one you have).

This has been bugging me too (DK2) but the good news is that I found a work-around using the "Tinker With Settings You Do Not Understand To See What Happens" method and have managed to improve things (for me anyway). Different people's perception of colour varies, as well as personal preference, and I have no idea what the changes I made actually do so there are probably some better settings that perhaps somebody who does understand this stuff might be able to figure out.


I started by looking at the <HDRNode_Reference> section of GraphicsConfiguration.xml and compared it with the <HDRNode> section of the same file, then copied the differences to %USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\GraphicsConfigurationOverride.xml. This was, to my eyes, too dark, so I then played around with the various settings until I got something that I found acceptable. The banding is still there but is greatly reduced to the point where it is barely noticable unless you're looking for it, however the black smear is still apparent. I had to turn down the Dashboard Brightness setting in the E:D options. Below are the contents of my GraphicsConfigurationOverride.xml file but if you already have content in there (e.g. if you have changed your GUI colours) then you will need to merge the two just like any other xml file.


Code:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <ManualExposure>0.000000</ManualExposure>
        <ShoulderStrength>0.500000</ShoulderStrength>
        <LinearStrength>0.600000</LinearStrength>
        <LinearAngle>0.900000</LinearAngle>
        <ToeStrength>1.500000</ToeStrength>
        <ToeNumerator>1.800000</ToeNumerator>
        <ToeDenominator>1.500000</ToeDenominator>
        <LinearWhite>5.000000</LinearWhite>
    </HDRNode_Reference>
</GraphicsConfig>
 
I just wish Frontier gave us some more graphics adjustments like other games do. Something besides just gamma, like contrast, brightness, saturation ....
This probably would help solve all these issues.
 
Thanks man...this is a big help. I can actually see where I'm going in the canyons around Farseer now. Anyone with dark/banding issues on DK2 should look into this.

This has been bugging me too (DK2) but the good news is that I found a work-around using the "Tinker With Settings You Do Not Understand To See What Happens" method and have managed to improve things (for me anyway). Different people's perception of colour varies, as well as personal preference, and I have no idea what the changes I made actually do so there are probably some better settings that perhaps somebody who does understand this stuff might be able to figure out.


I started by looking at the <HDRNode_Reference> section of GraphicsConfiguration.xml and compared it with the <HDRNode> section of the same file, then copied the differences to %USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\GraphicsConfigurationOverride.xml. This was, to my eyes, too dark, so I then played around with the various settings until I got something that I found acceptable. The banding is still there but is greatly reduced to the point where it is barely noticable unless you're looking for it, however the black smear is still apparent. I had to turn down the Dashboard Brightness setting in the E:D options. Below are the contents of my GraphicsConfigurationOverride.xml file but if you already have content in there (e.g. if you have changed your GUI colours) then you will need to merge the two just like any other xml file.


Code:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <ManualExposure>0.000000</ManualExposure>
        <ShoulderStrength>0.500000</ShoulderStrength>
        <LinearStrength>0.600000</LinearStrength>
        <LinearAngle>0.900000</LinearAngle>
        <ToeStrength>1.500000</ToeStrength>
        <ToeNumerator>1.800000</ToeNumerator>
        <ToeDenominator>1.500000</ToeDenominator>
        <LinearWhite>5.000000</LinearWhite>
    </HDRNode_Reference>
</GraphicsConfig>
 
I just wish Frontier gave us some more graphics adjustments like other games do. Something besides just gamma, like contrast, brightness, saturation ....
This probably would help solve all these issues.

I've got a CV1 and a Vive, so I agree that more sliders would improve matters. I had my DK2 for a few weeks before it went on eBay and the 1.3 runtime did make it look terrible in comparison.

I've mentioned this on the forums before, but DK2 users won't be able to continue using it forever, as Oculus have said DK2 support can't be ensured for future patches to the runtimes and SDKs. Some people were discussing the end of this year!
 
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <ManualExposure>0.000000</ManualExposure>
        <ShoulderStrength>0.500000</ShoulderStrength>
        <LinearStrength>0.600000</LinearStrength>
        <LinearAngle>0.900000</LinearAngle>
        <ToeStrength>1.500000</ToeStrength>
        <ToeNumerator>1.800000</ToeNumerator>
        <ToeDenominator>1.500000</ToeDenominator>
        <LinearWhite>5.000000</LinearWhite>
    </HDRNode_Reference>
</GraphicsConfig>

This worked for me, although I had to paste it into the HRDNote tag, not the HRDNode_Reference tag. Much better. Thank you very much.

I don't suppose anybody knows what they values actually do so I can fine tune them a bit ?
 
Back
Top Bottom