AMD RX 6600 XT en macOS 13 beta

Tarjeta gráfica AMD RX 6600 XT en las versiones beta de macOS 13 Ventura: puntuaciones obtenidas en GeekBench 5 con ajustes diferentes (agdpmod=pikera, WhateverGreen, Henbury patch, softPowerPlayTable).

Algunos usuarios con tarjetas gráficas AMD de la serie 6000 no pueden usar las versiones beta de macOS 13 con SMBIOS de iMacPro o MacPro y la misma configuración que tienen en macOS 12, básicamente WhateverGreen + agdpmod=pikera en boot-args y nada más. Estos modelos de Mac (que carecen en origen de tarjeta gráfica integrada) llevan a pantalla negra, sin mostrar el escritorio. Por otro lado, la SMBIOS de iMac funciona bien sin cambiar los ajustes que sirven para macOS 12.

Parece ser que, para poder usar macOS 13 con dGPUs AMD de las series 6000 y SMBIOS de iMacPro o MacPro, es necesario inyectar el framebuffer gráfico desde el archivo config.plist, al estilo del parche propuesto cuando la versión 12.3.1 de Monterey alteró el rendimiento de estas tarjetas.

Por ejemplo, para la familia 6600 (XT y no XT) es necesario cargar el framebuffer Henbury que en teoría es el predefinido aunque estas dGPU, con SMBIOS de iMac, cargan el framebuffer base Radeon y funcionan muy bien con él.

El parche es un fragmento de código que se añade a DeviceProperties en config.plist:

        <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
        <dict>
            <key>@0,name</key>
            <string>ATY,Henbury</string>
            <key>@1,name</key>
            <string>ATY,Henbury</string>
            <key>@2,name</key>
            <string>ATY,Henbury</string>
            <key>@3,name</key>
            <string>ATY,Henbury</string>
        </dict>

De esta forma se fuerza la carga del framebuffer Henbury lo que permite usar Ventura con las SMBIOS problemáticas.

Se han observado 2 efectos secundarios cuando el parche es inyectado:

  • las puntuaciones obtenidas en GeekBench 5 son significativamente más bajas.
  • la función Zero RPM (presente por defecto en las tarjetas AMD) se desactiva, los ventiladores giran todo el tiempo (ruido casi inaudible) y la temperatura de funcionamiento en macOS es aproximadamente 10-15º más baja.

He probado una tarjeta AMD RX 6600 XT con ajustes diferentes, pasando GeekBench 5 en cada una de ellas y anotando las diferencias.

WhateverGreen + agdpmod=pikera

Esta es la configuración básica utilizada por la mayoría de los usuarios: WhateverGreen.kext junto a agdpmod=pikera en boot-args.

  • SMBIOS de iMac funciona bien en macOS13
  • SMBIOS de iMacPro o MacPro llevan a pantalla negra en macOS13
  • Carga el framebuffer Radeon
  • Las puntuaciones en GB5 oscilan entre 80000 – 88000
  • La temperatura de la dGPU se mantiene unos 10-15º por encima de la que se observa en Windows en el mismo PC, esto está causado por la función Zero RPM que mantiene los ventiladores parados por debajo de 60º.

WhateverGreen + agdpmod=pikera + Henbury patch

Esta es la configuración propuesta para solucionar el problema con pantalla negra en macOS 13: WhateverGreen.kext junto al parche Henbury y agdpmod=pikera en boot-args.

  • SMBIOS de iMac, iMacPro y MacPro funcionan bien en macOS13
  • Carga el framebuffer Henbury
  • Las puntuaciones en GB5 oscilan entre 62000 – 72000
  • La temperatura desciende aproximadamente 10-15º porque se desactiva Zero RPM y los ventiladores están girando todo el tiempo.

WhateverGreen + agdpmod=pikera + softPowerPlayTable (sPPT)

Esta configuración requiere mayor trabajo porque hay que obtener la cadena PowerPlayTable desde Windows y añadirla a config.plist de la misma forma en que se añade el parche Henbury. Puedes leer sobre ello aquí: 6600 XT en macOS: Zero RPM con PowerPlayTable.

  • SMBIOS de iMac, iMacPro y MacPro funcionan bien en macOS13
  • Carga el framebuffer Radeon
  • Las puntuaciones en GB5 oscilan entre 75000 – 82000
  • La temperatura desciende aproximadamente 10-15º porque se desactiva Zero RPM y los ventiladores están girando todo el tiempo.

Observaciones

  • Nota 1: la ruta PCI a tu dGPU puede ser diferente a la mía, confirma este dato antes de escribir en config.plist. Puedes verla en Hackintool o con la utilidad gfxutil en Terminal.
  • Nota 2: algunos usuarios han comentado que, con el parche Henbury activo, solamente funcionan 1 puerto DP (el más cercano a la placa base) y el puerto HDMI pero, al menos en mi caso, los 4 puertos parecen funcionar bien.
  • Nota 3: Unigine Valley es un benchmark gráfico muy exigente que utiliza OpenCL, no Metal. Las puntuaciones obtenidas en este test son idénticas con las 3 configuraciones.
  • Nota 4: Este artículo es igualmente válido para el modelo RX 6600 no XT, la única diferencia es que las puntuaciones en GB5 son 6-8% más bajas
  • Nota 5: Este artículo es aplicable a las tarjetas AMD de las series 6800 y 6900. Con la observación de que el framebuffer es diferente para cada familia:
    • 6600: ATY,Henbury
    • 6800: ATY,Belknap
    • 6900: ATY,Carswell.

sPPT – WhateverGreen – agdpmod=pikera

Este es un caso especial que permite que la RX 6600 XT funcione bien tanto en Monterey como en Ventura con la adición de la cadena sPPT sin WhateverGreen ni el argumento de arranque agdpmod=pikera. Es una opción tal vez para usuarios avanzados que sorprende porque la idea generalizada es que WhateverGreen es muy recomendable (no imprescindible) para esta familia de gráficas y que agdpmod=pikera es imprescindible para no tener pantalla negra al llegar al Escritorio. Esta configuración funciona con SMBIOS de modelos que no tienen iGPU como iMacPro1,1 y MacPro7,1, no se debe usar con iMac19,1. También hay que deshabilitar la iGPU en BIOS.

Sorprendentemente las puntuaciones en GeekBench 5 superan a las que se obtienen con la configuración clásica (WhateverGreeen + agdpmod=pikera sin inyectar Henbury ni sPPT). A menudo superan los 90000 puntos llegando en ocasiones a 95000, cifra muy difícil de ver con los ajustes habituales y bastante lejos de las puntuaciones obtenidas con inyección Henbury.

En esta imagen puedes ver puntuaciones en GeekBench 5 con este último ajuste: sPPT sin WhateverGreen ni argumento de arranque.

2 comentarios en «AMD RX 6600 XT en macOS 13 beta»

  1. El parche Henbury es muy sencillo de implementar y baja la temperatura de la dGPU. El único inconveniente es la puntuación más baja en GeekBench 5.
    PowerPlayTable es más engorroso de implementar y, en mi experiencia, no parece funcionar mejor en Ventura que el parche. Pero GeekBench 5 sale más parecido a lo esperado.
    Por ahora me decanto por el parche, por comodidad y porque no hago edición intensa de vídeo o tareas similares. Esto puede cambiar en futuras versiones beta o en la versión definitiva de macOS 13.

  2. ¿Qué método es más aconsejable? ¿Inyección de Henbury o PowerPlayTable? ¿Con cuál funciona mejor la tarjeta gráfica?
    Gracias.

Deja un comentario