This took me forever to set up properly, so I figured I’d share it.
For now just the basic outline. If have questions on a detail ask and I can answer.
First my set-up:
- Windows 10 64 bit with Fall Creators Update
- GeForce GTX 960
- 2016 LG OLED TV
The basic ingredients are these. Note I always used 64 bit versions of everything.
- Kodi DSPlayer, I used 17.6, 64 bit
- Plex for Kodi add-on, I used 0.1.3
- LAV Filters, I used 0.70.2
- MadVR, I used v0.92.10
- Install everything listed above.
- Replace Kodi DSPlayer’s internal filters with the external ones: copy all the files files from
C:\Program Files (x86)\LAV Filters\x64to
C:\Program Files\Kodi\system\players\dsplayer\LAVFilters, replacing files at the destination.
- Disable stereoscopic 3D in the nVidia control panel. With the current drivers, enabling it causes crashes in madVR when Direct3D 11 is enabled and it goes full screen.
- I have HDR and Advanced Color disabled in the Windows 10 display settings. MadVR enables it during playback as needed, and it makes the desktop look bad when it’s on.
- In Plex for Kodi Settings, enable HEVC streaming.
- On the LG OLED TV settings, disable Screen Shift. This setting shifts the image around by 1 pixel every few minutes, which will result in the line-interlaced image output by madVR not being aligned with the FPR (3D filter), which results in the left and right eyes being swapped. Note this will increase the risk of image retention.
- MadVR settings (just the required stuff, other settings you should probably mess with, lots of other guides on that):
- rendering -> general settings: Use Direct3D 11 for presentation (required for 10-bit color output)
- rendering -> stereo 3D: enable stereo 3D playback. Leave everything else unchecked.
- Devices -> -> properties: the native display bitdepth is 10 bit or higher (required for 10-bit color output).
- Devices -> -> properties: 3D format is Line Alternative (this works for passive displays like LG OLEDs, not for any other kind of display)
- Devices -> -> hdr: passthrough HDR content to the display, and send HDR metadata to the display
Hope this is helpful to someone else.