10bit color not working on windows 11

Home Forums Help and Support 10bit color not working on windows 11

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #145429

    Apcik
    Participant
    • Offline

    Is there a way to use 10bit color in current version of windows 11 without turning on windows ACM? I realized that despite 10bpc being set in nvidia control panel and having my monitor confirm 10bit signal in OSD the os still only renders 8bit color. I used high bit depth gradient test image in photoshop with 30bit option active and unless the ACM is turned on along 10bpc in nvcp the picture has exactly the same banding as in 8bit mode. My monitor has native 10 bit support so I would like to use full bit depth capability but using ACM means not using my custom icc profile which is basically like throwing away the whole calibration and profiling which imo is far worse than lower bit depth. Is there no way to force windows to push 10bpc with ACM off? (Im attaching photos I took. 1 is with nvcp set to 8bit and ACM off. 2 is with nvcp set to 10bit and ACM off and 3 is with nvcp set to 10bit and ACM on)

    Attachments:
    You must be logged in to view attached files.
    #145433

    Ben
    Participant
    • Offline

    Your screen is actually not really 10bit.  8bit plus dithering is visually the same as 10bit.    It is complicated if you have hdmi 2.0 and can not do 10bit 4k RGB .  I recommend YCBCR  since it saves HDMI bandwidth if you want 10 bit HDMI 2.0.  TV is made for YCBCR but computer monitors are for full RGB.

    Things to do.  Run a report on uncalibrated screen in the tools options.    Even in 8 bit you can have 8 bit plus dithering.   Windows 11 does not like it.  It is changing with versions and updates.  I used to get 8bit with dithering in hdr.  Now I do not.   I get 12 bit display reported in the test sometimes or it is unmeasurable which means it is more than 8 bit.

    Use a NVidia app to enable dithering in the drivers.   No Video SRGB has NVidia undocumented options.  https://github.com/ledoge/novideo_srgb  10BPC on is 10BPC.   Only color managed apps can see 10BPC.

    #145438

    Vincent
    Participant
    • Offline

    10bpc usually is full screen.
    Windows desktop (hence not fullscreen) is composed at 8bit. To use 10bit on desktop apps use OpenGL to draw a 10bit surface. Specific GPU driver attends such OpenGL call at lower level and draw that 10bit surface over 8bit desktop.

    So for desktop you need a :
    -gpu driver that can draw 10bit openGL surfaces (most amd vanilla driver and nvidia studio driver)
    -configure such driver on GPU settings to work that way (and it is NOT just setting 10bpc, usually is setting pixel format to A2101010 isntead of RGB8888)
    -That such drivers can output 10bit to 10bit input on monitor (although some drivers can do dither to 8bit connections)
    -use apps that OpenGL fucnionality. NEC had a demo for this, google it.  Photoshop uses it too an must be enabled.

    #145440

    DaniJ
    Participant
    • Offline

    Looks like intended behavior: https://learn.microsoft.com/en-us/answers/questions/5757709/windows-11-not-rendering-10bit-color-unles-acm-is

    Sad, on Windows 10 I was able to get 10-bit windowed from both OpenGL and DirectX sources.

    #145443

    Apcik
    Participant
    • Offline

    The monitor is 10bit according to manufacturer with HDMI 2.1/ DP 2.1a so I think bandwith is not an issue even at 4k

    #145444

    Apcik
    Participant
    • Offline

    10bpc usually is full screen.
    Windows desktop (hence not fullscreen) is composed at 8bit. To use 10bit on desktop apps use OpenGL to draw a 10bit surface. Specific GPU driver attends such OpenGL call at lower level and draw that 10bit surface over 8bit desktop.

    So for desktop you need a :
    -gpu driver that can draw 10bit openGL surfaces (most amd vanilla driver and nvidia studio driver)
    -configure such driver on GPU settings to work that way (and it is NOT just setting 10bpc, usually is setting pixel format to A2101010 isntead of RGB8888)
    -That such drivers can output 10bit to 10bit input on monitor (although some drivers can do dither to 8bit connections)
    -use apps that OpenGL fucnionality. NEC had a demo for this, google it.  Photoshop uses it too an must be enabled.

    Well I think I have almost all of those. I only don’t know how to change the pixel format. I used RGB 10bpc in nvcp for testing. I know that app must support it so my testing was in photoshop with 30bit mode enabled.

    #145445

    Apcik
    Participant
    • Offline

    Looks like intended behavior: https://learn.microsoft.com/en-us/answers/questions/5757709/windows-11-not-rendering-10bit-color-unles-acm-is

    Sad, on Windows 10 I was able to get 10-bit windowed from both OpenGL and DirectX sources.

    Yeah that seems to be what they say in the documentation though it is not really understandable to me why it is this way. Sadly I don’t know how it used to be in win10 or 11 before ACM because I did not have 10bit monitor back then. You are saying it was possible to get 10bpc working normaly on windows 10? I also know 10bit OpenGL was restricted to Quadros for many years but that this changed before 2020…

    #145446

    DaniJ
    Participant
    • Offline

    Yes, Nvidia started allowing some consumer cards to do 10-bit as well.

    • This reply was modified 4 months ago by DaniJ.
    • This reply was modified 4 months ago by DaniJ.
    #145449

    Vincent
    Participant
    • Offline

    On AMDs, pixel format is under Games \ Graphics (+ optional reboot). Both Adobe PS and NEC 10bit demo (OpenGL) are working properly on W11 25H2.
    Is dubious that you run true 10bit rendering on Windows 10 desktop without OpenGL, desktop is composed the same way.

    #145452

    DaniJ
    Participant
    • Offline

    DirectX is Windows’ flagship media API, would be strange for it to not support something that OpenGL supports.

    #145453

    Vincent
    Participant
    • Offline

    DirectX is Windows’ flagship media API, would be strange for it to not support something that OpenGL supports.

    On fullscreen.

    On desktop is a workaround. Desktop is composed at 8bit, but sincepixel format is A2101010 you can “draw things” with OpenGL over the desktop with A2101010 content. You loose alpha channel detail so at true 10 bit some shadows that a window cast over the other windows may look less detailed.

    (*)But since OpenGL is an api you can fool it like apple did for their past 8bit macbooks. Photoshop request using 10bit, and draws it, but GPU driver instead or drawing the requested A2101010 data over desktop, it temporal dithers it to RGB8888 (8bit +alpha), then it is sent as is to desktop and to  HW link to screen as RGB 8bit/10 or whatever.
    10bit at HW level in photoshop is not “needed”, it is a wokraround to sove the issue that it has not temporal dither while CaptureOne or LR for develop or PS own ACR have it. So to avoid seeing what OP screenshot show, Adobe forces you to have 10bit API at GPU level. GPU vendor NEEDS to expose this 10bit api in its driver. Nvidia and AMD showhow “force” you to have 10bit pipeline end to end to enable it, while Apple on former macbooks since Apple its “the vendor” that provides the driver use that dither trick at GPU driver level.

    On AMD & Windows is just enabling 10bit pixel format, for nvidia you’ll have to googke it but it may “force” to install Studio driver versions.

    • This reply was modified 4 months ago by Vincent.
    #145455

    Vincent
    Participant
    • Offline

    More detailed, cannot edit previous one:
    On desktop is a workaround. Desktop is composed at 8bit, but since pixel format of display in GPU is A2101010 (you need to enable it first) you can “draw things” with OpenGL over the 8bit desktop with A2101010 content.
    Since Photopshop does not want to do the dither operation from 16bit TIFF to 8bit, like Lightroom or CaptureOne do, it delegates to GPU driver “do its stuff”, so it sends you 10bit truncated data from 16bit image… and after that “it is not Adobe Photoshop problem”.
    The key point is that GPU driver does not allow that operation unless 10bit pixel format is enabled systemwide (while Apple’s own driver does not care, if display is 8bit it dithers, if display link is 10bit, it sens 10bit data).

    #145456

    Vincent
    Participant
    • Offline

    Drawing 10bit OpenGL surfaces over desktop is a hack/workaround inherited from 200x and Adobe PS was one of the first one using it.
    Entry level Quadro (letter) 400, 600 of those days (or ATI Firepro equivalent) lacked GPU computing power so they were expensive and bad investment unless you need specific support for viewport on CAD/CAM… but since nvidia/amd offered the 10bit capable GPU driver… they found a niche market for those low power GPUs: photo.

    Apple offered the same (10bit OPenGL), for first time back in 2015 maybe?  so… nvidia and AMD were forced to offer it to consumer cards.

    As GPU power rise, that trick “for photo” is not needed, just do dither to 8bit at GPU level and those gradients will be smooth. (lightroom at develop module or Capture one)
    But Photoshop still offers that “legacy” feature and only that feature, does not offer dithering ….unless you open Camera Raw plugin which dithers… showing you that such 10bit and to end was not needed. It may be neeed on 2009 but not now.
    So here we are… discusing old legacy stuff from Photoshop because they do not want to use proper temporal dither on Photoshop.

    #145457

    DaniJ
    Participant
    • Offline

     

    On fullscreen.

    Do you mean DirectX only supports it in fullscreen while OpenGL can also do the trick windowed? I tried it with DXGI_FORMAT_R10G10B10A2_UNORM & nvidia stock driver on Windows 10 and it behaves just like Photoshop, in a window. Smooth gradients if 10 bit is enabled, not so smooth if not.

    Nice explanations, btw.

    #145458

    Vincent
    Participant
    • Offline

     

    On fullscreen.

    Do you mean DirectX only supports it in fullscreen while OpenGL can also do the trick windowed? I tried it with DXGI_FORMAT_R10G10B10A2_UNORM & nvidia stock driver on Windows 10 and it behaves just like Photoshop, in a window. Smooth gradients if 10 bit is enabled, not so smooth if not.

    Which system wide pixel format is set on driver? Your nvidia driver does dither?

    NEC 10bit demo
    https://1fichier.com/?3w0sa4syjlml3fzh3y02

Viewing 15 posts - 1 through 15 (of 20 total)

You must be logged in to reply to this topic.

Log in or Register

Display Calibration and Characterization powered by ArgyllCMS