Mac and PC producing different colour with same Display P3 profile

Home Forums Help and Support Mac and PC producing different colour with same Display P3 profile

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #138337

    Cloud He
    Participant
    • Offline

    Dear all,

    I am writing here asking for help as I running into an issue of different color between Mac and Windows using the same .icc color profile (the Display P3 profile).

    Hardware Setup:

    • A MacBook Pro 16-inch M2 Max bought a few months. Video output via its built-in HDMI 2.1 output. System is up-to-date.
    • A Windows Desktop equipped with X670e Motherboard, 7950x3d CPU, and RTX4090 GPU. Video output via HDMI 2.1 on the graphic card.
    • An LG OLED C3 42-inch as main monitor.

    Color Management Setup:

    • The OLED C3 TV is currently calibrated with Calman Home and i1 Display Pro Plus to the following target: (P3 colorspace, gamma 2.4, 160 nits, D65 white point). I use this target in order to sync with the “Photograph (P3-D65)” presets for the MBP’s XDR display.
    • After the calibration, I download the display P3 .icc file from https://www.color.org/chardata/rgb/DisplayP3.xalter for the windows and it is loaded via DisplayCal profile loader (yes, although the TV does not require custom profiling, I still use displaycal for secondary monitor calibration&profiling).
    • On the Mac, I choose the pre-built “Display P3” profile for the TV, and it is confirmed within the “ColorSync” program.

    Problem Description:

    Troubleshoot Attemps:

    I have tried or checked the following things:

    • The downloaded DisplayP3.icc profile is confirmed via “ColorSync” on my MBP to be exactly the same as the system’s built-in DisplayP3 profile. Switching between two profiles yields also no visual difference on the TV
    • The PC’s output is set in Nvidia control panel to be exactly the same as the MBP: 10 bit YCC with limited range
    • TV’s picture mode is set to the same mode “expert bright” for both input HDMI 1 and 2.
    • I use Chrome on PC, and on Mac I have tried both Chrome and Safari, yielding no difference
    • Using MBP’s built-in display as a reference (with the “Photograph (P3-D65) preset”, I concluded that the PC’s output is correct. Perceptually almost the same (except the banding issue which the current WRGB OLED panels still suffer from) as the MBP. The problem should be with my MBP, because on the TV it clearly lean towards green compared to MBP’s built-in display.

    So, please help me finding out what the hell is wrong with my Mac’s colour output! I thought color management on Mac should be superior and easier…. Any suggestions will be sincerely appreciated!!

    Calibrite Display Plus HL on Amazon   Calibrite Display Pro HL on Amazon  
    Disclosure: As an Amazon Associate I earn from qualifying purchases.

    #138339

    Cloud He
    Participant
    • Offline

    Some missing information and correction:

    • The calibration target is gamma 2.2, not 2.4.
    • OS on the PC is Windows 11, also up-to-date.
    #138340

    Cloud He
    Participant
    • Offline

    Updates:

    • I tested another Macbook Air M2 (bought last year) using HDMI 2.0 output from a usb hub. The output is still green as the MBP.
    • I switched HDMI ports on the TV, no difference.
    #138341

    Cloud He
    Participant
    • Offline

    More updates:

    • i confirmed my observations via HCFR measurement and a grey test webset: https://www.ledr.com/colours/grey.htm : on PC it is perfect balanced with deltaE=0.1. On Mac it is deltaE=0.6 with green > blue = red.
    • I switched HDMI cable and brought a third HDMI cable. No difference.

    This is driving me crazy….

    #138342

    Vincent
    Participant
    • Offline

     

    Problem Description:

    That test is color managed since most browsers are color managed at least with matrix dsiplayprofiles (Edge, macOS safari) or can be set/configured to use color management (Firefox)

    That means that is applying additional steps.

    • The PC’s output is set in Nvidia control panel to be exactly the same as the MBP: 10 bit YCC with limited range

    […]

    So, please help me finding out what the hell is wrong with my Mac’s colour output! I thought color management on Mac should be superior and easier…. Any suggestions will be sincerely appreciated!!

    Can you configure your TV or another monitor to RGB 4:4:4 full range and confirm your readings?
    Maybe it’s macbook’s “10 bit YCC with limited range” the source of the problem. I would test it non color managed, AFAIK ArgyllCMS patrches are non color managed unles syou use simulation profiles. Since your are in mac use DisplayCAL port to python3

    • This reply was modified 2 years, 10 months ago by Vincent.
    #138344

    Cloud He
    Participant
    • Offline

    Thank you very much for your reply!

    Regarding the first point:

    using colour managed browser is intentional. I want to make sure that the html (sRGB, I assume) colors are translated to the P3 space and fed to the HDMI output, which is then converted to the TV’s native gamut within the TV, using the internal 3DLUT. This is also why I tested both chrome and safari on the MBP. As they produce the same green tint, I conclude that the problem is not caused by safari.

    Regarding the second point:

    On Win PC, I have tested 10bit-YCC-limited, 10bit-RGB-full, 12bit-RGB-full. All of the setting yields the same color, verified by HCFR measurement. However, I do not know how to change the output mode on the Mac.

    Regarding “DisplayCAL port to python3”: I am not familiar with DisplayCAL’s detail and its backend ArgyllCMS, so would you please be more specific?

    #138345

    Vincent
    Participant
    • Offline

    https://github.com/eoyilmaz/displaycal-py3

    I’m afraid you cannot verify default display profile without a 1st calibration.
    Easy way: Create a custom ICC profile (single curve + matrix, black point compensation) with no calibration (all values in “calibration” tab to “as measured”)
    A single curve profile stores true neutral TRC.
    Then validate a greyscale testchart. If there is a color tint in greyscale you’ll see it.

    Same for Windows instead of using HCFR, just to make sure both see the same, validate default display profile.

    Once you ruled out macbook + GPU driver issue you can go back to find which step in color management pipeline is causing the green tint.

    #138346

    Cloud He
    Participant
    • Offline

    Great thanks for the suggestions. I will do an uncalibrated profiling on both systems and upload the profiles here. I indeed did not check the raw output from DisplayCal on Mac. I assume DisplayCal is able to bypass Mac OS’s CMS and generate raw RGB outputs for calibration&profiling, right?

    I am currently on travel but will test this as soon as I get back home next Monday.

    Meanwhile, I have a question regarding the “default display profile” you mentioned. What do you mean exactly? As far as I understand, if I choose the same .icc profile as “display profile” in both my Macs and PC, no matter whether it is the displayP3.icc or other profiles, colour managed programs such as the browsers on all systems should generate exactly the same RGB triplets on the HDMI output, given the same content (webpages, pictures, videos, etc.). Is my understanding correct?

    #138359

    Vincent
    Participant
    • Offline

    Great thanks for the suggestions. I will do an uncalibrated profiling on both systems and upload the profiles here. I indeed did not check the raw output from DisplayCal on Mac. I assume DisplayCal is able to bypass Mac OS’s CMS and generate raw RGB outputs for calibration&profiling, right?

    Yes as long as you do not use simulation profile (color managed)
    If yiu verify current display profile with no simulation
    or
    use simulation profile + use simulation as display profile (testing if a factory preset or HW cal matches something)
    it should output RGB raw patches.

    I am currently on travel but will test this as soon as I get back home next Monday.

    Meanwhile, I have a question regarding the “default display profile” you mentioned. What do you mean exactly?

    You can have several display profiles for a display, for example one per OSD preset,but only one is set as active/current/default in OS for that display.

    As far as I understand, if I choose the same .icc profile as “display profile” in both my Macs and PC, no matter whether it is the displayP3.icc or other profiles, colour managed programs such as the browsers on all systems should generate exactly the same RGB triplets on the HDMI output, given the same content (webpages, pictures, videos, etc.). Is my understanding correct?

    No, ICC profiles are just a description of device behavior, it does nothing.
    A color management engine uses that info to reencode contents in some colorspace (sRGB for exampel in aphoto) to display colorspace. This one is the guy that makes the color transformation stuff. It is limited by design idealized behavior, speed and bugs.
    Different color engines may (will) behave slightly different although they aim to behave the same.
    Examples:
    -how to deal with actual black brightness if display profile stores it. clip? some kind of perceptual approach like in ACE’s BPC?
    -computation accuracy & dithering => color managed indiced banding in gradients.
    -speed limitations: should my engine reject mesh profiles and work with matrix idealized version of that profile?
    Also for display whose gamma a& grey is corrected with VCGT data in ICC profile… how does HW & driver handle that? >8bit? dithered outputs?

    A decent engine should be able to use BPC, use dithered output and support 3d mesh description of devices.
    Some time ago macOS color engine when rendereing to screen failed in 1st & 3rd. That’s why usualy you want default settings for profiles in DisplaYCAL for mac: matrix profile, single TRC, fake infinite contrast when making custom profiles. Your std DisplayP3 profile faills into this category too.
    Photoshop fails in 2nd (unless  openGL 10bit support and driver dithered output)  while LR (develop) & Capture One work fine on any display&GPU.

    First of all diacard driver/HW limitations when outputing 10 bit YCC with limited range. If that was OK then you can try to find whye macOS color engine is messing with colors.

    #138409

    Cloud He
    Participant
    • Offline

    Dear Vincent,

    Thanks again for the detailed explanations. I understood now that the color management modules are not perfect. This was the reason why I tested Chrome and Safari both on my MPB. After a second thought, this would not be enough to rule out the CMS on Mac.

    I have conducted the experiments suggested by you, detailed as follows:

    1. Create a new setting in DisplayCal
    2. Run “Report on uncalibrated display device”
    3. Run “Report on calibrated display device”
    4. Run “Profile Only”

    These experiments were conducted on both Windows and MacOS. I cannot interpret the .icm profile on my own. However, bizarrely, the reports on uncalibrated/calibrated devices indeed show difference on the measured white points!

    I have uploaded my experiment results. Please find attached the following files for both Mac and Windows:

    1. Report on uncalibrated display device
    2. Report on calibrated display device
    3. .icm file generated after the profiling
    4. DisplayCal settings (as screenshots)

    Can we conclude that the problem indeed lies within the driver/HW when outputting 10-bit YCC with limited range? Note that I also set the output of my WinPC to be 10bit YCC limited (in the Nvidia control panel).

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

    Vincent
    Participant
    • Offline

    Dear Vincent,

    Thanks again for the detailed explanations. I understood now that the color management modules are not perfect. This was the reason why I tested Chrome and Safari both on my MPB. After a second thought, this would not be enough to rule out the CMS on Mac.

    I have conducted the experiments suggested by you, detailed as follows:

    1. Create a new setting in DisplayCal
    2. Run “Report on uncalibrated display device”
    3. Run “Report on calibrated display device”
    4. Run “Profile Only”

    I did not ask that.

    I asked for a profile verification, HTML report, to inspect grey color cast (relative to whitepoint): white may look ok, but gray has a color cast relative to taht white,

    Your test show a difference in white in win vs macOS which of course will cause a color cast if grey behaves as the white.

    However, bizarrely, the reports on uncalibrated/calibrated devices indeed show difference on the measured white points!

    +

    Can we conclude that the problem indeed lies within the driver/HW when outputting 10-bit YCC with limited range?

    If white is not the same on macOS and there was no thermal drift on TV but Windows says D65, It looks liek you found the culprit…. but there are missing tests: Test RGB 4:4:4 full range if your TV accepts it. If that test is OK on win & mac whithout changing RGB gains, just TV input mode (& GPU output) trhe ypu’ll have the culprit & the proof.

    #138419

    Cloud He
    Participant
    • Offline

    Sorry for the misunderstanding, here are the verification HTML files and you can clearly see the problem on Mac…

    I have also tested RGB-12bit-Full on PC. The verification HTML is also attached. It seems ok.

    On the Mac, however, I do not know how to switch to RGB full range… do you have any suggestions?

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

    Vincent
    Participant
    • Offline

    Sorry for the misunderstanding, here are the verification HTML files and you can clearly see the problem on Mac…

    I have also tested RGB-12bit-Full on PC. The verification HTML is also attached. It seems ok.

    Yep, all points to mac limited output.

    On the Mac, however, I do not know how to switch to RGB full range… do you have any suggestions?

    IDNK. Search on mac forums. Some monitors had related issues with macs and some used solved it with an edid patch at OS level. Google force RGB color on newer macs

    #138470

    Cloud He
    Participant
    • Offline

    The problem is solved.

    Forcing RGB 10bit output on the MBP following this tutorial successfully solves the color discrepancy between Mac and Windows.

    My guess is that the problem is related to the “PC mode” implementation which may causes compatibility issues with Mac’s hdmi output. However, as I am satisfied with the result, I have no plan to dig deeper.

    Thanks a lot for your help @Vincent!

    Should I close this thread, or better leave it as is for others who identify the same issue?

Viewing 14 posts - 1 through 14 (of 14 total)

You must be logged in to reply to this topic.

Log in or Register

Display Calibration and Characterization powered by ArgyllCMS