Default System Directory


I asked the question in another thread but maybe better to ask it in a specific thread.

I’ve installed RetroArch on Ubuntu 16.04. I want to give a try to PSX emulation.

I’ve searched on Internet where to place BIOS files and answer is in “system directory”.

However, when looking into ~/.config/retroarch/retroarch.cfg I see that system_directory = “default”.

My question is thus what is the default ? I tried to place my BIOS in ~/.config/retroarch but it does not work.

Any idea of what the default stands on Ubuntu 16.04 ?

Rem: I downloaded retroarch from the ppa.

“default” is nothing. configure you system path(like in .config/retroarch/system maybe)

OK, thanks ! Last question : if I create subfolders under my system folder like : .config ---- retroarch -------- system ------------ BIOS ---------------- psx (folder containing the BIOS bin’s) would retroarch (Mednafen HW) recursively look in all folder if I define .config/retroarch/system as my system directory ?

Not related but what’s the difference between mednafen and mednafen_hw ?

i think no. just put most bios in

1 Like

Confirming no. This is something I would like to see, just because the system directory can get to be quite messy with BIOS images for every core that supports them, and most of them are not named very descriptively.

The “default” setting looks for BIOS in the same directory as the content file, but many/most people like to have a separate directory that holds all of their BIOS images away from their games.

1 Like

Mmmh that’s what I thought. Hence I tried putting the BIOS bin’s (5500 and 5502) in my psx roms directory with no success (black screen).

Is there a way to check that BIOS file has correctly been taken into account ?

To check you can load a core, then go to: Information > Core Information Under Firmware, the required BIOSes are listed with:

(!) Present if the bios is the required/compatible one.

1 Like

I see that there are two retroarch.cfg files on my Ubuntu Zesty* system after install and first run (using the retroarch testing ppa).

One is ~/.config/retroarch/retroarch.cfg The other is /etc/retroarch.cfg (which is a mighty odd place to put a config file. not /etc, but to just put a config file at the /etc level is pretty strange)

I’m trying to get Retroarch to see my PSX BIOS files. So, I know that i need to set the system_directory variable to some path where my BIOS’s are kept.

Every time i try to do that in the ~/.config/retroarch/retroarch.cfg file, whatever I set it to gets set back to ‘default’ when i start Retroarch.

Alternatively, I’ve tried to set it in the other file, /etc/retroarch.cfg, but while what i put doesn’t get reset upon re-launching Retroarch, my BIOS files are not seen.

Any help would be appreciated! Really want to get this to work!

The one in /etc is just a skeleton config for reference. It’s not checked by RetroArch.

The one in ~/.config/retroarch is the one you need to modify, but you need to close RetroArch before you modify it or it will just revert when you close the program. That is, RetroArch loads the config into memory at launch and writes it back on exit, so if you change anything in the file while the program is open, it gets wiped out when you close by whatever’s in memory at the time.

You can either change it while the program is closed or do it through the menu via Settings > Directory.

Thanks for the quick response!

I was able to get Retroarch to find the BIOS’s by setting the directory via the Settings > Directory menu, but that isn’t persistent across quitting retroarch and relaunching it. It’s as if whatever configuration changes I make via the GUI are not being written to the config file.

I was exiting by pressing Esc, but to test I quit via the menu and similarly things were not saved.

I also noticed a peculiar behavior when i tried to save my config via Configurations > Save Current Configuration. Says ‘Failed saving config to “/path/to/config”’. Additionally, whenever I try to Load Configuration created by Save New Configuration, the game crashes :frowning:

The process and file are both owned by me so I’m really not sure why it would have issues writing to that file :\

If you have any config overrides loaded, it won’t save on exit anymore, so make sure you’re setting the system directory before you load anything.

Other than that, I guess you could try running it as root just this once to see if that treats you any better and/or get us a log in case there’s anything useful in there.

I didn’t realize i had config overrides loaded, but there must have been a wrinkle somewhere. I did a fresh install of Retroarch testing on another machine and there were no config save issues.

I rsync’d ~/.config/retroarch/* to the funky machine, and the error persisted.

I managed to get it working by rm’ing the ~/.config/retroarch directory and relaunching. Save issues gone!

Not the most elegant way of “fixing” the problem but at least things are saving like they’re supposed to.

Now to figure out why Retroarch isn’t adding PSX games properly…

Thanks for the help!

Awesome. Glad you got it going.

/etc/retroarch.cfg is checked by retroarch only in the FIRST launch. After you have a config at ~/.config/retroarch/retroarch.cfg, it’ll always look there

Hi all,

I installed RetroArch on Ubuntu 17.04 within the last week. I have a BIOS question relating to the Famicom Disk System BIOS disksys.rom - I have the correct file and have successfully used it on FCEUX loaded onto Windows. However, I am not sure how to correctly point FCEUmm to that file. I tried using the RetroArch UI to change the default directory to the folder on my desktop which contained the BIOS, but my attempt was unsuccessful to elicit the desired result.

Do I need to have a special path for the FCEUmm to identify the BIOS? I saw above people stating that the BIOS should be in directory contained within ./config/retroarch/system - is this correct? Do I need to place the disksys.rom BIOS file in the system folder?

From there, can I simply use the RetroArch UI to point the system directory to that folder, or do I need to perform some other manipulation?

Thank you for your help! RetroArch is such an amazing suite of programs!



If you don’t have a “system” folder in the above location create it.

With NO core loaded got to Settings->directory and set the path to the newly created system folder.

Save this setting by usin Home -> Quit

Open up again and check it saved

Now load the core up and check Home -> Information -> Core info

Your bios should be listed as present

Double check nothing is overriding the above settings in the configs folder for the core (if you have one)

Hi Thatman,

Thank you for your timely reply, I very much appreciate it.

I created the following directory:


Within that directory, I moved my file, DISKSYS.ROM.

I went into the retroarch.cfg file, and edited the system directory to be

system_directory = “~/.config/retroarch/system”

Furthermore, I went into usr/share/libretro/info and edited the file to

firmware0_desc = “DISKSYS.ROM…” (I was worried about capitalization - it did change it in the RetroArch UI)

firmware0_path = “~/.config/retroarch/system/DISKSYS.ROM”

However, when I load the FCEUmm core, I am still informed that I am missing the BIOS “DISKSYS.ROM”

I am not sure if the configs folder for the core is the .info file I edited, but it was the closest I could find.

Any further help to resolve this issue would be greatly appreciated.

Thank you for your time and efforts.


its disksys.rom (small caps) and placed into you configured system folder, you did configure the system folder’s location, right?

Hi wertz,

Hot dog! So I changed the file name to disksys.rom, corrected all the entries in the file to reflect that, and change the path in the .info to

firmware0_path = “~/.config/retroarch/system/”

and it WORKED!

Thank you wertz and Thatman84 for all your help! I am extremely happy this is working.

Have a great weekend.




There is no need to edit the .info files afaik. Those should be updated like the cores in Online Updater.

The files I mean are override files and would be located in

/retroarch/config/“nameofcore”/name of core.cfg