Solução de problemas
Problemas comuns e como resolvê-los
Problemas de boot
Tela preta, apenas o splash
Panel overlay errado. Causa mais comum quando se grava pela primeira vez um clone com uma revisão recente de placa-mãe.
Solução: regrave com o Flasher e escolha no dropdown de painel a revisão exata impressa na silkscreen da placa-mãe.
Boot loops, nunca chega no ES
Três possibilidades, em ordem de probabilidade:
- Instabilidade de CPU em turbo (somente com Enable CPU Overclock ligado, muito raro). Desligue, remova o SD, edite
/storage/.config/system.cfgem um PC e definaenable.turbo-mode=0. - fs-resize travou no primeiro boot. Capture
cat /storage/.boot_last_hangdepois do boot bem-sucedido seguinte. Esse arquivo nomeia o script que parou. - Variante de imagem errada (original em um clone ou vice-versa). Regrave com a variante correta.
Boot chega no ES mas congela ali
Pare o ES e veja o que está segurando:
sudo systemctl stop emustation
sudo journalctl -t archr-autostart -fOu leia o log de boot (/var/log/boot.log, note que o journald é volátil, então os logs do boot anterior são perdidos). Reinicie o ES com sudo systemctl start emustation depois de identificar o problema.
"Boot anterior travou em <script>"
O mecanismo de trace pegou uma trava no boot anterior. O script nomeado é o culpado. Abra uma issue com:
- O nome do script em
/storage/.boot_last_hang dmesg | tail -200do boot pós-recuperação- A saída de
cat /flash/fs-resize.logse aplicável
Display
Cores parecem erradas / invertidas
Swap BGR vs RGB no painel. Acontece em algumas variantes clone em que a silkscreen veio com o rótulo de revisão errado. Regrave com a próxima revisão numericamente similar.
"Tearing" da tela em alguns emuladores
video_threaded vem ligado por padrão. Para jogos sensíveis a tearing, no RetroArch Quick Menu → Settings → Video → Output → Vertical Sync = ON.
O brilho tem menos passos do que eu gostaria
O ArchR usa 3% por passo (33 níveis distintos). Se precisar de controle mais fino, edite /storage/.config/profile.d/099-freqfunctions e ajuste o passo de brilho.
Áudio
Sem som nenhum
amixer get 'Playback Path' # deve ser SPK ou HP
amixer get DAC # deve ser > 0
cat /sys/class/extcon/*/state # detecção de HP (1 = conectado)Se o Playback Path estiver errado, force: amixer set 'Playback Path' SPK.
Estalo de áudio no Mario 64 / jogos 3D pesados
Se você está ouvindo estalo junto com unbalanced disables for vdd_logic no dmesg, está em um build pré-v8. Atualize para o release mais recente. O patch de PM no mali_kbase elimina isso.
Se continuar acontecendo no mais recente: abra uma issue com dmesg | grep -iE 'vdd_logic|clk_gpu|mali' e o nome do jogo.
Áudio Bluetooth picotando
A latência do A2DP é sensível ao codec BT. Force SBC + low-quality se o seu dispositivo suporta apenas perfis básicos:
pactl set-sink-port bluez_sink.<MAC>.a2dp-sink "speaker-output"No menu Bluetooth do ES, o toggle "Force SBC" faz o mesmo.
Performance
O jogo roda mais lento do que o esperado
Em ordem:
- CPU governor: deve ser
performancedurante o gameplay. Verifique:cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor. - GPU governor: deve ser
performance.cat /sys/class/devfreq/ff400000.gpu/governor. - CPU max freq:
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq. Sem overclock = 1416000, com overclock = 1512000. - Serviços em background:
systemctl is-active syncthing tailscaled zerotier-one simple-http-server. Todos devem estarinactivedurante um jogo (são pausados automaticamente pelorunemu.sh). - Throttling térmico:
cat /sys/class/thermal/thermal_zone0/temp(unidade: m°C). Acima de 70 000 (70 °C) dispara throttle passivo. Dê uma pausa, deixe esfriar.
Rode o bench
Para diagnósticos reproduzíveis:
bash /flash/bench.sh psp 60 # tag do cenário, duração em segundosResultados em /storage/bench-results/<timestamp>-psp/: summary.json tem agregados estilo p99, psi.log tem stalls de pressão por segundo, freq-therm.log tem a trajetória de frequência.
Storage / ROMs
Algumas ROMs não aparecem depois que copiei
O ES só faz rescan no boot. Menu do ES → Game Settings → Rescan ROMs → aguarde → as ROMs aparecem.
"Disk full" mas meu SD é enorme
Verifique se a partição foi redimensionada: df -h /storage. Deve mostrar ~95% da capacidade do SD. Se não, o fs-resize não rodou. O arquivo marcador /storage/.please_resize_me dispara o resize no próximo boot:
sudo touch /storage/.please_resize_me
sudo rebootSave-states sumiram depois de regravar
Eles ficam em /storage/saves/. Se você regravou e a partição foi apagada (o Flasher sempre apaga), eles se foram. Faça backup na próxima vez:
scp -r root@archr.local:/storage/saves ~/r36s-saves-backup/SSH / rede
Não conecta: "connection refused"
O SSH vem desligado por padrão. ES → System Settings → Network → Enable SSH → ON.
"archr.local" não resolve
Problema com Avahi/mDNS. Use o IP (visível em ES → System Information). Ou:
# de um Linux/macOS
avahi-browse -art | grep archrWiFi conecta mas não tem internet
Problema de DNS. Tente:
sudo systemctl restart connman
sudo connmanctl scan wifi
sudo connmanctl servicesPortMaster
Port trava em tela preta
Provavelmente as permissões de /dev/uinput estão erradas. ls -la /dev/uinput deve mostrar crw-rw-rw- (modo 666). Se não estiver, a regra udev não aplicou. Por ora, sudo chmod 666 /dev/uinput e reporte o bug.
"Permission denied" rodando gptokeyb
Mesma coisa: permissões do uinput.
box86: assertion failure
O port foi construído contra um libstdc++ mais novo do que o ArchR entrega. Aguarde uma atualização (o PortMaster costuma corrigir em poucos dias) ou reporte no Discord do PortMaster.
A GUI do PortMaster em si não inicia
ssh root@archr.local
bash /usr/bin/start_portmaster.shLeia o trace. O script é idempotente (rodar de novo é seguro).
Como abrir um bom relato de bug
1. Hardware ──── R36S V21 / K36 / RX6S etc.
2. Versão do ArchR ──── em ES System Information, ou `cat /etc/os-release`
3. Variante da imagem ──── original | clone
4. Painel selecionado ──── revisão de placa-mãe impressa na silkscreen
5. O que você tentou ──── passos exatos para reproduzir
6. O que aconteceu ──── observado vs esperado
7. Logs:
/var/log/boot.log
dmesg | tail -200
/storage/.boot_last_hang (só existe se o boot anterior travou)
/flash/fs-resize.log (se relacionado ao primeiro boot)Abra em github.com/archr-linux/Arch-R/issues.
Para PortMaster especificamente: github.com/PortsMaster/PortMaster-GUI/issues.