OpenCore 0.6.3: nueva sección Memory Properties

En Opencore (OC) 0.6.3, todavía en fase beta, se ha introducido un cambio significativo en el archivo config.plist que puede causar errores al arrancar (unable to parse configuration) si se instala esta nueva versión con claves heredadas de la versión 0.6.2. El más importante es que 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.

Cambios en config.plist de OC 0.6.3

OC 0.6.3 presenta cambios significativos en sus características de funcionamiento, varios de ellos dirigidos a mejorar su integración con Big Sur. También presenta cambios en la estructura de config.plist, es conveniente conocerlos para evitar errores al preparar nuestro propio archivo de configuración. Todos estos cambios están dentro de PlatformInfo.

Continuar leyendo «OpenCore 0.6.3: nueva sección Memory Properties»

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.

¿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).

Muchos modelos de placas base vienen de fábrica con la región MSR E2 bloqueada (se puede leer pero no escribir) y bastantes de ellas incluso ocultan esta opción en la interfaz de usuario de la BIOS. En aquellas que sí muestran la opción para bloquear o desbloquear esta variable, suele denominarse CFG Lock. CFG Lock es un bit con 2 valores, 0x1 o 0x0. Cuando es 0x1, macOS no puede escribir en esta región y son necesarios parches para el kernel.

Continuar leyendo «CFG unlock con OpenCore y CFGLock.efi»

macOS Big Sur beta en Z390 Aorus Elite

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

macOS 10.16 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, y es posible que sea la última que se lance antes de la versión final por lo que se lee en foros especializados.

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 3 versiones, 0.6.0, 0.6.1 y 0.6.2, capaces de arrancar BS en los PC compatibles.

Continuar leyendo «macOS Big Sur beta en Z390 Aorus Elite»

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.

NVRAM en las placas con chipset Z390

En estas placas de diferentes fabricantes Intel ha declarado el firmware de una manera que impide que macOS pueda conocer la región del mapa de memoria UEFI en que se encuentra la NVRAM. Esto tiene consecuencias negativas, incluida la de no guardar estas configuraciones básicas entre reinicios.

Continuar leyendo «NVRAM nativa en Z390 Aorus Elite»

¿Necesito SSDT-AWAC en mi Hackintosh?

Basado en el texto publicado por los autores de OpenCore titulado Fixing System Clocks dentro de la sección Getting Started With ACPI del cual en gran parte es una traducción.

Real-time clock (RTC)

Un reloj en tiempo real (RTC) es un reloj que funciona con pila o batería y que se incluye en un microchip en la placa base de un ordenador. Suele estar separado del microprocesador y se denomina «CMOS» (Complementary Metal Oxide Semiconductor). Su función es mantener una corriente cuando la placa base se apaga y/o es desconectada de la corriente eléctrica y, de esta forma, evitar que la BIOS se desconfigure cada vez que se apaga el ordenador.
Una pequeña memoria en este microchip almacena la descripción del sistema o los valores de configuración, incluidos los valores de tiempo almacenados por el RTC. Cuando encendemos el ordenador, la BIOS lee la hora actual desde la memoria en el chip con el RTC.
Aunque el término RTC normalmente se refiere a dispositivos en ordenadores y sistemas embebidos, los RTC están presentes en la mayoría de los aparatos electrónicos que necesitan guardar el tiempo exacto.

Placas base con chipset Intel series 300

Algunos fabricantes de placas base Intel, sobre todo de la serie 300 (B360, B365, H310, H370, Z370, Z390, B460, Z490, etc.) han implementado un nuevo tipo de reloj del sistema llamado AWAC (ACPI Wake Alarm Counter Clock). El problema es que macOS no sabe manejar AWAC y, en su lugar, espera encontrar el clásico RTC. Esto puede ocasionar problemas como la desconfiguración de la BIOS en cada apagado o errores importantes al arrancar el sistema operativo. La solución pasa por traer de vuelta el RTC para que macOS pueda funcionar correctamente. Esto es lo que se busca con los archivos SSDT-AWAC y SSDT-RTC0. Cada uno de ellos funciona de forma diferente:

Continuar leyendo «¿Necesito SSDT-AWAC en mi Hackintosh?»

OpenCore y macOS 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 iMac19,1, con la tarjeta gráfica integrada habilitada y no configurada en el archivo config.plist 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 un poco por detrás de OC, proyecto reciente iniciado en 2019 por vit9696 y Download-Fritz entre otros, unidos bajo el nombre Acidanthera.

Clover es más sencillo de configurar. Las versiones nuevas son lanzadas desde la web CloverHackyColor de GitHub. Dispone de paquete instalador. Lo he utilizado en el Hackintosh desde hace 5 años y hasta ahora su funcionamiento ha sido excelente.

OC es más difícil de configurar, el nº de opciones es mayor y tiene algunas nuevas que hay que aprender. Se considera que es ligeramente más rápido que Clover y que su capacidad de inyectar extensiones o parches en el arranque es mayor. Con la ventaja añadida de que algunas de las soluciones que han aparecido recientemente vienen de los programadores de OC por lo que parece que su evolución futura está más clara que en el caso de Clover.

Continuar leyendo «OpenCore y macOS Catalina en Z390 Aorus Elite»

Intel Graphics 630 CFL headless mode en macOS

Utilizar la tarjeta gráfica integrada Intel UHD Graphics 630 Coffee Lake (procesador i3 9100) en headless mode (modo sin cable, sin conexión con monitor) para ser utilizada por macOS Catalina 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.

Nota: mi placa base es Z390 Aorus Elite que con BIOS F10c se cuelga al arrancar macOS inmediatamente después del menú de Clover cuando la tarjeta integrada está habilitada independientemente de que esté conectada a monitor o no, hay que permanecer en la versión F9 que funciona bien.

Nota: basado en el excelente artículo [GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem) de CaseySJ y en la funcionalidad Framebuffer patch de la herramienta Hackintool de headkaze.

Nota: instrucciones con Clover r5122 y OpenCore 0.6.2.

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 Graphics 630 CFL headless mode en macOS»

Reparar la partición EFI de macOS Catalina

Reparar la partición EFI de macOS Catalina cuando desde Utilidad de Discos no es posible completar Primera Ayuda sobre el disco en el que se encuentra esa partición con el mensaje «El mapa de particiones debe repararse porque hay un problema con el sistema de archivos de la partición EFI (-69766)».

En ocasiones, después de actuar sobre la partición EFI (reinstalando Clover o modificando algún archivo en la carpeta EFI / Clover) al actuar sobre esa partición con la función Primera Ayuda de Utilidad de Discos se obtiene el mensaje de error «El mapa de particiones debe repararse porque hay un problema con el sistema de archivos de la partición EFI (-69766)».

Aparentemente el sistema funciona bien así pero, si deseas corregir este error, hay una opción drástica (reinstalar macOS) y otra simple y rápida: reparar la partición EFI desde Terminal.

Continuar leyendo «Reparar la partición EFI de macOS Catalina»

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.

Nota: Los puertos USB2 se muestran como HSxx (HighSpeed) y los USB3 como SS (SuperSpeed). Los hubs USB2 integrados en la placa se muestran como PRxx o como USRxx.

Continuar leyendo «Ajuste de puertos USB en Z390 Aorus Elite»

macOS Catalina 10.15.6 en Z390 Aorus Elite

Instalar macOS Catalina en la placa Gigabyte Z390 Aorus Élite + procesador i3 9100 Coffee Lake + tarjeta gráfica AMD Radeon RX 580 + tarjeta WIFI y Bluetooth fenvi FV-T919 + Clover r5121 + AppleALC, IntelMausiEthernet, Lilu, USBPorts, VirtualSMC, XHCI-unsupported y WhateverGreen. Inspirado por hilo iniciado por kasix y completado por joanserramiret en tonymacx86.

Hardware

  • Placa base Gigabyte Z390 Aorus Élite: soporte para procesadores Intel de generaciones 8 y 9, audio Realtek ALC1220, Ethernet Intel I219V, 4 ranuras PCI-E, puertos USB 2, 3 y 3.1, tarjeta gráfica integrada Intel UHD Graphics 630
  • Procesador de 9ª generación Intel i3 9100
  • Ventilador CPU 120 mm Nox Hummer H-212
  • Memoria RAM Corsair Vengeance LPX 3200 MHz 16 GB (2 x 8)
  • Tarjeta gráfica AMD Radeon RX 580 8 GB
  • Tarjeta Wifi y Bluetooth Fenvi FV-T919
  • Fuente de alimentación Mars Gaming MPII850 (850 W)
  • Disco SSD Samsung EVO 860.

¿Qué funciona bien?

Prácticamente todo lo que he probado:
– Radeon RX 580: 3 puertos DP y 1 puerto HDMI, salida a 2 pantallas simultáneamente
– Apagado, reinicio y reposo
– Sonido integrado y salida de sonido HDMI
– Puertos USB (2, 3 y 3.1)
– Activación de TRIM para el disco SSD
– AirDrop, Sidecar, etc.

Continuar leyendo «macOS Catalina 10.15.6 en Z390 Aorus Elite»