Solução de problemas
Problemas comuns e como resolvê-los
Problemas de boot
Tela preta, apenas o splash
Overlay de painel errado ou ausente. A imagem não traz nenhum, então um cartão gravado sem overlay dá boot com a descrição de painel que vem no device tree base, e ela só serve para algumas placas.
Solução: gere o mipi-panel.dtbo no Gerador de Overlays a partir do .dtb do cartão original do seu próprio console e copie o arquivo para overlays/mipi-panel.dtbo na partição ARCHR. O Flasher faz essa cópia por você, durante a gravação ou depois, pela aba Overlay.
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/configs/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
O painel está ligado em BGR onde o overlay descreve RGB, ou o contrário. Gere o overlay de novo a partir do .dtb original do seu próprio console, porque é esse arquivo que carrega a ordem de cor real da placa que você tem na mão. Um .dtb emprestado de outro aparelho é a causa mais comum.
"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.
A página do gerador de overlays nunca termina de carregar
O Gerador de Overlays do site baixa um runtime Python em WebAssembly de cerca de 8,6 MB antes de conseguir rodar. Em conexões lentas ou filtradas esse download pode nunca terminar, e a página fica pedindo para recarregar.
Use a edição offline no lugar: archr-dtbo-offline.zip, cerca de 100 KB, o mesmo gerador, exigindo só Python 3.5 ou mais novo e nenhuma rede. Descompacte, abra um terminal na pasta e rode:
python3 archr_dtbo.py rk3326-r36s-linux.dtb SDORIG -o mipi-panel.dtboNo Windows o comando é python em vez de python3. As strings de opção são SDORIG (R36S Original), SDCLONE (R36S Clone) e SDORIG-NAm (R36S Soysauce), com flags extras anexadas por hífen, por exemplo SDCLONE-LSi. Copie o arquivo resultante para a partição ARCHR como overlays/mipi-panel.dtbo, que é exatamente a pasta e o nome de arquivo que o extlinux.conf já aponta.
As instruções completas, incluindo a solução para No module named 'fdt' e anti-gap: base not available, estão em Instalação.
Á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
O script de bench não vem instalado na imagem. Copie o tools/bench.sh da árvore de código do Arch-R para o console e rode a partir de onde você o colocou:
bash 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
Os save-states ficam em /storage/roms/savestates/<sistema>/ e os saves de bateria (.srm, .sav) ficam junto da própria ROM, porque o RetroArch roda com savefiles_in_content_dir ligado. Os dois estão dentro de /storage/roms, que sobrevive a uma regravação. Se o cartão inteiro foi reescrito, eles se foram. Faça backup na próxima vez:
scp -r root@archr.local:/storage/roms/savestates ~/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:
cat /etc/resolv.conf # existe algum nameserver
iwctl station wlan0 show # estado do link, IP, gateway
wifictl reconnect # derruba e refaz a conexão salvaO connman é compilado com --disable-wifi, então o connmanctl não enxerga nem gerencia rede sem fio no ArchR. O WiFi fica a cargo do iwd, através do wifictl e do iwctl. O wifictl aceita enable, disable, connect, disconnect, reconnect, list, scan e channels.
PortMaster
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. Overlay de painel ──── de qual .dtb você gerou o overlay
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.