Youtube HDR still not working

Description of the issue:
How can this issue be reproduced?

  1. Open Brave

  2. Open Youtube

Expected result: HDR options available

Brave Version( check About Brave): 1.84.141

Chromium: 142.0.7444.176

Additional Information: I have been trying off and on for years to get HDR working in Brave for Youtube to no avail. I am running Windows 11 and have an Nvidia 4070ti. I have HDR enabled in the windows settings and have tried updating and reinstall Nvidia drivers many many times. Chrome and Edge both work perfectly fine with HDR, it is just Brave that has never worked for me.

Goto brave://flags

Look for “Force color profile” and select “HDR10 (HDR where available)” and relaunch Brave.

Does it now look correct? If yes, then for some reason Brave isn’t auto-switching profiles correctly. If not, the issue is elsewhere.

Ok, I can now see the HDR icon popping up in Youtube. However the colors are all super washed out compared to edge or chrome. SDR content has normal colors.

That’s highly unnusual. In general HDR videos will look “flat” and have muted/dull colors IF played back on a non-HDR device.

Go ahead and put it back to default. So from that test, it seems Brave thinks it’s in HDR mode when forced to use it, but basically it’s not doing it. I checked over here with my 7900 XT and an HDR display and it worked just fine, so let’s check here. With it on default, goto brave://gpu and look for this section:

In this screenshot above, I have force color profile set to “Default”, Windows is in HDR mode, and everything appears in HDR as it should.

However, this is what it looks like when HDR is turned off:

Now, just for kicks as I had you test the HDR10 profile manually and it looked washed out, I intentionally in an SDR environment forced HDR10 to be enabled (without turning HDR mode on within Windows), which made Brave look overly bright, with super dull colors, only “flickering” with vibrancy occasionally. This isn’t the right profile for SDR anyway, the idea is that Display Information with HDR10 applied to SDR mode, looked like this (you can visibly see even in a screenshot with the HDR10 profile in SDR mode, Brave is far too bright in dark mode):

Perhaps your Display Information section can give us a clue what’s going on while you are in HDR mode. (For example, you should be seeing two color space sections while in HDR, an sRGB and “WCG” on the Default profile.)

This is mine with Windows HDR enabled and Default color profile:

Windows HDR disabled:

I should probably mention I run two monitors both with brave tabs. Both are HDR capable and I have tried HDR videos with all tabs on a single monitor and all combinations of HDR enabling between the two with the same behavior I’ve been seeing.

Interesting, there’s some changes but not the right ones. For one, a major issue is 24-bit color depth in both HDR and SDR modes. (Bits per pixel). If you don’t enter 30 bits per pixel, YouTube’s HDR videos will never show up. (I’m also not seeing any WCG color profiles listed, which are wide gamut, required as well for HDR like mine does, it’s as if Brave truly isn’t seeing these monitors as HDR capable almost).

I’m trying to think of some steps to try since Brave is the only one with the issue which shows Chromium should handle multi-monitor environments just fine. But go ahead and disconnect one of the monitors (physically, so Brave can’t even see it whatsoever) and test HDR with one display only. This will certainly help narrow down a bit.

Alternatively, while in HDR, can you verify your monitor in Windows 11 itself actually is showing “10-bit” like it should? Again I don’t think this is it since Edge and Chrome are both working, so likely you are seeing 10-bit here in System > Display > Advanced display.

(I’m currently in SDR for this screenshot but do have a 10bpc 30-bit SDR desktop, but I’m a unique case here.)

Unplugging the other monitor didn’t make a difference. Actually I’m only seeing 8-bit color for the monitor.

*edit

Actually I remember I used to be able to set 10-bit color on this monitor before so that’s weird. I did have to replace my DP cable recently and since I have a ultrawide maybe I got a poor cable. Still doesn’t explain why edge and chrome work properly.

*edit 2

I tried changing up my display settings and was able to get 10-bit color depth so I do need to get a better cable, but that still didn’t cause youtube HDR to work in brave.

(Just saw your second edit while writing a different reply, so going to start over as you gave me new information. Just a reminder, as a fellow user and not a Brave dev, I can only go so far, but since you got 10bpc to work by working within your cables bandwidth boundaries, which is great for troubleshooting, it also entirely changed my hypothesis I was just writing, lol).

Well, my original thought was perhaps Brave was enforcing proper HDR, not “faux HDR” (which is what 8-bit HDR technically is, it’s not spec), but you just proved that entirely wrong.

I’m wonrdering if your Brave can even play ANY form of HDR, and there’s a way to test it, but it might not look great, because your monitor would actually be in SDR mode but this is just a test (since it’s similar to how I need to run Brave here personally since I have a 30-bit SDR desktop 10bpc, and don’t use HDR mode, but CAN access HDR YouTube videos without banding this way, just no specific HDR metadata stuff).

To test if Brave can play ANY HDR at all, first Windows 11 must have HDR disabled, but ACM enabled:


(Reason: ACM puts your GPU in 16bpc mode, so all precision is actually in a similar pipeline to HDR actually, but in SDR mode, it’s actually awesome stuff and makes colors look proper in SDR, based on the colors your monitor tells the GPU it can actually do and cannot do.)

Then in brave://flags, set Force color profile to “scRGB linear”.

Relaunch Brave, and while HDR is off, go to an HDR YouTube video. Does YouTube claim to be playing an HDR version this time?

If yes, then Brave devs or someone else might need to troubleshoot why the monitors HDR capabilities are not being forwarded to Brave properly.

If it does not however, then something else is oddly going on, and I might suggest clearing cache to start. I don’t think that’s the issue, but enabling scRGB even on a non HDR display, SHOULD make YouTube play the HDR video, and force Windows to simply “tonemap” it to SDR by itself.

I actually did some more research after that 2nd edit and found out that the 10-bit color thing was actually an issue with my monitor as Dell doesn’t let the AW3423DWF run 10-bit color run at full 3440x1440 @165hz165hz. I followed a guide for creating a custom resolution so now I have 10-bit color fully working.

As for the scRGB linear mode, yes Youtube claims to be now playing in HDR mode and you were right it does look quite bad lol. Clearing cache made no other differences.

You know, long shot, but now that the monitor is in 10bpc, re-enable the HDR10 profile again? (I ask this because the “10” in HDR10 refers to bits per channel).

If no change, somethings up then that I can’t figure out. If it works, then that might have oddly been it, but I can’t determine why Brave is having issues with HDR or this profile to begin with.

scRGB profile is actually an interesting test, because ideally on Windows 11 with HDR off and Automatic Color Management on, Chromium should be selecting scRGB as the default profile because ACM allows 10bpc video to be visible in SDR mode (with full wide gamut that otherwise would only be in HDR modes). My monitor is whom that profile is actually for. :sweat_smile: But HDR10 is the profile that should be working on yours.

I’m hoping now that you are in 10bpc HDR10 simply starts working as intended, or putting it back to default, rebooting with 10bpc on the display enabled (mine is the same way actually 165Hz is 8bit, but I gain 10bpc at 144Hz, since I edit movies, good for me) makes Brave suddenly work. But to be honest, I don’t think it will, Edge and Chrome were working before.

(But do leave 10bpc enabled if watching HDR for your sake).

Still looks washed out and faded after rebooting with that profile. HDR still doesn’t work with setting force color profile sadly. Thanks for the help though. Is this the only support channel? Do I just hope a dev happens to see it?

For reference I guess I’ll throw these quick screenshots with snipping tool.

Brave HDR:

Chrome HDR:

Some Brave staffers are here, @Mattches is one, but he could be busy.

Your screenshot is VERY telling for me. Here, I was actually in the middle of watching GhostBusters II HDR on my computer right now, and I’ve seen that very flat look that you showed in your Brave screenshot.

For reference, my monitor is HDR “compatible” but it’s really just a 30-bit SDR wide gamut panel that uses DisplayP3 color space, but I’ve seen that very behavior before. Here’s a screenshot of the movie I’m watching in two different players. See something familiar in VLC (when on Direct3D 9 specifically)?

It’s the SAME identical washed out look you are seeing. MPC-BE on the left however is using Direct3D 11. VLC if configured to use Direct3D 11 then looks proper as well.

I wonder, is your Brave install perhaps using the wrong ANGLE backend perhaps?

Make sure this is on Default.

Then back at brave://gpu, scroll down to where you see Display Type. Make sure it does show what mine shows, ANGLE_D3D11.

Kind of glad you just shared that screenshot, because I pictured exactly that in my head but wasn’t sure, but seeing it again reminded me of something, ANGLE offers D3D9 as an option, and will NOT play HDR correctly, it will look flat like your pic of the frog, and my movie.

So my ANGLE graphics backend was forced to D3D11. After changing it back to default it now says ANGLE_SWIFTSHADER for Display type with HDR on.

Well, there’s the issue, you’re on the CPU-bound software renderer. Your GPU is actually doing nothing at all with Brave. “ANGLE_SWIFTSHADER” shows up if the GPU driver is blacklisted or if you turned off “Use graphics acceleration when available” (which is why I tell people to STOP using that as a troubleshooting method, it doesn’t solve anything, only shifts goal posts and makes a mess.)

With ANGLE set to Default, make sure graphics acceleration is enabled. If it is enabled, then you might actually want to check for a driver update.

Otherwise you should be able to override the driver block with this flag:

YES BABY. I keep graphics acceleration on since I need it for some of my webpages, and I had just done driver updates yesterday so that wasn’t the fix, but that override software rendering list worked. I now detect hdr and the colors are displaying properly, thank god. Thanks for the help man.

Awesome! I’m glad the override works.

At one point you must have had one of those bad Nvidia drivers earlier in the year that forced me to buy my 7900 XT in the first place, and Brave basically shut down graphics acceleration (in other words, it was ignoring your setting until you overrode it). Should have cleared itself though, but even 10 years ago I used that override a lot. Guess sometimes it’s still needed oddly.

(I guess I’m the GPU whisperer these days, I tend to fix those most around here).

1 Like