Intel UHD Graphics 630 en macOS

Utilizar la tarjeta gráfica integrada Intel UHD Graphics 630 Coffee Lake en headless mode (modo sin cable, sin conexión con monitor) para ser utilizada por macOS Catalina y Big Sur en tareas de codificación de vídeo, llevando la imagen al monitor con Radeon RX 580, añadiendo codificación y descodificación de vídeo por hardware al sistema, o utilizarla como tarjeta principal que lleva la imagen al monitor.

En los Mac con tarjeta gráfica integrada (iGPU) y otra dedicada (dGPU) el sistema utiliza la integrada para codificación y descodificación de vídeo. Al construir un Hackintosh con ambos tipos de GPU podemos encontrarnos con que, aunque la dGPU sea mucho más potente que la iGPU, si esta no está bien instalada y reconocida por el sistema falla la codificación de vídeo. Cuando esto sucede pero no queremos tener la iGPU como tarjeta primaria hay que configurar la iGPU como headless mode (se llama así cuando está activa pero sin cable hacia display) para que sea la dGPU la que muestre la imagen pero la integrada esté disponible para codificar/descodificar vídeo.

Continuar leyendo "Intel UHD Graphics 630 en macOS"

AHCI en Big Sur: Generic AHCI Controller

Big Sur ha eliminado la clase AppleIntelPchSeriesAHCI en la extensión AppleAHCIPort.kext por lo que los controladores AHCI de la familia Intel han dejado de ser reconocidos como tales y se muestran como genéricos.

A algunos usuarios les disgusta ver que el controlador Intel de una determinada familia sale como genérico aunque se trata de un inconveniente puramente cosmético que no parece interferir con el rendimiento o el comportamiento de los controladores.

La solución encontrada, propuesta originalmente desde la web Dortania, consiste en utilizar la extensión AppleAHCIPort.kext de macOS Catalina modificada (CtlnaAHCIPort.kext) con los identificadores de cada familia de controlador Intel.
Para utilizar CtlnaAHCIPort se recomienda:

Continuar leyendo "AHCI en Big Sur: Generic AHCI Controller"

OpenCore con Catalina en Z390 Aorus Elite

OpenCore como gestor de arranque en lugar de Clover en un PC con placa base Z390 Aorus Elite, procesador i3 9100 Coffee Lake, tarjeta gráfica RX 580 y macOS Catalina, con SMBIOS de iMacPro1,1, con la tarjeta gráfica integrada deshabilitada en BIOS y mapa de puertos USB específico para esta placa base.

Clover y OpenCore

Hoy disponemos de 2 gestores para arrancar macOS en PCs compatibles: Clover y OpenCore (OC en adelante). Clover es un proyecto maduro, iniciado en 2011 por SergeySlice, capaz de arrancar macOS, Windows y Linux en modo UEFI; actualmente parece ir por detrás de OC, proyecto reciente iniciado en 2019 por vit9696 y Download-Fritz entre otros, unidos bajo el nombre Acidanthera.

Continuar leyendo "OpenCore con Catalina en Z390 Aorus Elite"

AMD Radeon RX 580 en macOS

Tarjeta gráfica AMD RX 580 de 8GB en macOS High Sierra (desde 10.13.6), Mojave, Catalina y Big Sur en la placa Gigabyte Z390 Aorus Elite: funcionamiento excelente con aceleración gráfica (Metal) tal como sale de la caja, sin necesidad de controladores (kexts), con 1 inconveniente cosmético en el arranque del sistema operativo (se propone solución).

He colocado la tarjeta gráfica XFX AMD Radeon RX-580 P8DFD6 8GB Triple X Edition GDDR5, 256BIT, DVI+HDMI+3DP en una placa base Z390 Aorus Elite con micro i3-9100 Coffee Lake para poder instalar 10.14 Mojave, 10.15 Catalina y 11 Big Sur porque la tarjeta que he utilizado estos últimos años, Nvidia Geforce GTX 750 1GB, impedía pasar de 10.13.6 High Sierra ya que esta fue la última versión para la que Nvidia publicó los controladores web alternativos que eran necesarios para que la tarjeta funcionase bien con aceleración gráfica.

Continuar leyendo "AMD Radeon RX 580 en macOS"

DRM: iMac19,1 0 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.
Continuar leyendo "DRM: iMac19,1 0 iMacPro1,1 con RX580"

macOS Big Sur beta en Z390 Aorus Elite

Instalar macOS 11 Big Sur beta en placa base Z390 Aorus Elite con i3 9100 Coffee Lake y Radeon RX 580, utilizando OpenCore 0.6.4 como gestor de arranque.

macOS 11 Big Sur (BS en adelante) va a ser la siguiente versión del sistema operativo de los Mac. Desde la web Apple Beta Software Program se puede descargar la utilidad que activa las versiones beta públicas desde el panel Actualización de Software de Perfil del Sistema. La versión beta pública actual es la 9, compilación 20A5384c.

En mi PC la instalación de BS beta en un disco SSD independiente ha resultado relativamente fácil teniendo en cuenta la gran cantidad de cambios internos en relación con el kernel, la carga de extensiones, los mecanismos de seguridad y otras características muy importantes en lo que respecta al mundo Hackintosh. Los desarrolladores de OpenCore (OC en adelante) han publicado varias versiones, 0.6.0, 0.6.1, 0.6.2, 0.6.3 y 0.6.4, capaces de arrancar BS en los PC compatibles.

Continuar leyendo "macOS Big Sur beta en Z390 Aorus Elite"

Ajuste de puertos USB en Z390 Aorus Elite

Ajustar los puertos USB de la placa base Z390 Aorus Elite para que no superen el límite impuesto por macOS Catalina (15 puertos) y asignar correctamente el tipo de cada puerto para que funcione a la velocidad correcta. Siguiendo el método propuesto en la ayuda integrada en la herramienta Hackintool de headkaze.

macOS Catalina tiene por diseño un límite de 15 puertos USB que puede manejar. Ningún Mac supera o se acerca siquiera a ese número pero cualquier placa base de las que utilizamos para construir un Hackintosh supera ese número, bastantes de ellas ampliamente. Por ejemplo, mi placa Z390 Aorus Elite viene con 4 puertos USB2 + 1 puerto USB3 tipo C + 7 puertos USB3 + 2 hubs USB2 en la placa.

Para contar los puertos con vistas al límite hay que tener en cuenta que cada puerto USB2 cuenta como 1 pero cada puerto USB3 (clásico o tipo C) cuenta como 2, la parte USB2 y la parte USB3. Así que mi placa en realidad viene con 14 puertos USB3 (7 USB3 + 7 USB2) + 3 puertos USB2 + 2 puertos en el tipo C (1 USB3 + 1 USB2) + 2 hubs USB2, total 21 puertos. Se puede dejar que el sistema trabaje así pero lo más probable es que algunos puertos no funcionen bien o no lo hagan a la velocidad adecuada e incluso que esto repercuta en otras funciones como el encendido o el reposo.

Continuar leyendo "Ajuste de puertos USB en Z390 Aorus Elite"

OpenCore 0.6.3: nueva sección Memory

En Opencore (OC) 0.6.3, todavía en fase beta, se ha introducido un cambio en el archivo SampleCustom.plist, se ha añadido una nueva sección Memory dentro de PlatformInfo, en ella se describen una serie de parámetros de la memoria RAM tal como están definidos en la especificación SMBIOS.

Nota: artículo importante solamente para aquellos casos en que la memoria tiene errores en SMBIOS y es conveniente definir sus parámetros manualmente. La mayoría de los usuarios parten del archivo Sample.plist (en vez del archivo SampleCustom.plist) y en él está ausente la sección Memory y para ellos este artículo no es necesario. La diferencia está en la nueva clave CustomMemory que, si está en true, requiere rellenar la sección Memory pero, si está en false, permite omitir completamente esa sección.

Continuar leyendo "OpenCore 0.6.3: nueva sección Memory"

NVRAM nativa en Z390 Aorus Elite

Cómo conseguir que la CMOS almacene datos básicos de configuración de macOS, como se hace en los ordenadores de Apple, en placas base modernas con chipset Intel Z390, entre otros, que carecen de esa posibilidad por diseño, mejorando el funcionamiento del Hackintosh y acercándolo más al de un verdadero Mac.

(Artículo basado en otro de los autores de OpenCore, en Dortania)

¿Qué es la NVRAM?

NVRAM (memoria de acceso aleatorio no volátil, non-volatile random access memory) es una pequeña porción de memoria que los Mac utilizan para guardar algunas configuraciones de forma que estén disponibles aunque se apague la corriente eléctrica, por ejemplo información sobre los fallos recientes del kernel, volumen del sonido, resolución de pantalla, disco de arranque seleccionado, zona horaria y otros parámetros básicos. Esta memoria se mantiene gracias a la pila eléctrica de la placa base. Si está pila es retirada o se agota, los datos almacenados y la configuración personalizada de la BIOS se pierden.

Continuar leyendo "NVRAM nativa en Z390 Aorus Elite"

CFG unlock con OpenCore y CFGLock.efi

Desbloquear el registro MSR 0xE2 (CFG Unlock), que por defecto viene bloqueado para escritura en muchas placas base modernas, para que macOS pueda escribir en él los estados de gestión de energía de la CPU sin necesidad de utilizar los parches del kernel AppleCpuPmCfgLock y AppleXcpmCfgLock que son imprescindibles para arrancar macOS en los Hackintosh con CFG bloqueado.


Actualización 5/abril/2021 para OpenCore 0.6.7 y 0.6.8

CFGLock.efi ha sido incluida en las herramientas de OpenCore con el nombre ControlMsrE2.efi. Se puede ejecutar de 2 formas:

  • Desde UEFI Shell: buscando la partición EFI de macOS y, dentro de ella, dentro de la carpeta EFI/OC/Tools, escribiendo en el prompt ControlMsrE2.efi seguido del argumento que puede ser lock, unlock o interactive; si se ejecuta sin argumentos, usa el modo de verificación que solo lee el estado actual de CFGLock.
  • Desde el icono ControlMsrE2 en el menú de OpenCore: en este caso la forma de pasarle un argumento es escribirlo previamente en config.plist para que el argumento elegido (lock, unlock o interactive) quede fijado para cada vez que se utiliza la herramienta.


¿Qué es CFG Lock y MSR 0xE2?

CFG Lock es una configuración de la BIOS que permite escribir en un registro específico, en este caso en MSR E2 (MSR = Model Specific Register). Un MSR consiste en uno o varios registros incluidos en bloques de instrucciones utilizadas para llevar a cabo determinadas tareas en una CPU. Los MTR también sirven para controlar el acceso de la CPU a rangos de memoria. Los comandos capaces de leer y escribir en MSR funcionan con privilegios elevados (el sistema operativo, fundamentalmente).

Continuar leyendo "CFG unlock con OpenCore y CFGLock.efi"