Jump to content

Shiki — protected video playback support on recent hardware


vit9696
211 posts in this topic

Recommended Posts

2 hours ago, vit9696 said:

After some time of iTunes testing with the latest betas, we came up with a conclusion that iTunes patching is still required for 10.13.4. It just happens that iTunes crashes got much rarer, and a lot of people believed they are gone. I committed a change that reenables iTunes crashfix autodetect:

https://github.com/vit9696/Shiki/commit/1b8677744aa6631cc9a9304da494a7636f53d786

To avoid making a rush of the releases we will wait till 10.13.4 is out. Those affected may compile themselves.

HTML5 DRM video on NetFlix and similar requires hardware DRM support. Unless your discrete GPU implements it, you are doomed, because Intel support is broken. You may still use other browsers, which do not rely on FairPlay. 

Thank you for the reply, so without a discrete GPU, there is no way to achieve hardware DRM support to watch Netflix on Safari? If that's the case, can Shiki's ability to fake the device board ID to AppleGVA allow me to fake my device as one that does not support hardware DRM, so that I can use silverlight with Netflix?

 

In addition, is hardware DRM something that could be faked in the same way FakeSMC emulates the SMC chip?

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

I wondering if Shiki can enable DRM playback on eGPUs? Looking at posts around the web I find mixed results. I have a Mac Mini late 2012 connected to a Sonnet III-D using Thunderbolt 1 which is housing an Nvidia GTX 1060. Using Shiki and NvidiaGraphicsFixup got me a little further but playback is still not working:

Quote

default    22:30:39.526056 +0200    VDADecoderChecker    GVA info: IOService IOGVACodec Gen7

default    22:30:39.529638 +0200    VDADecoderChecker    GVA info: AVFPixelProcess_Create
default    22:30:39.529678 +0200    VDADecoderChecker    GVA info:    source Format 420v, widht = 1920, height = 1080
default    22:30:39.529705 +0200    VDADecoderChecker    GVA info:    dest   Format 420v, widht = 1920, height = 1080
default    22:30:39.530297 +0200    VDADecoderChecker    GVA info: AVFPixelProcess_Finalize
default    22:30:39.541850 +0200    VDADecoderChecker    GVA info: getMainDisplayDecoder, intel:0, vp2:-1, vp3:-1, vp4:4, amd:-1, gfx:vp4
default    22:30:39.543300 +0200    VDADecoderChecker    GVA error: AVAHDGPURendererVP2VP3BoostVP3: AGPMSetBoost code = 0 returned 0xe00002c2 (ig)
default    22:30:39.556328 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping
default    22:30:39.556469 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping
default    22:30:39.556641 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping
default    22:30:39.556768 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping
default    22:30:39.556893 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping
default    22:30:39.557032 +0200    VDADecoderChecker    GVA warning: LoadAllGPUAccelerators: exteranl GPU, skipping

default    22:30:39.559465 +0200    VDADecoderChecker    GVA error: AVF_VirtualAcceleratorCreate: fail to create QT accelerator

 

Link to comment
Share on other sites

  • 3 weeks later...

In hopes that if I put together a better question and will get an answer here it goes:

 

Currently I am getting green/artifacts when playing DRM content on both monitors. Any help would be great!

 

My setup:

Motherboard: GIGABYTE GA-Z77X-UD5H-WB LGA 1155 Intel Z77 HDMI SATA 6Gb/s USB 3.0 ATX Intel Motherboard

 

CPU: Intel Core i7-3770K Ivy Bridge 3.5GHz (3.9GHz Turbo)

 

Graphics: GIGABYTE GV-N670OC-2GD GeForce GTX 670 2GB 256-bit GDDR5 PCI Express 3.0 x16 HDCP Ready SLI Support

 

How I am displaying: I have a dual monitor setup. DVI (Computer monitor) and HDMI (Samsung TV) both connected to my GTX 670. I have IGPU enabled. Init Display set to PEG. 

 

I'm injecting lilu and shake via kexts/other

 

Attached is my config.plist

 

My answers to the system setup checklist:

 

The DRM Trailer does not play so it is not an issue with my MAC address.

 

IGPU device is enabled, and present with a connector-less AAPL,ig-platform-id prop (e.g. <04 00 12 04>, <07 00 62 01>), use connector-full framebuffers in solo mode;

terminal output:

   | |  | |  "AAPL,ig-platform-id" = <07006201>


Discrete GPU is properly configured with IOVARendererID present in IOReg;

terminal output:

    | |   |   | | |   "IOVARendererID" = <08000401>
    | |   |       "IOVARendererID" = 17301506


VDADecoderChecker confirms Intel Offline (Online) VDA decoder working;

VDADecoder output:  

GVA info: Successfully connected to the Intel plugin, offline Gen7
Hardware acceleration is fully supported


IMEI device is present in IOReg;

This returns nothing in terminal. I am not sure how to fix it.

 

No override preferences are used;

I'm not sure this question, however I am using:

defaults write com.apple.AppleGVA forceNV -boolean yes


Mac model set to the one supporting hardware acceleration.

iMac 13,2 (this is in the list as good according to the FAQ instructions)

config.plist

Link to comment
Share on other sites

I suppose with silence I was forced to learn on my own. Which I did. I was not injecting shiki or lilu!. I had fakesmc in both L/E and kext/other. with config.plist set as 'detect' instead of 'yes' for 'Inject Kexts'. I wasn't injecting anything in the kexts/other folder.

 

I left config.plist set to 'detect' and moved everything to my L/E except fakesmc. I rebuilt the kextcache and it all worked. I did have to reset the drm config before iTunes worked.

 

I googled that after instal, you should only keep essential kexts in the EFI partition. To me that means fakesmc. I am off the mark here? Thanks!

Edited by mvgilpatrick
Link to comment
Share on other sites

  • 3 weeks later...

Personal thank you for vit9696!

 

 

Aw.. Movie still doing "This film can only be played on displays that support HDCP". Plays couple seconds and stops.. looking answers.

Edited by XantheFIN
hdmi cable was fine - bought expensive Sony PS4 4K certified official licensed cable. Now every device works with it.
Link to comment
Share on other sites

  • 5 weeks later...
  • 2 months later...
  • 6 months later...
×
×
  • Create New...