3DLUT for Windows Desktop -- dwm_lut by ledoge

ALO wrote on 3/16/2022, 6:21 PM

For those of you looking for Windows GPU/Display color management solutions (esp wide-gamut laptop users!), here is something very interesting: a patch that allows you to apply a 3DLUT to your Windows desktop environment -- ie, all your non-color managed apps such as Vegas Pro:

https://github.com/ledoge/dwm_lut

There is a .exe installer so all you have to do is download, install, and add your LUT (I leave the LUT creation to you; DisplayCal is probably your best bet). So, for example, if you're using a laptop with a wide-gamut display, you can profile the monitor with DisplayCal (ideally using an XRite 1DisplayPro colorimeter), save that as a 3DLUT targeting the REC709 colorspace, then use dwm_lut to apply that lut to the Windows environment, such that everything from explorer to the Vegas timeline to the Preview window is now correctly showing you a calibrated REC709 view.

I'm just getting started playing around with this, but as far as I can tell, it works. This is getting really close to what I think would be the holy grail of Windows color management, which would be to take it all completely out of Window's hands and have the GPU load a 3DLUT. Obviously there is the whole SDI out to broadcast monitors realm as well, for those who love extremely expensive hardware solutions.

Finally, yes, you can just load a 3DLUT into the Vegas Preview fx output for a corrected preview, but I've soured on that approach, as it leaves the timeline uncorrected (ie, your grey app borders will all be tinted, which pulls your eyeballs), and it skews your scopes.

Enjoy!

Comments

Musicvid wrote on 3/16/2022, 10:23 PM

I don't see the use here. DisplayCal already creates ICC monitor profiles that are ten times times the complexity of their corresponding 33 cube LUTS.

ALO wrote on 3/16/2022, 11:01 PM

DisplayCal and all monitor calibration solutions only produce 1D LUTS (and imperfect ones at that) because of the limitations of Window's color management system. The profile (a separate component) only works in color-managed apps like photoshop (not Vegas). And maybe not even then.

So if you are going the traditional calibration route for Vegas editing, your profile isn't used at all, and your 1D LUT (via DisplayCal) is limited in scope/effect (cannot clamp gamuts, for example), of less than ideal quality, and is at best erratically implemented by Windows (which is why DisplayCal overrides the Windows system and implements its own loader).

In contrast, a 3DLUT correction gives you a much higher quality result that is able to clamp to specific colorspaces (ie, REC709) regardless of the monitor's native gamut. Also, implementing a 3DLUT solution (traditionally done via expensive monitors that offer hardware support for loading 3DLUTs, or by putting a LUT box in the signal path) takes Windows broken color management out of the picture.

There are still some things that can go wrong (mostly involving colorimeter error or Windows or your GPU stubbornly trying to alter the signal), but as a color calibration approach, *if it works* this seems to me BY FAR the best solution unless you go the SDI route to a LUT-calibrated monitor

RogerS wrote on 3/16/2022, 11:06 PM

Thanks, Alo! I admire your perseverance with this issue. It took me a few tries to figure out how to create a proper 3D LUT from my NEC Spectraview-created ICC profile, but in 3DLUT Maker using Rec709 2.4 seems to work. When I enable this it greatly reduces saturation on my wide gamut display and more closely matches my second sRGB gamut display. I just have to remember to turn it off for my color managed apps!

I do wish Windows handled this better. It seems the Apple side is getting better with the prevalence of P3 displays.

Musicvid wrote on 3/17/2022, 12:33 AM

I'm not sure I follow that, ALO. I easily convert Photoshop ICC Profiles (709 is one, Adobe RGB is another common one) to 3d LUTS for use in Vegas or other unmanaged spaces. They are all included in my free LUTS4VEGAS package, which can be downloaded here:

https://drive.google.com/drive/folders/1ghglTqBCyvBT3x_6JTXV72v7JlQNokoe

RogerS wrote on 3/17/2022, 1:07 AM

The problem is the monitor's gamut not the gamut of the images. Try testing Rec709 on a P3 or AdobeRGB gamma display and report back what you see.

ALO wrote on 3/17/2022, 10:21 AM

I'm not sure I follow that, ALO. I easily convert Photoshop ICC Profiles (709 is one, Adobe RGB is another common one) to 3d LUTS for use in Vegas or other unmanaged spaces. They are all included in my free LUTS4VEGAS package, which can be downloaded here:

https://drive.google.com/drive/folders/1ghglTqBCyvBT3x_6JTXV72v7JlQNokoe

First of all, if I understand correctly, what you are doing works: profiling your monitor, possibly using a 1DLUT via DisplayCal for a partial monitor "correction", and converting the profile into a 3DLUT to be used in Vegas via the LUT fx on the preview window.

So the image you're seeing in Vegas' preview window should be the 1DLUT loaded via DisplayCal plus the 3DLUT applied via Vegas' preview bus fx.

Even if you are using a wide-gamut display, assuming all went well in the process I've described above, you should now have a Vegas preview correctly showing (I assume) REC709 and your preferred gamma.

Problem 1 is the Vegas environment (ie the timeline, the icons, the gray app borders) do not match your 3DLUT preview. This is also true of your Windows environment. If, for example, you're previewing images in a folder in Windows Explorer, and dragging them into Vegas, the images look different in explorer, and, because of how our brains work, those differences are subtly biasing your eyes in the same way, for example, that having a bright color or colored light next to your workspace biases your eyes.

Problem 2 is you've goofed up Vegas' scopes, especially the Vectorscope, which no longer shows a useful picture of where your colors sit.

Problem 3 is that 1DLUT that DisplayCal created for your monitor "correction" is limited in its ability to correct gamma and white balance--it's less powerful than what a 3DLUT implemented via hardware can do. My understanding is that this limitation often tends to lead to some visible grayscale banding.

In contrast...

With the dwm_lut approach, you create a single 3DLUT, which incorporates both the 1D "correction" and the 3D profile components. You disable windows color management (hopefully!) completely, and then apply that 3DLUT system-wide, such that *everything* is correctly displayed to your target in the windows environment. At least theoretically, this is a much more accurate correction and a much simpler process, with none of the problems listed above.

Basically the only things that can go wrong are (1) you don't create a good correction because of colorimeter error or ? so your initial profile/correction is inaccurate or (2) some kind of performance hit to windows and/or GPU which lowers framerate on playback in an unacceptable way or (3) some future driver or windows update breaks dwm_lut and then you're back to the old way of doing things.

I think it's an extraordinary tool (and yes: it's crazy windows doesn't natively support something like this)

 

Musicvid wrote on 3/17/2022, 11:17 AM

First of all, if I understand correctly, what you are doing works: profiling your monitor, possibly using a 1DLUT via DisplayCal for a partial monitor "correction", and converting the profile into a 3DLUT to be used in Vegas via the LUT fx on the preview window.

So the image you're seeing in Vegas' preview window should be the 1DLUT loaded via DisplayCal plus the 3DLUT applied via Vegas' preview bus fx.

Even if you are using a wide-gamut display, assuming all went well in the process I've described above, you should now have a Vegas preview correctly showing (I assume) REC709 and your preferred gamma.

Problem 1 is the Vegas environment (ie the timeline, the icons, the gray app borders) do not match your 3DLUT preview. This is also true of your Windows environment. If, for example, you're previewing images in a folder in Windows Explorer, and dragging them into Vegas, the images look different in explorer, and, because of how our brains work, those differences are subtly biasing your eyes in the same way, for example, that having a bright color or colored light next to your workspace biases your eyes.

Problem 2 is you've goofed up Vegas' scopes, especially the Vectorscope, which no longer shows a useful picture of where your colors sit.

Problem 3 is that 1DLUT that DisplayCal created for your monitor "correction" is limited in its ability to correct gamma and white balance--it's less powerful than what a 3DLUT implemented via hardware can do. My understanding is that this limitation often tends to lead to some visible g

Here's a 709 3D 33 Cube LUT for you. DisplayCal, which I use for Monitor/Scanner/Printer matching, is just a frontend for Argyll CMS. I'm not plugged in with the rest of your contribution, sorry.

https://drive.google.com/file/d/11Cr92alQlm352FBlJQHp9_DslHrL6n9a/view?usp=sharing

The full package with a viewer, the official Canon, Panasonic, Adobe, colorspace, and a couple of my own LUTS is here:

https://drive.google.com/file/d/1AKe_ts4pSQ5fJVVGN_vN8Z8GyCUWkhnR/view?usp=sharing

ALO wrote on 3/17/2022, 3:51 PM

@Musicvid, dwm_lut is an elegant and extremely accurate monitor calibration and colorspace solution. It looks like your LUT pack is addressing a different issue (media conversions)

ALO wrote on 3/17/2022, 5:41 PM

Thanks, Alo! I admire your perseverance with this issue. It took me a few tries to figure out how to create a proper 3D LUT from my NEC Spectraview-created ICC profile, but in 3DLUT Maker using Rec709 2.4 seems to work. When I enable this it greatly reduces saturation on my wide gamut display and more closely matches my second sRGB gamut display. I just have to remember to turn it off for my color managed apps!

I do wish Windows handled this better. It seems the Apple side is getting better with the prevalence of P3 displays.

Thanks Roger -- fingers crossed this might be what I've been looking for since I first got my OLED laptop 2 years ago. Honestly I'd given up on ever getting good results from that screen, and went back to editing on a desktop... but with a 1Display Pro, DisplayCal, and this new tool, I've got my laptop screen calibrated to sRGB with a Delta E of about 0.5. It looks absolutely incredible.

RogerS wrote on 3/17/2022, 8:18 PM

Glad it is helping you with the OLED.

It's nice to not have the icons on my calibrated AdobeRGB screen excessively saturated for once. I just have to remember to turn this off before using color managed photography software. While my monitor has an sRGB mode with internal LUT, it isn't very effective and reds are still too saturated.

Hopefully Windows catches up and color manages everything, but I've been waiting since Windows 7...