Driver rescan (Bluetooth, Network/WiFi)
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Is there an existing issue for this?
- This is a bug in RetroArch frontend
- I have searched the existing issues
Description
Bug Behavior
WiFi and Bluetooth lists are static upon initial population. If new devices or networks show up later to the OS for whatever reason, they are not seen in the list without restarting retroarch.
Context
If running retroarch as the only service on a minimal OS, such as on retroPi or any similar target based on the meta-retro yocto layer, the wifi/bluetooth drivers are the only way to configure network/bluetooth devices. If the desired network or bluetooth device is missed in the initial scan for whatever reason (poor signal, not yet powered on, etc.), the app or device would need to be restarted. Overall, this is a pretty poor experience.
From a scan of the code, my guess is that a native implementation would just modify this and [this]https://github.com/libretro/RetroArch/blob/master/menu/menu_displaylist.c#L7514) to always retry at an interval. I'm unclear if the menu item list needs to be cleared prior to population due to such a change.
I recognize that this could be considered a feature request, however I used the bug template for two reasons:
- The bug template proved more useful as a framework for writing
- For my use-case, at least the bluetooth feature is basically useless without a fix to this, which... seems like enough of a bug to me
A few notes about addressing this:
- I can't think of any reason this would need to be filtered behind a feature/configuration flag, but I'm open to other perspectives if for some reason someone disagrees.
- I'd be happy to write this, but would like some initial input/feedback.
Expected behavior
Wifi and bluetooth scan results update, showing newly visible networks/devices as they appear
Steps to reproduce the bug
- Launch retroarch (or power on device running retroarch as only target)
- Navigate to bluetooth menu
- Scan for bluetooth devices
- After scan completes, power on new bluetooth device
- Observe list of devices never updates to include new device
Version/Commit
1.18.0
Bisect Results
No response
Check in the nightly version
Yes, this is reproduced in the nightly build
Platform & operating system
Radxa NIO 12L: Yocto Linux
Affected Cores
No response
Environment information
- Distro: Yocto (scarthgap)
- kernel: v6.6.22 (Mediatek Fork)
- Platform: Radxa NIO 12L (Mediatek Genio 1200)
- Graphics: Panfrost + Mesa 24.0.7
Relevant log output
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in menu/menu_displaylist.c at the two scan-related locations linked in the issue, around lines 7449 and 7514, and trace how Bluetooth and WiFi results are populated. Reproduce the listed Bluetooth scenario, determine whether the menu list must be cleared before rescanning, and verify that newly visible devices and networks appear without restarting RetroArch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100