libretro / libretro/RetroArch

[META] List of Issues and Inconsistencies with RetroArch

Open
#10,710 20 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

user interface
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

I've been compiling a list of issues that I've discovered with RetroArch as I've been cleaning up the US translation. Some of these are very minor and should be fixed by the work I'm doing with the translation, but there are many other "nitpicks" that I've noticed that are outside of that scope, some of these probably deserve their own issues. I expect this list to grow as I continue working my way through the UI.

I welcome any discussion or suggestions on this list.

General Issues/Suggestions
  • Duplicate settings are found in different menus
  • Only menu items that open a sub-menu should have an icon, regular settings should just be text, this would cut down on the number of assets needed, as well as be a visual indicator to the user that a menu item contains more settings
  • Menu items that open a sub-menu should be placed at the top of their respective settings page
  • The existence of Show Advanced Settings seems like an admission of there being a problem with how things are organized and explained, if the UI was improved then this setting would no longer be needed
  • Most menu items lack a detailed description (the pop-up opened when pressing SHIFT) or simply contain the exact same text as the sub-label
  • Many menu items have sub-labels that essentially restate what the label already says, not only is this unhelpful, but it makes less menu items visible on the screen at once
  • Selecting Parent Directory when there is no parent directory will cause RetroArch to require going back as many times as you tried it in order to return to the previous menu
  • The wrong data type is used for many settings, such as Settings > Audio > Volume Gain (dB), it uses a float even though only integer values are possible
  • Remove all "technical" wording from settings, for example, instead of "null" being an option, it should say "Disabled" or something similar
Incorrect Data Types/Formatting:
  • Settings > Video > Windowed Mode
    • Windowed Scale should be an integer
    • Window Opacity should be a percentage
  • Settings > Audio
    • Volume Gain (dB) should be an integer
    • Mixer Volume Gain (dB) should be an integer
  • Settings > Input
    • Input Button Threshold should only go to 2 decimal places
Specific Issues
  • (Ozone) The header and footer are different sizes
  • (Ozone) Font sizes vary in the header and footer (the clock font is larger than the button hints)
  • There is no Show/Hide setting for Accessibility
  • There is no Show/Hide setting for File Browser
  • Settings > User Interface > Views is a confusing word choice, a more accurate/descriptive title should be chosen
  • The Start Screen is useless, it should be removed, along with Settings > User Interface > Display Start Screen, an alternative solution is discussed here: #10513
  • Main Menu > Online Updater
    • Content section should use the same icon as Load Content
  • Main Menu > Information > System Information
    • Controller port doesn't match input settings (-1) and uses a "#" symbol
  • Main Menu > Help
    • Only contains one item, which is not very helpful, this either needs removed or greatly expanded upon
  • Netplay > Host > Stop Netplay Host
    • Unable to stop netplay host if content isn't loaded, the setting gets stuck in this state
  • Settings > Video > CRT SwitchRes
    • Use Custom Refresh Rate allows the use of a custom setting in the configuration file, why is this not configurable from within RetroArch?
  • Settings > Video > Output
    • Screen Orientation forces a display mode change just by selecting it, without making any changes
  • Settings > Video > Scaling
    • Integer Scale refers to 'Force Aspect Ratio', a setting that doesn't exist
  • Settings > Video > Windowed Mode
    • Window Opacity doesn't just affect Windowed Mode
    • Remember Window Position and Size only works on Windows, at least the "remember position" aspect of it
    • Window Width has no indication that it relies on Remember Window Position and Size to function
    • Window Height has no indication that it relies on Remember Window Position and Size to function
  • Settings > Input > Hotkeys
    • There is an option to move to the next overlay, but not the previous
  • Settings > Input > Port # Controls
    • All entries after Mouse Index are slightly further to the right (probably by a single SPACE)
  • Settings > On-Screen Display > On-Screen Notifications
    • Display Statistics doesn't do anything
    • None of the notification settings have any effect when Graphics Widgets is enabled
  • Settings > User Interface
    • UI Companion and UI Companion Start On Boot don't seem to do anything
  • Settings > Power Management
    • Should only appear if the device is battery powered
  • Settings > Achievements > Hardcore Mode
    • Spams duplicate notifications
  • Settings > Playlists > Playlist Management > History
    • There is an option to Delete Playlist even though it is not possible to do so
Feature Requests
  • (Ozone) The selection rectangle should follow the mouse cursor on the sidebar (but not enter that menu until it is selected)
  • (Ozone) Settings that depend on another setting to be visible should be indented
  • Setting to show the number of items in a playlist
  • Label Display Mode should have an option to keep revision and version information to avoid multiple playlist entries having identical names
  • The Core Updater menu should move each system/core type into its own sub-menu, as libretro adds more cores the list just gets longer and more difficult to navigate
  • Cores should provide information about when they were last updated or synced with upstream
  • Cores should provide a link to the upstream website or source code
  • Cores should state their purpose, for example, the average user will not understand why there are so many versions of Snes9X

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 reviewing the listed RetroArch menu paths, including Settings > Video, Input, User Interface, On-Screen Display, and the Ozone interface, then separate one concrete problem into its own issue. Done should be defined per item with a specific behavior or UI change and a focused validation path; this meta issue is too broad to implement as a single contribution.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.