Jump to content

Method to get DRM to enable Apple TV+ in Safari


eSaF
 Share

15 posts in this topic

Recommended Posts

Before I start - Mods/Admin if this post is in the wrong Thread please remove and place in the appropriate one - I am sure the DRM has been extensively covered but just incase anyone is still struggling with DRM in Safari and stuck with only Mac Pro SmBIOS to achieve DRM ability, this may help others.

 

Method to get DRM to enable Apple TV+ in Safari other than iMac Pro 1.1 or 7.1 Models (will also work with Mac Models 20.1 and 20.2)

 

To get Apple TV work on Big Sur 11.xxx and Monterey with

iMac (Retina 5K, 27-inch, 2019) i7 -3.6 GHz and GPU AMD RX 580.

My machine is set to iMac 19.1.

I have OpenCore 0.7.1

 

I could never get Apple TV to work with this SmBIOS, so I did some research and found this.

 

Open Terminal, and paste lines one at a time, and press enter after each command line.

 

defaults write com.apple.AppleGVA gvaForceAMDKE -bool YES

defaults write com.apple.AppleGVA gvaForceAMDAVCEncode -bool YES

defaults write com.apple.AppleGVA gvaForceAMDAVCDecode -bool YES

defaults write com.apple.AppleGVA gvaForceAMDHEVCDecode -bool YES

 

After all lines are entered as instructed, reboot and Apple TV works.

 

Unfortunately it will not work for Netflix in Safari so I have to use Google Chrome for Netflix which for me is a small price to pay.

 

Edited by eSaF
  • Like 5
  • Thanks 2
Link to comment
Share on other sites

@eSaF instead of doing that try adding unfairgva=1  to the boot arguments instead. 
On the AMD side of life this fixes Apple TV and Netflix on safari etc etc.

I see no reason why it wouldn’t work for you too. :)

Edited by AudioGod
  • Like 3
Link to comment
Share on other sites

Sorry AG didn't work for me - Added unfairgva=1, rebooted, cleaned NvRAM

Spoiler

1825787477_Screenshot2021-06-19at14_40_21.thumb.png.b06200d1035d764d56f2b4b4f83fc139.png

 and got the usual Netflix error in Safari (see attached). Incidentally I have both iGPU and dGPU enabled in the BIOS. iGPU set as Auto and dGPU set as first. Don't know if that makes much difference but will continue to play around with the settings meanwhile.

Link to comment
Share on other sites

Just now, eSaF said:

Sorry AG didn't work for me - Added unfairgva=1, rebooted, cleaned NvRAM

  Reveal hidden contents

1825787477_Screenshot2021-06-19at14_40_21.thumb.png.b06200d1035d764d56f2b4b4f83fc139.png

 and got the usual Netflix error in Safari (see attached). Incidentally I have both iGPU and dGPU enabled in the BIOS. iGPU set as Auto and dGPU set as first. Don't know if that makes much difference but will continue to play around with the settings meanwhile.

If you are using imacpro1,1 or macpro7,1 then disable the igpu in the bios all together. Strange that it doesn’t work for you but mind you are you using 12.0 by any chance cos if you are then it probably won’t work no. Nothings really been worked on yet on 12.0. This is a big sur fix 

Link to comment
Share on other sites

1 hour ago, AudioGod said:

If you are using imacpro1,1 or macpro7,1 then disable the igpu in the bios all together. Strange that it doesn’t work for you but mind you are you using 12.0 by any chance cos if you are then it probably won’t work no. Nothings really been worked on yet on 12.0. This is a big sur fix 

Yea B that could be it with 12.0 Beta although I changed the system from Pro 1.1 to 19.1 but it's all good B no sweat. Good to see you visit us from the AMD side from time to time - Is that to make sure we are on our best behaviour in your absence? :lol:

  • Haha 1
Link to comment
Share on other sites

1 hour ago, eSaF said:

Sorry AG didn't work for me - Added unfairgva=1, rebooted, cleaned NvRAM...

 and got the usual Netflix error in Safari (see attached). Incidentally I have both iGPU and dGPU enabled in the BIOS. iGPU set as Auto and dGPU set as first. Don't know if that makes much difference but will continue to play around with the settings meanwhile.

I believe that iGPU as Auto activates the iGPU when it does not detect dGPU or there is no cable connected from the dGPU but from the iGPU, at least that's the way my motherboard seems to work.


The guide whose link posts @Andrey1970 is still valid for the most part.


In my opinion, systems like ours (Z390 + AMD dGPU) fix DRM easily with iMacPro1,1 or MacPro7,1, as you have already mentioned. Both SMBIOS work best with iGPU disabled in BIOS and no code related to iGPU in config.plist.

 

I have tried these 2 SMBIOS and with them:

  • TV app ok
  • Netflix, Prime Vide and TV + in Chrome ok
  • Netflix, Prime Vide and TV + in Safari ok.

With iMac19,1 SMBIOS + iGPU enabled (headless mode in config.plist) + defaults write com.apple.AppleGVA... commands you posted:

  • TV app no
  • Netflix, Prime Vide and TV + in Chrome ok
  • Netflix, Prime Vide and TV + in Safari no.

@AudioGod

unfairgva=1 also does not solve this with iMac19,1 and with the other SMBIOS it is not necessary.

I take this opportunity to greet you, @eSaF is right when says that now you are more involved in the AMD forums :)

 

Edited by miliuco
  • Like 1
Link to comment
Share on other sites

29 minutes ago, miliuco said:

 

@AudioGod

unfairgva=1 also does not solve this with iMac19,1 and with the other SMBIOS it is not necessary.

I take this opportunity to greet you, @eSaF is right when says that now you are more involved in the AMD forums :)


Yeah it’s for 1,1 and 7,1 not 19,1. 😀

I use it with 7,1 and have Apple TV, Netflix, Amazon prime Disney Plus all working. Without it I loose it all but again this is a AMD thing really.

Thank you buddy,

i am indeed full on AMD now, I try my best over there. It’s much more fun going deep deep in the AMD hole :)

 

And I got to add and please nobody take offence but Intel CPUs are abit of a joke at the moment. It’s why I went with a 5900x. There no Intel cpu that can compare. Oh how the tide has turned…lol

Anyway I’m going right off topic so forgive me @eSaF and I will close my mouth now before I say something that gets me into trouble…lol

Edited by AudioGod
  • Like 2
Link to comment
Share on other sites

  • 5 months later...

For imac19,1 use unfairgva=5 or add unfairgva data 05000000 to AMD GPU deviceproperties.

Without any applegva commands, apple tv works fine. Prime safari didn't work. Didn't have netflix to test.

Link to comment
Share on other sites

  • 4 months later...

Maybe reviving an older thread here and I am sorry about this but I am trying quite desperately to get this working on the machine in my signature while maintaining SideCar support. It appears that these two functionalities are very much tied together.

Because I have seen success report from people on github with very similar setups I feel that I am missing something and the Whatevergreen documentation leaves a lot to be desired.

Based on my research, as of WEG 1.5.8 there are 3 relevant properties being injected to the AMD GPU:

  1. enable-gva-support: This is relatively new and due to the reversed logic of disabling the gva patches by default now. I am not sure how it affects the DRM issue but am enabling it anyway. (set to 1) but doesnt appear to do anything.
  2. shikigva: I see some successes getting simultaneously SideCar on iGPU and DRM on dGPU with people setting it to 16 or 80. It seems to not work at all with Monterey though I see it still on many setups. Is it still working for anyone?
  3. unfairgva: On the iMac SMBIOS setting it to 5 and 7 actually enables AppleTV DRM indeed but it breaks SideCar. Setting it to 1 doesn't work and breaks both DRM and SideCar.

But here is the caviat: 

It appears that on my machine, these two actions are similar: setting unfairgva=5 or 7 and running this 

defaults write com.apple.AppleGVA gvaForceAMDKE -bool YES

No need to reboot on my machine by the way when running the terminal command as it will instantly make SideCar unreliable and enable dGPU DRM. Setting it to "NO" instantly reverts to SideCar working again and breaking DRM.

The unfairgva setting just seems to be worse for SideCar as the terminal command still allows for a connection, it is just unreliable, while unfairgva prevents connection altogether.

 

 

If anyone has a way to get both working at the same time... Please share. It seemed like Shiki was the way to do it but it is broken.

 

Edited by rafale77
Link to comment
Share on other sites

Obstinately following up on this as I could really use some help again due to the lack of documentation I could find on the unfairgva functionality in spite of looking at the source code which I can't fully comprehend. It appears that it 

 

I can only report my observations with unfairGVA set at 5:

1. If I start AppleTV upon boot, DRM works. I can thereafter start SideCar and it connects but... I can tell that SideCar is very flaky and runs on the AMD GPU as I see artifacts on the iPad. When SideCar is on then I lose the video on AppleTV... Audio still works.

2. If I do the opposite: start Sidecar first after a reboot, I see that Sidecar uses the iGPU as I see not artifacts and flickers. When I start Apple TV with Sidecar on then DRM fails but audio also works...

 

Basically SideCar and DRM cannot run simultaneously and the order in which we start appears to somewhat matter with unfairgva. I cannot explain that from the code either as it appears that it essentially detects a non 0 argument and then changes the board id for the hwgva id to an iMacPro1,1 board ID. I am not sure what the various values do. It seems to be still a bit better than the forced terminal command. tagging @vit9696

 

Edit: Just tested a 2018 MBp with a dGPU and it behaves very similarly: If Sidecar is running, Video DRM does not work... So I guess it runs at it possibly could with Monterey. Only if we could understand how unfairgva really works...

 

Edited by rafale77
Link to comment
Share on other sites

 Share

×
×
  • Create New...