Acer Nitro 5 AN515-44 # [GUIA] Resumo da Solução: Monitor Externo no Acer Nitro 5

# 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.