RetroArch Fails to load BIOS files
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
RetroArch seems to have a bug where it's not using the directory where BIOS files are located when loading games, and automatically defaults to HLE, which then games are unable to run. I have the respective BIOS files within ~/.config/retroarch/bios directory, I have the correct BIOS files for the game that requires them but I get the following message in the logfile.
[Environ]: GET_VARIABLE: pcsx_rearmed_bios = "auto"
[Environ]: SYSTEM_DIRECTORY: "/home/user/.config/retroarch/bios".
No BIOS files found.
[Environ]: SET_MESSAGE_EXT: No PlayStation BIOS file found - add for better compatibility
The game that I'm trying to run is Policenauts Disc 1 (English Patched v1.0), and the required BIOS files associated for the game are as follows;
(!) Present, Optional: scph5500.bin (PS1 JP BIOS)
(!) Present, Optional: scph5501.bin (PS1 US BIOS)
(!) Present, Optional: scph5502.bin (PS1 EU BIOS)
(!) scph5500.bin (md5): 8dd7d5296a650fac7319bce665a6a53c
(!) scph5501.bin (md5): 490f666e1afb15b7362b406ed1cea246
(!) scph5502.bin (md5): 32736f17079d0b2b7024407c39bd3050
The BIOS firmware files are present in the directory and have the correct MD5 hash value to them, but for some reason RetroArch isn't loading the respective BIOS file for the game that exists within the directory. But upon loading the game it gives the above mentioned error, claiming that No BIOS files found when they indeed exist in the directory its looking at. If I look at the details on the Desktop Menu for RetroArch it clearly shows and says in green (!) Present on the BIOS files it needs. So I don't get why it says it exists there, but the also claim it doesn't exist.
Expected behavior
RetroArch should see in the configured system directory for BIOS file exists and then proceed to boot the game as normal.
Actual behavior
RetroArch says it sees the files, but pretends they don't exist.
I did a test that if I dump the BIOS files it needs into the same directory as the game is in, it then proceeds to boot up the game just fine with no issue. WHY is it that when the files clearly exists in the configured BIOS directory goes completely ignored, while saying the files do exist, but also doesn't exist, but will work if I dump them into the game directory it's booting up? This makes no sense at all.
Steps to reproduce the bug
- Load up a game like I mentioned, Policenauts Disc 1 (English Patched v1.0) with PCSX-ReARMed
- Ensure you have the correct mentioned BIOS Firmware files in the RetroArch System/BIOS directory
- Find that the game will not boot when files are present.
Bisect Results
It's just all as previously described, boot up a game, making sure you have correct BIOS firmware files, and it will not boot, but will boot if the files exist in the same directory as the game.
Version/Commit
RetroArch 1.11.1
Git Version: 389ef31a8f
Build Date: Oct 5 2022
Environment information
- OS: 5.15.72-1-MANJARO
- Compiler: n/a
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 by reproducing the issue with Policenauts Disc 1 and the PCSX-ReARMed core, using the logged SYSTEM_DIRECTORY path and BIOS lookup behavior. Compare loading from the configured RetroArch BIOS directory with loading from the game directory. Done means the correctly hashed BIOS files in the configured directory are found and the game boots without the missing-BIOS message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100