RetroArch on Raspberry Pi3B+ and Bluetooth audio device

How can I couple my USB speaker through this menu? Tried putting device’s name in “Audio Device” (4936 is the device’s name), but nothing happens.

I there ! First of all : happy to arrive with you all on this forum ! Then, specifically to you, unlucky retroarch user who can’t use your bluetooth audio device : you should know that, until one hour ago, I was struggeling with the same issue (to tell you the truth, it’s been a 72h struggling…) But the great news is just that we are too little-babies at knowing Linux, the solution is rather simple but I have to make a guess or two, before : you’re running Raspbian Buster on a PI4 ? In this case, your problem is PulseAudio being used in place of blue-alsa, as Bluez doesn’t support alsa anymore… So you have to check that pulse-module-bluetooth is installed (it’s a Linux package, installable through Apt)… when done, back to your terminal, just type pacmd list-cards… Well, I must confess : I don’t remember the package name pacmd comes with… But it should return something like : 1 card(s) available. index: 0 name: <bluez_card.94_23_6E_32_5D_2E> driver: <module-bluez5-device.c> owner module: 30 properties: device.description = “PSBTS31” device.string = “94:23:6E:32:5D:2E” device.api = “bluez” device.class = “sound” device.bus = “bluetooth” device.form_factor = “headset” bluez.path = “/org/bluez/hci0/dev_94_23_6E_32_5D_2E” bluez.class = “0x260404” bluez.alias = “PSBTS31” device.icon_name = “audio-headset-bluetooth” device.intended_roles = “phone” profiles: headset_head_unit: Unité centrale du casque (HSP/HFP) (priority 30, available: unknown) a2dp_sink: Lecture haute fidélité (A2DP Sink) (priority 40, available: unknown) off: Éteint (priority 0, available: yes) active profile: <a2dp_sink> sinks: bluez_sink.94_23_6E_32_5D_2E.a2dp_sink/#1: PSBTS31 sources: bluez_sink.94_23_6E_32_5D_2E.a2dp_sink.monitor/#1: Monitor of PSBTS31 ports: headset-output: Casque (priority 0, latency offset 0 usec, available: unknown) properties:

		headset-input: Casque (priority 0, latency offset 0 usec, available: unknown)

Ok, you noticed that I’ve got one only card… It’s on purpose, but nothing changes the fact that this parameter is the critical one : name: <bluez_card.94_23_6E_32_5D_2E>

Now you have the crucial last element, you can get to the level-end-big-boss : /home/pi/.config/retroarch/retroarch.cfg, the famous one and change two parameters :

  • audio_driver = "whatever, generally alsa" to audio_driver = "pulse"
  • audio_device = “whatever, generally nothing at all” to audio_device = “bluez_card.94_23_6E_32_5D_2E” (the parameter found with pacmd list-cards, minus it’s ‘brackets’) Have a test, drink a big glass of water and enjoy ! ^^ Oh ! By the way : I just discovered, writing this… Hum… tuto (not a real one, just a sketch)… that, after reboot (may it be a retroarch one or a Raspi one : I don’t have a clue), the ‘audio_device’ parameter may fall back to “”… Well don’t panic : After a test, I can tell that it’s no problem ! ^^

Hope it may help ! ^^