Jump to content

Shiki — protected video playback support on recent hardware


vit9696
211 posts in this topic

Recommended Posts

Thanks to this thread, I've been able to make this work (mostly). I'm able to download movies in iTunes and watch them without problems. However, I can't stream them. It would be very nice if I could stream TV shows/etc.

My config (configured as iMac 17,1)
Skylake i7-6700K
GA-Z170m-d3h
NVIDIA 950

Internal Intel 530 (identified as: Intel HD Graphics 7000)

macOS 10.12.4/Shiki 2.0.1/Lilu 1.1.0 (Shiki is in EFI/Clover/kexts/other)

boot argument: -shikigva

Of note, when I enter this command in Terminal, I don't get a return:
ioreg | grep IMEI

Entering: ioreg -l | grep platform-id returns:
| | | | "AAPL,ig-platform-id" = <01000219>

kexstat reveals that Shiki and Lilu are both running.

Any and all help is appreciated. Thank you.

Link to comment
Share on other sites

My mistake seems to be that I think trailers from iTunes also are DRM protected...

 

Not all trailers are DRM protected. Also DRM protection of trailers depends on country. For example in Ukraine all trailers are not protected at all. To check whether the trailers are protected or not make a screenshot with Cmd+Shift+3 during playback. If you see picture then trailer is not protected. if not trailer is DRM protected. 

  • Like 1
Link to comment
Share on other sites

Hi

i'm using GTX660  (Kepler) with HD4600

HD4600 use ig-platform of 0b001204 (connector-less)

I don't have IOVARendererID/IOVARendererSubID in IOREG

the faq only address this problem with Maxwell.

 

Tried with iMac14,2/iMac15,1 and with/without nvidia web drivers.

 

VDADecoderChecker shows the correct output

IMEI is present

 

any solution?
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

To the owners of Intel HD530, who uses it as the only and basic card.

 

is it possible to run this along with a gtx 1070 gpu? Also is it possible to only force the nvidia gpu (pascal using VP8) to be the primary decoder, and use it for HW acceleration everywhere without iGPU even be needed? As currently i noticed in browsers, for HW acceleration at places like Youtube, the cpu is doing the hardwork by turbo-ing and i doubt if nvidia is even doing anything. In Shiki FAQ, its mentioned for Maxwell, but any idea from where i can get the IOVARendererID for pascal gpus. I would really like to keep my nvidia as primary GPU and don't mind a connector less iGPU also if thats the last resort.

Link to comment
Share on other sites

As far as i know Pascal cards don't have hardware acceleration on macOS. It's a WebDriver issue.

 

 

I think the IOVARendererID is the same, but that simply forwards decoding to the IGPU. I don't think HW decoding will work with any recent NVIDIA GPU.

 

So that means if I keep my primary display as discrete GPU in BIOS, but in my config .plist for clover add a platform id of connector less iGPU (intel hd 530) and have shiki and lilu kext in my Kext > other folder I should be getting VDA decoding at least via iGPU for VLC, quicktime and web browsing HW acceleration, but still be able to use primary display connection via Nvidia and use its CUDA power in softwares like Adobe without any issue? Any other changes to be made like making ForceOfflineRenderer = No in /S/L/AppleGVA.framework info.plist? 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

There is a complete explanation why VP4 ids are used here:

https://github.com/vit9696/Shiki/issues/5

I think it should answer all the questions.

 

hi vit9696.

I saw you closed my ticket https://github.com/vit9696/Shiki/issues/5 sayingthat a new kext fix the vdachecker issue for pascal gpu + skylake-kabylake cpus.

I'm sorry but this solution, for me it's not working and vdachecker gives me the usual error 

I attached here my files if you want to have a look

files.zip

Link to comment
Share on other sites

I indeed do not see IOVARendererID in your ioreg. Perhaps the solution is not complete, but it surely is working in the right direction.

You may try retesting with a plist-only kext injecting these properties (make sure not to forget to add GP100 matching).

Or direct your issue to https://github.com/mologie/NVWebDriverLibValFix, perhaps he has an idea?

Link to comment
Share on other sites

  • 4 weeks later...

Hi

 

First of all I would like to say thank you for all the fantastic work with the Shiki kext and WhatEverGreen.kext. I can finally boot with my ASUS 380X card as primary.

 

I'm a little pussled as how to configure my machine properly. 

 

My setup is 6700K and ASUS 380X on iMac 17,1 SMBIOS.

1 monitor connected to discrete GPU. Discrete set as primary, but HD530 enabled after boot.

I have latest Lilu, Shiki and Whatevergreen in Clover/Kexts.

I have Inject ATI=No, but Inject Intel=Yes and using 19120000 platform-id. VDADecoderChecker reports 

 

GVA info: Successfully connected to the Intel plugin, offline Gen9 

Hardware acceleration is fully supported

logout

 
ioreg | grep IGPU reports:
 

    | |   +-o IGPU@2  <class IOPCIDevice, id 0x1000001db, registered, matched, active, busy 0 (12787 ms), retain 33>

 
My 380X is reported correctly in About this mac. 

 

The problem:

My video thumbnails in Finder are all garbled. This is also the case for some online videos, such as on Youtube. A Reload page will solve the issue. Content on disk is played back normally in VLC and Quicktime.

 

This never happened before I started using Whatevergreen and Shiki, which I started using both at the same time.

 

I'm finding it hard to understand from the FAQ if I need some other boot arguments or configurations. I tried Force Intel decoder command in Terminal. That broke online content viewing totally (using Safari), page crashed and would not be fixed on reload. I set the command to Boolean No, which solved it, apart from the once more garbled videos that can be fixed by reloading.

 

Is there anything I should try? I had IntelGraphicsFixup installed, but deleted it. No change there.

 

Thanks for any suggestions.

Link to comment
Share on other sites

Hello and thank you for all your hardwork. 

 

I did get this to work under El Capitan but I am having a heck of a time installing it under Sierra. In El Capitan I installed imac.kext that that worked there. But when I try to install it in Sierra it disabled my Nvidia web drivers.  so the imax.kext is removed. 

 

Here are my specs

I have a Gigabyte ga-x87-ud4 motherboard and a i7 4770k CPU. I also have a Nvidia GTX 980 and using the latest Nvidia drivers. I have the onboard Intel graphics turned off.

 

My hackintosh is working with everything but iTunes. I have both Shiki and lilu installed under /Volumes/EFI/EFI/CLOVER/kexts/Other/ 

 

This is the output of VDADecoderChecker

 

VDADecoderCreate failed. err: -12473

An error was returned by the decoder layer. This may happen for example because of bitstream/data errors during a decode operation. This error may also be returned from VDADecoderCreate when hardware decoder resources are available on the system but currently in use by another process.

VDADecoderCreate failed. err: -12473

logout

Saving session...

...copying shared history...

...saving history...truncating history files...

 

...completed.

 

ioreg -l | grep platform-id returns nothing

ioreg | grep IGPU reports nothing

 

I have read though all of the posts in this thread and I am still a little lost what to do next. Any help would be greatly appreciated. 

 

 

Link to comment
Share on other sites

Ok, I wanted to give an update. My Intel graphics would not work no matter how hard I tried. But I did get iTunes working. I used the latest as of this post both shiki.kext and lilu.kext and  used a modified iMac.kext from this post here 

https://www.tonymacx86.com/threads/itunes-protected-video-black-screen-solution-hdcp.195083/page-23#post-1385991 

 

I can now play downloaded iTunes movies. Can't stream but I think this is due to the iMac.kext. I also can't seem to do HD playback on Amazon but I don't think that this is related to Shiki at all.  I am happy that I can even play my movies again. I have tons of storage so downloading isn't an issue. 

Link to comment
Share on other sites

  • 2 weeks later...

I recently had to update to Sierra and my VDADecoder stopped working. My previous setup was a HD4600 + GTX 960, iMac.kext for RenderID and platform-id 0d220003. I switched out the GTX 960 in favour of a GTX 1060. In order to get the RenderID back I modified the iMac.kext and added a GP100 IOPropertyMatch for Pascal:

 

bj6rx7vb.png

 

Sadly, now the nVidia WebDriver refuses to load and I do not know why. Is my modification of iMac.kext right? Do I miss something?

Link to comment
Share on other sites

  • 3 weeks later...

Hi all, I've upgraded my hackintosh to macOS High Sierra and now iTunes crashes at least 3 times before to become stable. Only happens on my hackintosh.

Over the tests I've done, in one scenario when I use the bootflag "shikiva=1" is when iTunes stop crashing and works fine, but I cannot use the quick sync feature.

 

My system are:
- Core i7 4790K 4Ghz
- 16GB RAM

- NVIDIA GTX 750 ti.

- APFS for the system disk.

- System Def: iMac15,1

 

Any clue? I've downloaded the latest code from GitHub (and compiled) but still having issues. Everything else is working perfect (even the streaming of bought movies and trailer. I have not installed the iMac.kext extension).

 

Additional Info:

- Some guys have isolated the problem and having found that if they remove the intel-inject-id from Clover (without using Shiki) iTunes stop crashing. Also, using the inject-id and the bootflag shikiva=1 iTunes stop crashing as well, but the hardware acceleration (quick sync) is not present (validated using macx video converter).

 

[uPDATE]

I've found a workaround: using this bootarg for Lilu.kext: -liluslow (and with the latest compiled kexts -shiki, lilu, nvidiafixup, etc- from the sources in GitHub); now iTunes stop crashing but some drm things doesn't work (trailers ok, videos ok, movies no).

 

Thanks in advance.

Link to comment
Share on other sites

Hi, I was able to get:

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

This was with the latest Lilu, Shiki & NvidiaGraphicsFixup kexts which are still in source code stage. If anyone is using them, I would like to know are you getting HW decoding in browsers outside Safari? I tried Firefox and Chrome, both seem to fall back again to CPU. I understand chrome and Firefox use VP9 codecs on sites like Youtube, so I even tested with H264ify extension, which uses the mp4 AVC similar to Safari, yet those two browsers were still relying on CPU. Everything else works fine, I am getting HW decode in apps like VLC, INNA, MacX Video converter shows Hardware Encoding Support: Yes. 

 

My specs are:

 

intel i7 6700

Asus maximus viii gene

Msi GTX 1070 Gaming X

Link to comment
Share on other sites

×
×
  • Create New...