libretro / libretro/RetroArch

Configuration File Issues with Steam Installation on Windows and Linux

Open
#13,199 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

configs platform: linux platform: windows
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

After initially installing the Steam version of RetroArch on a Windows 10 system, then installing it on a Linux system, I was unable to import ROMs and the information for Cores was not loading correctly. After much troubleshooting, I found this was due to the configuration file being shared via Steam Cloud and the very different file/folder structures between Windows and Linux contained within retroarch.cfg.

Once I knew the cause, the solution was fairly straightforward (resetting the configuration file), however I suspect there may be a large number of uses affected once Steam Deck is released.

Expected behavior

I would expect a new Steam installation to work on any supported OS.

Actual behavior

The configuration file, if originally generated on Windows, would transfer via Steam Cloud to a new installation on Linux and prevent RetroArch from working properly. Cores could install via Steam, but the info was not available to RetroArch (it was pointing to a info folder which the Cores did not install to). Initially ROMs would not play or extract at all because the cache folder was pointing to a Windows file location on C:. With that fixed, ROMs would still not import until retroarch.cfg was reset.

Steps to reproduce the bug
  1. Have no Steam Cloud data for RetroArch
  2. Install RetroArch via Steam on a Windows system, run it, import ROMs, etc.
  3. Install RetroArch via Steam on a Linux system, attempt to import ROMs fails
Bisect Results

After using Windows for Steam over the past few years I did a fresh install of Ubuntu 20.04 LTS in order to use Proton in preparation for Steam Deck. I had installed RetroArch on Windows and used it successfully. As soon as I installed it via Steam on Linux, nothing worked correctly. After much troubleshooting, I found that the cache directory was set up as a Windows folder location. I attempted to correct every issue I saw, but ended up using RetroArch to reset the configuration file.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: e2b7c23902
Environment information
  • OS: Ubuntu 20.04 LTS
  • Compiler: N/A, installed via Steam
  • Steam: 1634158817

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining how RetroArch generates and loads retroarch.cfg for Steam installations on Windows and Linux, including which paths are persisted through Steam Cloud. Reproduce the Windows-to-Linux transfer described in the issue and verify that cores, info files, cache paths, and ROM importing work correctly without resetting the configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop-dev, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.