# 05 - Post-Instalación y Optimización

## 🎯 Objetivos

1. Copiar EFI al disco duro
2. Configurar hardware restante (Wi-Fi, Bluetooth, Audio)
3. Optimizar power management
4. Verificar estabilidad del sistema

---

## 💾 Paso 1: Copiar EFI al Disco Duro

### 1.1 Identificar Volúmenes

```bash
# Abrir Terminal y listar volúmenes
diskutil list

# Identificar tu disco macOS (ej: disk1)
disk1s1   EFI
disk1s2   Macintosh HD
```

### 1.2 Montar EFI del Disco macOS

```bash
# Montar la partición EFI
sudo diskutil mount disk1s1
```

### 1.3 Copiar EFI

```bash
# Copiar desde USB al disco
sudo cp -R /Volumes/EFI_USB/OC /Volumes/EFI_DISK/OC/

# Copiar BOOT
sudo cp -R /Volumes/EFI_USB/BOOT /Volumes/EFI_DISK/BOOT/

# Verificar
ls -la /Volumes/EFI_DISK/OC/
```

### 1.4 Desmontar EFI

```bash
sudo diskutil unmount /Volumes/EFI_DISK
```

### 1.5 Arrancar desde el Disco

1. **Retirar USB**
2. **Reiniciar**
3. Presionar **F8** para Boot Menu
4. **Seleccionar** "macOS" o "Macintosh HD"

---

## 🔊 Paso 2: Configurar Audio (AppleALC)

### 2.1 Identificar Layout ID Correcto

#### Método 1: Hackintool

1. **Descargar Hackintool** desde [GitHub](https://github.com/headkaze/Hackintool)
2. Abrir **Hackintool**
3. Ir a **Audio**
4. **Select Audio Codec**: Realtek ALC897 (o tu codec)
5. **Probar Layout IDs**:
   - Click en **"Select Audio Layout"**
   - Elegir diferentes IDs
   - **Test Audio** para cada uno

#### Layout IDs Comunes para ASUS ROG B760

| Layout ID | Uso |
|-----------|-----|
| 1 | Salida estándar |
| 3 | Speaker + Line Out |
| 7 | Realtek genérico |
| 11 | ALC897/1220 |
| 13 | ALC1220 |
| 28 | 5.1 Surround |
| 99 | Built-in + Headphone |

### 2.2 Configurar en config.plist

```xml
<key>DeviceProperties</key>
<dict>
    <key>Add</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x1B,0x0)</key>
        <dict>
            <key>layout-id</key>
            <data>BwAAAA==</data>  <!-- Layout ID 7 -->
        </dict>
    </dict>
</dict>
```

**Para cambiar Layout ID**:

```
Layout ID 1:   AQAAAA==
Layout ID 3:   AwAAAA==
Layout ID 7:   BwAAAA==
Layout ID 11: CwAAAA==
Layout ID 13: DQAAAA==
Layout ID 28: GwAAAA==
Layout ID 99,  bwAAAA==
```

### 2.3 Verificar Audio

```bash
# En Terminal
kextstat | grep AppleALC

# Debería mostrar proceso cargado
```

---

## 📡 Paso 3: Configurar Wi-Fi (Intel AX211)

### 3.1 Opciones para Wi-Fi Intel

**Opción A: AirportItlwm.kext** (Interfaz nativa macOS)

**Opción B: itlwm.kext + Helios** (App separada)

### 3.2 Configurar AirportItlwm

1. **Verificar kext cargado**:
```bash
kextstat | grep itlwm
```

2. **Configurar** (si no funciona automáticamente):

```xml
<!-- En config.plist → Kernel → Kexts -->
<dict>
    <key>BundlePath</key>
    <string>AirportItlwm.kext</string>
    <key>Enabled</key>
    <true/>
    <key>MaxKernel</key>
    <string>23.9.9</string>
    <key>MinKernel</key>
    <string>19.0.0</string>
</dict>
```

3. **Reiniciar** y verificar en **Ajustes del Sistema → Red**

### 3.3 Alternativa: itlwm + Helios

Si AirportItlwm no funciona:

1. **Reemplazar** AirportItlwm.kext con **itlwm.kext**
2. **Descargar Helios app** desde [OpenIntelWireless](https://github.com/OpenIntelWireless/Helios)
3. **Abrir Helios** para conectarse a redes Wi-Fi

---

## 🔵 Paso 4: Configurar Bluetooth (Intel AX211)

### 4.1 Verificar Kexts de Bluetooth

Asegurarse de tener estos 3 kexts en EFI/OC/Kexts/:

```
IntelBluetoothFirmware.kext
IntelBTPatcher.kext
BlueTool.kext (opcional, incluido en IntelBluetoothFirmware)
```

### 4.2 Configurar en config.plist

```xml
<dict>
    <key>BundlePath</key>
    <string>IntelBluetoothFirmware.kext</string>
    <key>Enabled</key>
    <true/>
    <key>MaxKernel</key>
    <string></string>
    <key>MinKernel</key>
    <string>19.0.0</string>
</dict>

<dict>
    <key>BundlePath</key>
    <string>IntelBTPatcher.kext</string>
    <key>Enabled</key>
    <true/>
    <key>MaxKernel</key>
    <string></string>
    <key>MinKernel</key>
    <string>19.0.0</string>
</dict>
```

### 4.3 Verificar

```bash
# Verificar Bluetooth cargado
kextstat | grep Bluetooth

# Abrir Bluetooth en Ajustes del Sistema
```

---

## ⚡ Paso 5: Power Management (CPU)

### 5.1 Verificar Gestión de Energía

Abrir **Acerca de este Mac** → **Reporte del Sistema** → **Energía**

**Estado correcto**:
```
Estado de alimentación: alimentado por CA
Batería: No hay batería
```

### 5.2 Generar SSDT-PM

**Opción A: Usar SSDTTime**

1. **Descargar SSDTTime** desde [GitHub](https://github.com/corpnewt/SSDTTime)
2. **Ejecutar**: `./SSDTTime.sh`
3. **Seleccionar**: "1" (Basic Mode)
4. **Seleccionar**: "1" (PM)
5. **Copiar** SSDT-PM.aml a EFI/OC/ACPI/

**Opción B: Usar GenPMC**

```bash
./gen-pmc.sh
```

### 5.3 Habilitar XNU PM (Power Management)

```xml
<!-- En config.plist → Kernel → Emulate -->
<key>Emulate</key>
<dict>
    <key>Cpuid1Data</key>
    <data>NxcB/V/QwMA=</data>
    <key>Cpuid1Mask</key>
    <data>////</data>
    <key>DummyPowerManagement</key>
    <false/>  <!-- TRUE para deshabilitar PM, FALSE para habilitar -->
</dict>
```

### 5.4 Verificar Speed Step

```bash
# En Terminal
sudo powermetrics --samplers cpu_power -i 1000

# Verificar que las frecuencias cambien
```

---

## 🌡️ Paso 6: Monitoreo de Temperaturas

### 6.1 Instalar Stats (o similar)

1. **Descargar Stats** desde [GitHub](https://github.com/exelban/stats)
2. **Configurar** para mostrar:
   - Temperatura CPU
   - Uso de CPU
   - Velocidad de ventiladores
   - Uso de RAM

### 6.2 Verificar Temperaturas Normales

| Componente | Rango Normal |
|------------|--------------|
| CPU (idle) | 30-45°C |
| CPU (load) | 60-85°C |
| GPU (idle) | 35-50°C |
| GPU (load) | 70-85°C |

---

## 🖥️ Paso 7: Configurar GPU AMD RX 6800 XT

### 7.1 Verificar Aceleración Gráfica

```bash
# En Terminal
kextstat | grep AMD

# Debería mostrar:
# com.apple.driver.AMDRadeonX6000
# com.apple.driver.AMDRadeonX6000MTL
```

### 7.2 Verificar Metal

```bash
# En Terminal
metalinfo

# Debería mostrar:
# AMD Radeon RX 6800 XT
# Metal Support: YES
```

### 7.3 Habilitar Resizeable BAR (si lo deseas)

**NOTA**: Generalmente **DISABLED** en BIOS para estabilidad.

Si deseas habilitarlo:
1. Habilitar en BIOS: "Resize BAR" o "SAM"
2. Agregar a config.plist:
```xml
<key>DeviceProperties</key>
<dict>
    <key>Add</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>force-online</key>
            <data>AQAAAA==</data>
        </dict>
    </dict>
</dict>
```

---

## 🔧 Paso 8: Optimizaciones Adicionales

### 8.1 Habilitar Hibernación (opcional)

```bash
# En Terminal
sudo pmset hibernatemode 25
sudo pmset standby 1
sudo pmset standbydelay 10800
sudo pmset autopoweroff 1
```

### 8.2 Deshabilitar Hibernación (para ahorrar espacio)

```bash
sudo pmset hibernatemode 0
sudo rm -rf /var/vm/sleepimage
```

### 8.3 Configurar Sleep/Wake

```bash
# Deshabilitar sleep al cerrar tap (laptops)
sudo pmset -a disablesleep 1

# Habilitar wake on LAN
sudo pmset -a womp 1
```

---

## 🧪 Paso 9: Verificar Estabilidad

### 9.1 Test de Estrés

**Usar Geekbench 6**:
1. Descargar desde [geekbench.com](https://www.geekbench.com/)
2. Ejecutar **CPU Benchmark**
3. Ejecutar **Compute Benchmark** (OpenCL/Metal)

**Puntuaciones esperadas** (i7-13700K):
```
Single Core: ~2200-2600
Multi Core: ~18000-22000
OpenCL: ~200000-250000 (RX 6800 XT)
```

### 9.2 Test de Memoria

```bash
# Memtest (opcional)
memtest /Volumes/Macintosh\ HD
```

### 9.3 Test de Red

```bash
# Ping test
ping -c 100 google.com

# Velocidad de descarga
curl -o /dev/null http://speedtest.tele2.net/100MB.zip
```

---

## 📱 Paso 10: Apps Recomendadas

### Utilidades

| App | Propósito |
|-----|-----------|
| **Stats** | Monitoreo de sistema |
| **Hackintool** | Configuración hardware |
| **ProperTree** | Editar config.plist |
| **OCAuxiliaryTools** | Editar config.plist |
| **KextsViewer** | Ver kexts cargados |
| **Haciend** | Consola OpenCore (en EFI) |
| **BetterDisplay** | Gestión de monitores |
| **MonitorControl** | Control de brillo DDC |

### Apps de Producto

| App | Propósito |
|-----|-----------|
| **Rectangle** | Gestión de ventanas |
| **AltTab** | Alt-Tab estilo Windows |
| **iStat Menus** | Monitoreo avanzado |
| **Carbon Copy Cloner** | Backups |
| **Time Machine** | Backups nativo |

---

## 🔄 Paso 11: Actualizaciones de macOS

### 11.1 Preparación para Actualizaciones

**Antes de actualizar**:

1. **Actualizar OpenCore** a última versión
2. **Actualizar Kexts** (Lilu, WhateverGreen, etc.)
3. **Hacer backup** con Time Machine
4. **Verificar compatibilidad** de la versión nueva

### 11.2 Proceso de Actualización

```bash
# 1. Actualizar desde App Store
# 2. El sistema se reiniciará
# 3. Arrancar desde EFI del disco (no USB)
# 4. La actualización continuará
```

### 11.3 Si la actualización falla

1. **Arrancar en modo verbose**:
   - En OpenCore Picker, presionar **Espacio**
   - Seleccionar las opciones del volumen
   - Agregar boot-arg: `-v`

2. **Ver logs** para identificar el problema

3. **Actualizar kexts** si es necesario

---

## 📋 Checklist Post-Instalación Completado

### Hardware

- [ ] Audio funcionando (AppleALC con layout-id correcto)
- [ ] Wi-Fi funcionando (AirportItlwm o itlwm)
- [ ] Bluetooth funcionando (IntelBluetoothFirmware)
- [ ] Ethernet funcionando (AppleIGC)
- [ ] Gráficos AMD RX 6800 XT con aceleración
- [ ] Power Management configurado
- [ ] Temperaturas normales

### Software

- [ ] EFI copiado al disco
- [ ] Arranca sin USB
- [ ] Hackintool instalado
- [ ] Stats instalado
- [ ] Time Machine configurado (opcional)

### Estabilidad

- [ ] Geekbench ejecutado
- [ ] No hay kernel panics aleatorios
- [ ] Sleep/Wake funciona correctamente
- [ ] Todas las apps funcionan

---

## 🎯 Mantenimiento

### Mensual

1. **Actualizar kexts** si hay nuevas versiones
2. **Actualizar OpenCore** si hay nueva versión
3. **Verificar temperatures**
4. **Hacer backup** con Time Machine

### Trimestral

1. **Actualizar macOS** a última versión menor
2. **Revisar config.plist** para optimizaciones
3. **Limpiar archivos temporales**

---

## 🆘 Recursos Adicionales

### Documentación

- [Dortania OpenCore Post-Install Guide](https://dortania.github.io/OpenCore-Post-Install/)
- [Dortania Troubleshooting](https://dortania.github.io/Troubleshooting/)
- [r/hackintosh Subreddit](https://www.reddit.com/r/hackintosh/)

### Comunidades

- [TonyMacx86 Forums](https://www.tonymacx86.com/)
- [InsanelyMac Forums](https://www.insanelymac.com/)
- [Dortania Discord](https://discord.gg/AbTrsBq)

---

## 🎉 ¡Felicitaciones!

Tu Hackintosh está completamente configurado y listo para usar.

**Acerca de este Mac** debería mostrar:

```
macOS Sequoia 15.x
 procesador: 3,4 GHz Intel Core i7-13700K (16 cores)
 Memoria: 32 GB 6400 MHz DDR5
 Gráficos: AMD Radeon RX 6800 XT 16 GB
 Serie: XXXXXXXXXX
```

---

**Gracias por seguir esta guía. ¡Disfruta tu Hackintosh! 🍎**
