[x86-64] Dolby Vision a Possibility on PC?

  • Go to Best Answer
  • It's important to understand that DV is not 'a' standard, it's a collection of them. It is technically possible to implement support for all DV requirements on PC boxes. However there are quite a few technical barriers towards that happening. There are also a pile of legal issues. The technical requirements are slowly being chipped-away at, so there is full support for Kodi on Android (on licensed hardware that follows standards) but only partial support for Kodi on Linux; there are still things missing in ffmpeg and the Linux kernel DRM architecture and hardware-specific drivers. As a result there are many dissinformation threads from DV "experts" in forums that reflect the disconnect between their opinions on on how things work, and actual facts :)

    There is currently only one known open-source implementation of FEL 5/7 and that's in OSMC, and the term open-source means only that it doesn't depend on closed-source Dolby libraries. However this open implementation depends heavily on the Amlogic vendor kernel (with its own proprietary DRM architecture) and intentionally uses OP-TEE secureworld to prevent an army of Dolby lawyers from inspecting how it's been done, so the open implementation is effectively closed.

  • It all depends on how the implementation has been done. If Astra decided to decompile/reverse Dolby blobs then the outcome is illegal. If it's been done under "clean room" conditions (which arguably might be impossible with AI agents that learn from other users input) then it's probably harder for Dolby to challenge. Either way, the moment source code that works is posted or leaked somewhere things will be interesting.

  • Hi,

    I’m the guy from Reddit who recently got proper Dolby Vision playback working on Linux with an Intel Ultra 5 226V.

    On the 226V in Linux, the implementation is already very close to perfect from what I can see. Across all the modern DV profiles I’ve tested, I’m not seeing playback issues, any frame drops or obvious metadata problems. The main exceptions are the older legacy profiles and profile 20, which I haven’t focused on.

    The current implementation still has noticeable rendering and memory bandwidth overhead, so performance on smaller or older iGPUs is an open question. I only perfomed tests with a 226V, which uses specific drivers.

    Right now I’m cleaning up the build, removing debug/experimental code and preparing something shareable for a public. I’m aiming to push a first version by the end of the week.


    For LibreELEC, I also want to try a native implementation on lower end Intel iGPU. I have an i7 11390H available, so that will probably be my first test platform. I will work on it in October

    I should be able to reuse around 50-60% of the current work. The main difference is that my current DV path relies on a custom mpv build. For a clean LE integration, I’d rather port the Dolby Vision handling directly into Kodi’s VideoPlayer/DRM output path instead of keeping mpv as an external player.

    For legal aspect, I don’t see any obvious issue, the work is mainly modifications to open source components (Linux/Intel DRM, mpv, FFmpeg and libplacebo) for interoperability. There is no Dolby proprietary code involved, no DRM/HDCP bypass, and obviously no claim of Dolby certification.

    That said, if any of you see potential licensing, patent or other legal concerns that I may have missed, I’d be VERY interested in your feedback. :)

  • I’ve just finished cleaning up the build, and it’s now available privately on GitHub. If anyone is interested in seeing how it works, I’d be more than happy to share access.

    I’m also very, very interested in your take, chewitt, on the legal side of this before I start trying to adapt the implementation for LE.


    The high- evel overview of the impacted components and patches is as follows:

    ComponentPatchesPurpose
    Linux / Intel display10DRM/KMS validation and HDMI signaling
    FFmpeg3Metadata preservation and AV1 container recognition
    mpv10Frame-associated metadata, transport packing and display restoration
    libplacebo2OpenGL subgroup discovery and guarded affine dispatch
  • Well... of course it would not be ideal, but if it needed, this could be a patch/script completely independent from official LE (like the infamous 12/10 bit issue on N100).