Bluetooth
Pareie dispositivos de áudio e gamepads
O ArchR distribui BlueZ + backend bluetooth do PipeWire. Sem bluealsa: o roteamento de codec acontece pelo PipeWire, o que dá uma integração mais limpa mas significa que alguns dispositivos peculiares se comportam de forma diferente do que docs mais antigas sugerem.
Parear um headset de áudio
Habilite o Bluetooth
ES → System Settings → Controller & Bluetooth Settings → Enable Bluetooth → ON.
Coloque o headset em modo de pareamento
Consulte o manual do headset, normalmente é segurar o botão de power até o LED piscar rapidamente.
Pareie pelo dispositivo
No mesmo menu → Pair a Bluetooth Device. Espere o nome do headset aparecer e selecione-o.
Direcione o áudio
Uma vez pareado, ES → System Settings → Audio Device → escolha o dispositivo BT na lista. O ES reinicia; a saída agora vai pelo Bluetooth.
Parear um gamepad
Mesmo menu, Pair a Bluetooth Device, coloque o gamepad em modo de pareamento (varia: a maioria dos gamepads Xbox/8BitDo tem um botãozinho de pareamento embaixo ou ao lado da porta USB).
Após o pareamento, o ES detecta o gamepad automaticamente e te pede para mapear os botões. O mapeamento é salvo por dispositivo em /storage/.config/SDL2/gamecontrollerdb.txt.
Ressalvas no RK3326
O chip WiFi/BT do RK3326 está em uma única antena compartilhada. Implicações no mundo real:
- Alcance é de ~3 m: fones Bluetooth do outro lado do quarto vão gaguejar.
- WiFi compete com BT pelo airtime: uso pesado de rede durante o gameplay pode causar chiado no áudio. Pause Syncthing/Tailscale/ZeroTier durante o jogo (o ArchR faz isso automaticamente via
pause_background_servicesnorunemu.sh). - Latência A2DP é ~150 ms. Tudo bem para música, perceptível em jogos rápidos. O ArchR não tem hardware aptX-LL.
Seleção de codec
O PipeWire escolhe o melhor codec que seu headset anuncia (LDAC > aptX > AAC > SBC). Force um codec mais baixo se tiver drops:
# inspecionar codec atual
pactl list sinks | grep -A 1 "Active Port"
# forçar SBC (universal, banda mais baixa)
pactl set-sink-port bluez_sink.<MAC>.a2dp-sink "speaker-output-sbc"Para LDAC em bitrates mais altos a carga de CPU do A35 não é desprezível. Os perfis mobile (330 kbps) e standard (660 kbps) funcionam; high (990 kbps) em cima de um emulador é o bastante para causar chiado.
Desconecte de forma limpa
Sempre desligue o BT no ES (ou despareie) antes de desligar. Cold-disconnect (apenas desligar o headset) às vezes deixa o PipeWire segurando um sink velho, o que significa nenhum áudio até reiniciar.
Se acontecer, via SSH:
systemctl --user restart pipewire pipewire-pulse wireplumberProblemas conhecidos
- Core PCSX-ReARMed: silencioso sob áudio Bluetooth por razões desconhecidas (herança do upstream). Contorno: use o core libretro
pcsx_rearmed32ouswanstation, ou o DuckStation standalone. - Reconnect-on-resume: depois de um fake-suspend wake-up (quando o RK3326 suportar isso algum dia), o BT pode não reconectar. Reconexão manual no menu Bluetooth.