ARCH R

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:

  1. Instabilidade de CPU em turbo (somente com Enable CPU Overclock ligado, muito raro). Desligue, remova o SD, edite /storage/.config/system.cfg em um PC e defina enable.turbo-mode=0.
  2. fs-resize travou no primeiro boot. Capture cat /storage/.boot_last_hang depois do boot bem-sucedido seguinte. Esse arquivo nomeia o script que parou.
  3. 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 -f

Ou 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 -200 do boot pós-recuperação
  • A saída de cat /flash/fs-resize.log se 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:

  1. CPU governor: deve ser performance durante o gameplay. Verifique: cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor.
  2. GPU governor: deve ser performance. cat /sys/class/devfreq/ff400000.gpu/governor.
  3. CPU max freq: cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq. Sem overclock = 1416000, com overclock = 1512000.
  4. Serviços em background: systemctl is-active syncthing tailscaled zerotier-one simple-http-server. Todos devem estar inactive durante um jogo (são pausados automaticamente pelo runemu.sh).
  5. 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 segundos

Resultados 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 reboot

Save-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 archr

WiFi conecta mas não tem internet

Problema de DNS. Tente:

sudo systemctl restart connman
sudo connmanctl scan wifi
sudo connmanctl services

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

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

On this page