DRM en macOS: iMac19,1 o iMacPro1,1 con RX580

Los componentes de mi hackintosh (Z390 Aorus Elite + i7 9700 + AMD RX 580) permiten utilizar SMBIOS de 2 modelos distintos de Mac: iMac19,1 e iMacPro1,1. Con ambas configuraciones el sistema puede funcionar bien, integrando la codificación y descodificación de vídeo por hardware. La diferencia entre ellas está en la capacidad de reproducir contenidos protegidos con DRM, específicamente iTunes y TV+ de Apple.

iMac19,1

Este modelo de iMac apareció durante el año 2019. Hay 3 detalles técnicos que lo asemejan mucho a mi PC:

  • procesador Intel de 9ª generación Coffee Lake Refresh
  • iGPU Intel UHD Graphics 630
  • dGPU AMD Radeon Pro 570X / 575X / 580X.

El motivo principal para elegir iMac19,1 está sobre todo en el micro que es de la misma familia que el mío con lo cual lleva incorporada también la misma iGPU. Sin olvidar que la dGPU es similar. Nos encontramos ante un Mac con 2 tarjetas gráficas.
En el Mac real la dGPU puede ser utilizada para mostrar los gráficos principales con buen rendimiento mientras la iGPU puede contribuir con tareas de codificación y descodificación de vídeo por hardware, descargando a la CPU de estas tareas. Esto es lo que se busca al recurrir a esta SMBIOS: dGPU gráficos / iGPU codificación. Para conseguirlo hay que:

  • habilitar la iGPU en BIOS
  • poner la dGPU como tarjeta principal
  • el cable al monitor desde la dGPU
  • versiones recientes de Lilu y WhateverGreen
  • por supuesto SMBIOS de iMac19,1
  • iGPU en modo sin cable (headless mode) en config.plist, añadiendo estas líneas en DeviceProperties / Add (OpenCore)
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
	<dict>
		<key>AAPL,ig-platform-id</key>
		<data>AwCRPg==</data>
	</dict>

de forma que la sección completa quedaría así (puede haber otras claves en tu sistema además de esta, consérvalas)

<key>DeviceProperties</key>
	<dict>
		<key>Add</key>
		<dict>
			<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
			<dict>
				<key>AAPL,ig-platform-id</key>
				<data>AwCRPg==</data>
			</dict>
		</dict>
		<key>Delete</key>
		<dict/>
	</dict>

Con esta configuración el sistema funciona muy bien, presenta adecuada gestión de energía de la CPU, puede codificar y descodificar vídeo acelerado por hardware y, en cuanto a DRM:

  • no reproduce contenido FairPlay 1.x (iTunes)
  • reproduce contenido FairPlay 2.x/3.x (Netflix o Prime Video)
  • no reproduce contenido FairPlay 4.x (Apple TV+).

iMacPro1,1

Este modelo de iMac apareció en 2017. Lleva un procesador de una familia diferente a mi PC, es Intel Xeon de 8, 10, 14 o 18 núcleos. Pero al ser un Mac sin iGPU (solamente lleva dGPU Radeon Pro Vega 56) permite desactivar nuestra iGPU en BIOS para obtener un sistema equivalente en el que la dGPU sirve tanto para llevar los gráficos al monitor como para las tareas de codificación y descodificación de vídeo. Esto es lo que se busca al recurrir a esta SMBIOS: dGPU gráficos y codificación. Para conseguirlo hay que:

  • deshabilitar la iGPU en BIOS
  • poner la dGPU como tarjeta única
  • el cable al monitor desde la dGPU
  • versiones recientes de Lilu y WhateverGreen
  • y por supuesto SMBIOS de iMacPro1,1.

Con esta configuración el sistema funciona muy bien, presenta adecuada gestión de energía de la CPU, puede codificar y descodificar vídeo acelerado por hardware y, en cuanto a DRM:

  • reproduce contenido FairPlay 1.x (iTunes)
  • reproduce contenido FairPlay 2.x/3.x (Netflix o Prime Video)
  • reproduce contenido FairPlay 4.x (Apple TV+).

Resumen

Mi PC acepta 2 posibles SMBIOS, la diferencia principal entre ellas está en la posibilidad de reproducir contenido DRM de iTunes y de Apple TV+. En todo lo demás parecen opciones equivalentes.

  • Google Chrome (versión 87.0.4280.67 actual) funciona bien en Netflix y Prime Video independientemente de la SMBIOS elegida
  • Safari (versión 14.01 actual) falla en Netflix y Prime Video con SMBIOS de iMac19,1 pero funciona bien con SMBIOS de iMacPro1,1
  • Ambos navegadores fallan en Apple TV+ web
  • La aplicación TV de Apple funciona bien con SMBIOS de iMacPro1,1 pero falla con iMac19,1.

7 comentarios en «DRM en macOS: iMac19,1 o iMacPro1,1 con RX580»

  1. Saludos, tengo una Alienware Area 51m R2 y tengo una EGPU con un Alienware Graphics Amplifier, me gustaría que me ayudaras a configurarlo porque la eGPU me funciona perfectamente cuando estoy instalando, una vez instalado deja de funcionar, todas las pantallas se quedan negras, si desconecto la eGPU todo funciona correctamente, estuve verificando en modo consola el boot y me dice algo de los USB, gracias anticipadas.

    Responder
    • ¿Qué gráfica tienes como eGPU? Marca y modelo.
      ¿Es la primera vez que lo intentas o anteriormente ya has conseguido que funcione en macOS?
      ¿Arrancas con OpenCore o Clover? ¿Qué versión?
      ¿Versión de macOS que estás instalando?

      Responder
        • Ya veo. No me dices qué modelo y marca de GPU tienes en el Alienware Graphics Amplifier, en la idea de que si es un modelo no soportado por macOS (o por la versión de macOS que estás probando que tampoco se cuál es) entonces no va a funcionar correctamente.
          Me llama la atención que, al salir el menú con los iconos de OpenCore, hay varios de ellos que inmediatamente se convierten en cuadros blancos, lo cual orienta a que ya desde ese momento hay algún fallo gráfico.
          Hay poca información sobre el uso de eGPUs en Hacks. Hay más información en Macs pero con dispositivos compatibles con macOS. El dispositivo que tú tienes usa un conector propietario de Dell diseñado específicamente para Windows. No es seguro que funcione bien en macOS.
          Si la gráfica externa es ATI o AMD, prueba a añadir el argumento -radvesa en boot args de config.plist para desactivar la aceleración gráfica, si con ello llegas al Escritorio de macOS (con la eGPU encendida, claro) aunque sea sin aceleración gráfica podría significar que no es posible instalarla de forma completa. En esa primera fase de arranque del vídeo con los mensajes de texto la pantalla está en modo VESA (sin aceleración) y mi impresión es que, al cargar controladores para la eGPU y habilitar la aceleración, se cuelga.

        • En tonymacx86 hay un usuario que parece estar usando un Alienware Graphics Amplifier aunque su consulta tiene que ver con los puertos USB. No aclara si está utilizando la pantalla con el dispositivo externo pero supongo que es así. Podrías consultarle directamente a este usuario en el foro para que te diga si a él le funciona y si ha hecho algo especial para ello.
          Por lo que he leído, tampoco se puede deshabilitar la gráfica integrada en la CPU desde el menú de BIOS que sería otra cosa que se podría probar si fuese posible.

  2. Hola,
    Para que funcione la app de Apple TV en Catalina y teniendo en cuenta que la dGPU sea una tarjeta compatible incluiremos en propiedades de dispositivo de OpenCore shikigva=80. Con Imac 19,1.

    Responder
    • Hola de nuevo. Te agradezco los 2 comentarios productivos que has publicado, veo que conoces bien este tema.
      En los foros hay comentarios de algunos usuarios a los que el parámetro shikigva=80 con iMac19,1 no les funciona, las opciones shiki fueron incluidas hace relativamente poco en WhateverGreen y, aunque son estables, la solución de los problemas con DRM aún no esta definida claramente para todos los sistemas. También es cierto que muchos usuarios han solucionado este problema con este valor que comentas de shikigva.

      Responder

Deja un comentario