Certified Output Protection Protocol - Linux


this may be an unusual feature request for linux but I wanted to ask whether it is possible to implement the Certified Output Protection Protocol (as used on Windows) into the linux driver. The reason for this is that I am working on Pipelight, a project to run windows browser plugins in linux, and some Silverlight based services use a Playready protection level which requires to enable HDCP protection or simply determing the display type through COPP.

Silverlight therefore uses the IAMCertifiedOutputProtection (http://msdn.microsoft.com/en-us/library/windows/desktop/dd389149(v=vs.85).aspx) interface and requests a certificate from the driver inside the KeyExchange method to establish an encrypted communication to the driver. The returned certificate must have a specific microsoft certificate at the end of the signing chain. The encrypted communication is now used to get the display type or to enable features like copy protection on the corresponding display.

Windows will now redirect these calls to the following 7 driver functions: http://msdn.microsoft.com/en-us/library/windows/hardware/ff569517(v=vs.85).aspx.

We would like to give our users the possibility to use Pipelight with all Silverlight services but in this case we need the help of the drivers to implement this feature without breaking any copyright laws. It would make a lot of users happy and NVIDIA already has such an implementation for the windows driver. It would require some changes, but it shouldn’t be too much work.

The original implementation uses DirectX objects but since we are on linux I would suggest to use a OpenGL context instead. You can choose what ever way you think fits best to expose the function to the userland, for example a private OpenGL extension or some driver libraries as long as I can access them without root rights.

Is there any chance that you can help us with this feature? Other Silverlight websites which do not require this protection already work great with Pipelight as you can see on our incomplete list of known to work websites: http://fds-team.de/cms/articles/2013-08/pipelight-using-silverlight-in-linux-browsers.html#section_5