eoyilmaz / displaycal-py3

DisplayCAL Modernization Project
https://eoyilmaz.github.io/displaycal-py3/
GNU General Public License v3.0
847 stars 60 forks source link

10bit VCGT on Linux #294

Closed Calandracas606 closed 3 weeks ago

Calandracas606 commented 1 year ago

The VCGTs in the generated ICC profiles always appear to be 8 bits on Linux, even when created for a 10bit display

The 8 bit VCGTs are unable to be applied to a 10 bit display by dispwin, xcalib, or xiccd

Not sure if 10 bit VCGTs are possible at all, maybe this is a linux limitation.

If this is not a limitation, having an option to force the generation of 10bit VCGT would be very useful

janos666 commented 7 months ago

The .cal 3x1DLUT files are 8 bit input, 16 bit output files on Windows as well. ArgyllCMS's dispcal goes through 96 samples at it's highest setting.

eoyilmaz commented 7 months ago

As it turns out Florian has already answered some 10bit VCGT related questions here: https://sourceforge.net/p/dispcalgui/discussion/932493/thread/a70350e6/

eoyilmaz commented 7 months ago

So basically Florian says:

Yes, it can use 10-bit (Argyll CMS supports it),

and

The number of entries (usually 256) is not indicative of gamma table bit depth (afaik), if that is what you're judging it by. Also, dispcalGUI's curves window will always calculate and view values based on 8-bit depth, as it is not possible to know the actual bit depth without measurements (and even then there would be margin for error). But graphics hardware with 10-bit gamma table support will (should) do the right thing,

Calandracas606 commented 7 months ago

so what your saying is that this is not a problem with dispcal, but instead a problem with the software that ingests the ICC profiles (dispwin, xcalib, etc.) ?

VgerTest commented 3 weeks ago

Maybe you need propietary AMD/NVIDIA driver instead of GNU to use 10bit VCGT. Run uncalibrated display report with DisplayCAL-py3 or ArgyllCMS command line : dispcal -R (plus other params like -X spectral_correction.ccss). If saying more than 8bit or unable to determine bit depth it is working properly. If it says 8bit then GPU or driver is unable to do it.

eoyilmaz commented 3 weeks ago

Regarding my last comment I think we can close this one, as this is not an issue with DisplayCAL...