DisplayCAL plugin support

Home Forums Help and Support DisplayCAL plugin support

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #7324

    Kamil
    Participant
    • Offline

    Are there are any chances to add hardware calibration support for dell monitors on future releases?

    There is new dell SDK (ver 1.4) available for all dell Premier Color series monitors.
    It` not opensource, but provided dlls can work as a 3rd party plugin for DisplayCAL if that is an option.

    I`ve tested this SDK and I can control all monitor features including writing LUTs to monitor.
    Controling simple features like brightness is very easy, but making a LUTs array is beyond my knowledge.
    There are six (3xPRE and 3xPOST) 1D LUTs with 1024 entries, 16bit values each and 3×3 color matrix.

    I`m not 100% sure but it looks like all we need is:
    – txt file output from DisplayCAL in dell LUTs format
    – small console app that runs one function from dell SDK

    #7328

    Florian Höch
    Administrator
    • Offline

    There is new dell SDK (ver 1.4) available for all dell Premier Color series monitors.

    Is this SDK freely available?

    It` not opensource, but provided dlls can work as a 3rd party plugin for DisplayCAL if that is an option.

    The DLLs need to be distributable separately though, otherwise people can’t make use of them, or they need the complete SDK.

    There are six (3xPRE and 3xPOST) 1D LUTs with 1024 entries, 16bit values each and 3×3 color matrix.

    So, no 3D LUT support. Hmm.

    #7333

    Kamil
    Participant
    • Offline

    Is this SDK freely available?

    Yes. It can be downloaded directly from Dell site or direct link to file: DellMonitorSDK_1_4_3_FINAL.zip

    The DLLs need to be distributable separately though, otherwise people can’t make use of them, or they need the complete SDK.

    It`s easy to download and extract 1 or 2 files to correct folder. Can be even easier if download option will be available in DisplayCAL menu. There are versions for windows, OSX and linux.

    #7336

    Hotarou
    Participant
    • Offline

    So, no 3D LUT support. Hmm.

    Lut-matrix like Eizo CS/CX or other non premium NEC/Eizo models like Benq, LG, Asus… Advertisement call it “LUT3D” monitors… but they aren’t.

    Dell’s propiertay calibration software logs shows in detail this structure from the first version in 2013. I mean it’s no secret.

    @Kamil
    A fast test will be:
    pre-lut = 2.2 power law gamma to get lineal in 0..1 range

    matrix = identity, fullgamut

    post-lut =inverse-2.2 power law in 0..1 range multiplied on each position to “*.cal” value from a ArgyllCMS/DisplayCAL calibration performed on “Custom Color” OSD mode with default RGBgain to 100 offset to 50. I mean a calibration which corrects whitepoint too.

    Since post lut is 1024 items and DisplayCAL’s .cal files are 256 (I think) you will need to interpolate (and scale them of course)

    Write that LUT to monitor, then verify with DisplayCAL/HCFR.
    If it’s OK then you can play with gamut emulation (like sRGB) in that matrix instead of identity matrix.

    #7342

    Florian Höch
    Administrator
    • Offline

    A fast test will be:
    pre-lut = 2.2 power law gamma to get lineal in 0..1 range

    I would not recommend this with only 16 bit encoding precision. It will lead to quantization errors and loss of input levels near black (assuming integer encoding).

    matrix = identity, fullgamut

    post-lut =inverse-2.2 power law in 0..1 range multiplied on each position to “*.cal” value from a ArgyllCMS/DisplayCAL calibration

    Just have the pre LUT be linear and the post LUT be the calibration.

    • This reply was modified 6 years, 11 months ago by Florian Höch. Reason: Added "Assuming integer encoding"
    #7345

    Hotarou
    Participant
    • Offline

    This is the way Dell software computes LUT. Ask Kamil for a DCCS’ log:
    C:\Users\Kamil\AppData\Roaming\Dell\Dell UltraSharp Calibration Solution\*.log

    Input is moved to linear to add at “brightnees levels” RGB primaries in matrix. Then gamma-encoded(inverse) again but embedded in that 2.2-root it has whitepoint and grey calibration.

    Of course for a fast test with native gamut and unity matrix it could be done as you ask, but this is not the way is meant to be in a general scenario like in a AdobeRGB/sRGB gamut emulation.

    #7346

    Hotarou
    Participant
    • Offline

    For example, 16bit data for 1024 entry pre-LUT… for a 10 or 8+2bit panel plus whatever dithering engine is placed before panel interface:

    [0] 0
    [1] 0
    [2] 0
    [3] 0
    [4] 0
    [5] 1
    [6] 1
    [7] 2
    [8] 3
    [9] 4
    [10] 5
    [11] 6
    [12] 7
    [13] 8
    [14] 9
    [15] 10
    [16] 11
    [17] 13
    [18] 14
    [19] 15
    [20] 17
    [21] 18
    [22] 19
    [23] 21
    [24] 22
    [25] 24
    [26] 25
    [27] 27
    [28] 28
    [29] 30
    [30] 31
    [31] 33
    [32] 34

    … till [1023]

    Then it’s truncated to 14bit. Gradients are perfectly smooth this way, *IT WORKS* this way.
    The problem with DCCS is that this program takes too few measurements for uncalibrated grey ramp so it cannot correct some red or green tint in grey ramp. Grey gradients are smooth (no steps) but they may be not “grey” in some parts. If this happens then ArgyllCMS and your DisplayCAL comes to rescue if you have a video card with high bitdepth LUT and dithering… and this works again. Smooth and perfectly grey gradients.

    Of course if you or Kamil make DisplayCAL able to write those Dell’s internal LUT it will be awesome, there are people who use these displays with laptops without high bitdepth LUT in their GPUs.

    BTW: HP has models (HP Z27x) with that kind of pre-lut, matrix and post-lut structure, and of course an API and libs avaliable to public like the ones Kamil linked from Dell.
    If you make this work, it will work too for them!! … just need to change api calls fr brightness and LUT3D or make a wrapper for both. I hope you figure how to do this fro DisplayCAL.

    • This reply was modified 6 years, 11 months ago by Hotarou. Reason: Sorry, typos
    #7348

    Florian Höch
    Administrator
    • Offline

    Of course you need nonlinear input curves for gamut emulation. It is not needed for identity matrix (=native gamut) though.

    [0] 0
    [1] 0
    [2] 0
    [3] 0
    [4] 0
    [5] 1
    [6] 1

    Yep, that shows nicely the quantization. It is not a big deal at 10-bit (also considering the panel is probably only 8-bit + FRC anyway), but would still have been nice if they had thought of this.

    #7351

    Hotarou
    Participant
    • Offline

    20+ measures for each native gamma ramp would have been nicer than solving that quantization issues… but Dell guys did not think in that either.

    Note: This is HP’s SDK if you plan to give HW calibration support with a wrapper:
    ftp://ftp.hp.com/pub/softpaq/sp69001-69500/hp_dreamcolor_z27x_sdk_v3.0.zip

    #7354

    Florian Höch
    Administrator
    • Offline

    20+ measures for each native gamma ramp would have been nicer than solving that quantization issues

    The number of measurements are only limited by software, so that is easily solved. Hardware limitations on the other hand, not so much.

    #7356

    Hotarou
    Participant
    • Offline

    20+ measures for each native gamma ramp would have been nicer than solving that quantization issues

    The number of measurements are only limited by software, so that is easily solved. Hardware limitations on the other hand, not so much.

    Not really.

    Software issues like that one are a severe limitation for each day of work, visible by our eyes and measurement devices. These low cost widegamut with HW calibration have been there since 2013 and the only fix is to post correct with DisplayCAL and GPU. An easily solved posibility that does not exist today… unless you or Kamil make progress in that direction. I hope tou do.

    On the other hand such hardware limitations are… “academic“, these monitor’s gradients are smooth (but there were soft-related issues with 32” 4k models). Ask Kamil if you want a 2nd opinion on that matter if you had not owned one of these LED widegamut monitors from Dell, Asus, LG, Benq…
    That why I posted the first data of the pre-LUT: several same value entries but there are no visual quantization steps with this structure and actual data truncated at 14bit.

    #7364

    Kamil
    Participant
    • Offline

    This is the way Dell software computes LUT. Ask Kamil for a DCCS’ log:
    C:\Users\Kamil\AppData\Roaming\Dell\Dell UltraSharp Calibration Solution\*.log

    I found these logs long time ago, but they were useless without SDK that can write LUTs to monitor.
    Now I will try to play with them.

    These low cost widegamut with HW calibration have been there since 2013 and the only fix is to post correct with DisplayCAL and GPU.

    AFAIK dell SDK officially supports Premier color series models – UP2516D, UP2716D, UP3017, UP3218K. I`m not sure if SDK can be used with older 2013 models.
    <blockquote>BTW: HP has models (HP Z27x) with that kind of pre-lut, matrix and post-lut structure, and of course an API and libs avaliable to public</blockquote>
    That`s great news. What about widegamut Benq models?

    these monitor’s gradients are smooth. Ask Kamil if you want a 2nd opinion on that matter if you had not owned one of these LED widegamut monitors from Dell, Asus, LG, Benq…

    I run large format printhouse. I own 20+ cheap widegamut monitors (dell U2410, U2413, UP2516, UP2716, and HP LP2475) and one professional eizo CG. All I can say about dell monitors is “wasted potential”. Hardware is good, firmware sucks. If dell can fix uniformity compensation feature to work like in eizos or somehow allow users to calibrate it + we have better HW calibration app that will make those  monitors pretty good.

    • This reply was modified 6 years, 11 months ago by Kamil. Reason: typos
    #7366

    Hotarou
    Participant
    • Offline

    This is the way Dell software computes LUT. Ask Kamil for a DCCS’ log:
    C:\Users\Kamil\AppData\Roaming\Dell\Dell UltraSharp Calibration Solution\*.log

    I found these logs long time ago, but they were useless without SDK that can write LUTs to monitor.
    Now I will try to play with them.

    I hope you get this to work and share your findings.

    These low cost widegamut with HW calibration have been there since 2013 and the only fix is to post correct with DisplayCAL and GPU.

    AFAIK dell SDK officially supports Premier color series models – UP2516D, UP2716D, UP3017, UP3218K. I`m not sure if SDK can be used with older 2013 models.</blockquote>
    Yes, I’ve read PDF but if you make custom HW calibration to be loaded in 2016 dells, there are people willing to take the risk and try it with older models.
    <blockquote title=”Kamil” cite=”https://hub.displaycal.net/forums/topic/displaycal-plugin-support/#post-7364″&gt;
    <blockquote>BTW: HP has models (HP Z27x) with that kind of pre-lut, matrix and post-lut structure, and of course an API and libs avaliable to public</blockquote>
    That`s great news. What about widegamut Benq models?

    AFAIK no. Al least 1 CMS software company is still waiting for it, but Benq says nothing so they are waiting.
    Some Benq widegamut models do not have even color uniformity compensation with the exception of 24″ model, others may have brightness compensation but no color compensation which is the more common problem…so… who cares about Benq?

    these monitor’s gradients are smooth. Ask Kamil if you want a 2nd opinion on that matter if you had not owned one of these LED widegamut monitors from Dell, Asus, LG, Benq…

    I run large format printhouse. I own 20+ cheap widegamut monitors (dell U2410, U2413, UP2516, UP2716, and HP LP2475) and one professional eizo CG. All I can say about dell monitors is “wasted potential”. Hardware is good, firmware sucks. If dell can fix uniformity compensation feature to work like in eizos or somehow allow users to calibrate it + we have better HW calibration app that will make those  monitors pretty good.

    I think that enabling uniformity compensation on CALx is not possible even with SDK, but I will be happy to be wrong.

    Keep in mind that if uniformity is bad out of the box and enable this feature, there is a chance that you can get post-calibration contour curves in lage areas with the same color like in a mountain map, if monitors native gamma has color issues in greys, like the ones I discused before. I’ve seen them in more than one unit. You enable uniformity compensation, you think it looks good, use DisplayCAL to calibrate, after doing it gradients looks smooth… but if you paint a large rectange with a grey RGB number located in previous troublesome gamma location (green or red tints)… contour curves appear with the same tint as native gamma.

    Bad color uniformity out of the box is a signal for bad hardware, the more you paid to manufacturer the better panels you get from LG/Panasonic/whatever. No secret there. Some people think that why to bother buying half baked monitors from such companies (me too). NEC PA/Eizo CS are just a few bucks ahead, about 300. I mean if you make this work lots of people will be happy and will be a great achievement since we have a problem now, but for the future I won’t jump this boat again with low cost widegamut; I’ll save my cents and get  CS/PA. I respect your small business point of view but I do not share it.

    • This reply was modified 6 years, 11 months ago by Hotarou.
Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.

Log in or Register

Display Calibration and Characterization powered by ArgyllCMS