# LOG COMPLETO DA RESOLUÇÃO: ACER NITRO 5 (AMD+NVIDIA) - MONITOR EXTERNO E TECLADO
Este arquivo contém o histórico completo de comandos e modificações realizadas entre as 18:55 e 23:55 do dia 26/01/2026 para resolver o problema de monitor externo e travamento de sistema no Acer Nitro 5.
-–
## 1. DIAGNÓSTICO INICIAL
Identificamos um conflito triplo:
- **Xorg** entrava em crash (Login Loop).
- **Driver NVIDIA (590-open)** instável para este hardware.
- **EDID do monitor** não era lido pelo cabo HDMI (Monitor “Desconhecido” 1024x768).
-–
## 2. ETAPA 1: LIMPEZA E INSTALAÇÃO STABLE
Removemos o driver “Open” (Beta) e instalamos a versão proprietária estável.
```bash
# Remoção de drivers antigos e conflitantes
sudo apt-get purge -y nvidia*
sudo rm /etc/X11/xorg.conf # Removido arquivo estático que travava o monitor externo
# Instalação do Driver Proprietário Estável (580/550)
sudo apt-get install -y nvidia-driver-580 nvidia-settings nvidia-prime
sudo prime-select nvidia
```
-–
## 3. ETAPA 2: CORREÇÃO DO TRAVAMENTO DO TECLADO (IBT)
O teclado travava no login devido ao *Indirect Branch Tracking* do kernel novo com NVIDIA.
```bash
# Edição do arquivo /etc/default/grub
# Adicionado ‘ibt=off’ para destravar o teclado
sudo sed -i ‘s/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nvidia-drm.modeset=1 ibt=off”/’ /etc/default/grub
sudo update-grub
```
-–
## 4. ETAPA 3: FORÇANDO RESOLUÇÃO NO WAYLAND (EDID VIRTUAL)
Como o monitor HP ZR24w não era identificado, criamos um firmware de identidade para ele.
### A. Criação do arquivo EDID (Binário de Identidade)
Executamos via Python para gerar o dump hexadecimal correto do monitor HP:
```python
import os
block = [
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x22, 0xF0, 0x6C, 0x28, 0x01, 0x01, 0x01, 0x01,
0x05, 0x14, 0x01, 0x03, 0x80, 0x34, 0x20, 0x78, 0xEE, 0xEE, 0x91, 0xA3, 0x54, 0x4C, 0x99, 0x26,
0x0F, 0x50, 0x54, 0xA5, 0x6B, 0x80, 0xB3, 0x00, 0xA9, 0x40, 0x81, 0x80, 0x81, 0x40, 0x71, 0x4F,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x28, 0x3C, 0x80, 0xA0, 0x70, 0xB0, 0x23, 0x40, 0x30, 0x20,
0x36, 0x00, 0x06, 0x44, 0x21, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x3B, 0x3D, 0x1E,
0x45, 0x11, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x48,
0x50, 0x20, 0x5A, 0x52, 0x32, 0x34, 0x77, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFF,
0x00, 0x43, 0x4E, 0x57, 0x30, 0x32, 0x36, 0x30, 0x5A, 0x4C, 0x4D, 0x0A, 0x20, 0x20, 0x00, 0x00
]
checksum = (256 - (sum(block[:127]) % 256)) % 256
block[127] = checksum
with open(“hp_zr24w.bin”, “wb”) as f:
f.write(bytearray(block))
```
### B. Injeção no Firmware do Kernel
```bash
sudo mkdir -p /lib/firmware/edid
sudo mv hp_zr24w.bin /lib/firmware/edid/hp_zr24w.bin
# Atualiza a imagem de boot para incluir o arquivo antes do sistema subir
sudo update-initramfs -u
```
-–
## 5. ETAPA 4: CONFIGURAÇÃO FINAL DO GRUB
Ajustamos os parâmetros para que o Kernel ignore o sensor físico do HDMI e use o arquivo criado.
```bash
# Parâmetros cruciais:
# drm.edid_firmware → aponta para o arquivo de identidade criado
# video=HDMI-A-1:1920x1200D → força sinal digital na resolução correta
sudo sed -i ‘s/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nvidia-drm.modeset=1 ibt=off drm.edid_firmware=HDMI-A-1:edid\/hp_zr24w.bin video=HDMI-A-1:1920x1200D”/’ /etc/default/grub
sudo update-grub
```
-–
## 6. ARQUIVOS MODIFICADOS
- `/etc/default/grub`: Parâmetros de boot.
- `/etc/gdm3/custom.conf`: Reativado Wayland (comentado `#WaylandEnable=false`).
- `/lib/firmware/edid/hp_zr24w.bin`: Novo arquivo de identidade do monitor.
- `/etc/X11/xorg.conf.d/`: Limpo para evitar conflitos.
-–
## 7. RESULTADO FINAL
Monitor **HP ZR24w** detectado corretamente em **1920x1200 @ 60Hz** rodando em **Wayland** com Driver **NVIDIA 580** sem travamentos de teclado.