Development Suggestions


[QUOTE=Radius;53423]First of all, the real fix is fixing the crashes, not masking the problem. Second, this is partly an API limitation. The API can’t differentiate reads and writes. I don’t say it’s a problem, it can be done, it’s just a bad practice.

No PS1 doesn’t do that. But libretro doesn’t have specializations depending on the platform. That’s a bad practice too (changing the API for every possible use case that pops up).[/QUOTE] No, the real fix is When my game saves, the emulator saves. Regardless of crashes, hangings, power losses, ANYTHING, if the game saves, and the saving process isn’t interrupted, it must keep the save, not lose it because, half an hour later the emulator crashed and the option wasn’t correctly set up!

Cutting straight to the chase, I’ve just thought of a even better solution, that doesn’t involve rewriting any piece of code, or behaviour… apart from a few menu settings:

On the current automatic backup interval of SRAM option, put a lower threshold than 10 seconds and warn that settings that low may be unsafe.

If I could set it to something, like, 1 second, or even half second, and If the description of the option said something like “Settings lower than 10 seconds might cause excessive wear of your storage media”, my trust issues with RetroArch would be over.

And I’ve tested the Nightly build, the new XMB has option descriptions, it’s just a matter of outputting it properly.

It’d work almost like it was real-time saving, so close, that I could even consider it was INDEED real time.

So… Instead of reworking the whole saving issue, can that automatic backup be lower than 10 seconds?


I’ll like if you guys could make each core have its own separate controller configuration instead of all cores sharing the Retropad. That would save me some headaches.


so we should make another API and another frontend… yeah not gonna happen.

I bet you don’t tell sony to change the PS4 apis so you can use them to your liking. Or XINPUT for that matter. Every platform has it’s conventions.


The core input remapping feature is designed to alleviate the issue anyway. You set up the retropad once and if you don’t like our default mappings, which are typically based on physical button locations when possible, you can move the buttons around on the retropad using the core input remapping.


little AutoConfig and Hardware Input Binding Bug from Windows Platform.

RetroArch’s Autoconfig function reading ‘Game Controller List’ from Windows,

but Each Input Users Auto Bind is same as Hardware Order.

My One’s are ‘Myaflash Wiimote PC Adapter’ Hardware recourgnize bind on 1,2,3,5’s one. and XBOne is Using 4’s one.

and if you’re reduce ‘Max Users’ Value from RetroArch, those chosable Hardware from list are also Reduced.

it’s quiet a strange works.

and if you’re leave ‘Max Users’ Value and manualy bind XBOne Con to ‘Input User 1’, keybinding is able but strangly it’s not working anywhere(In-Game, and RetroArch Menu)

these kind of 'the baisc premise as (Single Gamecon-Using First One in GameCon Hardware List) issue are quiet rare. some of Developers are not test on Multiful GameCon Hardware-Multiful Input API Environment. (one Fairly Tested and got Same Issue Windows App i See is Fromsoftware’s DarkSouls 2 and 3 on PC-Steam Version)

sorry about bad english.


Just an odd request I had, but would it be possible to have the OSD be able to have some sort of stopwatch function? I play games on Android, and some of the games I play I would love to track my times on, but I can’t find a convenient stopwatch app to use with Retroarch for accurate times.

Just having something like this with the option for mapping a button to pause and unpause the stopwatch (and having it stop automatically when in the Retroarch menu) would be cool IMO. It’s an odd thing to want, but I’m just throwing it out there.


It’s pretty hard to understand your english.

Anyway, most games don’t honour that preferred device settings. And yes the controllers follow the hardware order. It’s microsoft’s fault for not providing a decent method to reorder/reindex the gamepads.

You can use this to work around the problem

I also opened a bug regarding the max users problem

And this would all be fixed by implementin this:


I’d love to see the mouse input improved. There’s a feeling of smoothing and acceleration on the cursor in DeSmuMe and MAME, and sometimes the cursor gets “stuck” on one half of the screen (I’ve only seen this one in MAME, maybe it’s easier because the screens are bigger?). Not too important for MAME tbh since most games use a controller/fightstick anyway but it would be big for Des. Touch is basically for menu-ing only since it’s hard to control.

I’m also gonna bump n-to-n remapping or however it gets implemented. The UI might need to get reworked to avoid migraines, though. Dolphin’s input mapping screen is amazing, for instance, but it really needs the mouse. I don’t know if I need another MAME remapper in my life…

Oh and thanks for everything so far btw. Libretro is the future, I can feel it.


Thx, but my Controller is Wireless one(XBOne/XB360 Con) so those alternative solutions seems not works on me.

anyway, i send this feedback to Windows Feedback App.

My Windows Feedback Language Pool is not quiet big. so it’s gonna hard to accept my feedback or 1~2 years on they change it.

if you’re avaliable, how 'bout you send the Windows Feedback too? :sob:


I have an Xbox one elite pad and devreorder works just fine with it.


I don’t know if this is the right place to discuss this but…

Has there ever been talks about improving the libretro interface to support multiple emulator instances in the same process? It is a feature I currently need, and I am adding it locally to the cores I’m using.

There are two things that needs to happen, first a way to create and select multiple instances of the core, and then also to provide some state to the callbacks.

This requires adding new functions like void retro_set_environment_state(retro_environment_state_t) void retro_create_instance(); void retro_init_instance(void); void retro_run_instance(void*);



Something a bit annoying when going horizontally through playlists in XMB is that it halts for loading on the biggest ones (quite long on a big Mame one, forcing you to push the direction again).

It would be great to have an optimization there: perhaps limit the maximum number of loaded entries in a playlist until you move down or start a search?

Also a hotkey or default behaviour to go back to “main menu” (1st item on the left in XMB). While in GUI: L1+R1 or cancel+validate or anything.


Hi Guys,

i would love a menu driver like emulationstation. i read that some can make it and its not hard.

and also i woul like to see clear logo art. is this posible?


few Filter-settings for playlists would be nice (maybe country/language at least). Such Filters should be very usefull on arcade-cores with 10000+ Roms (option for show/hide clones, categorie selector) maybe managed internal by support more than one playlist per arcade-core - switchable by hotkey, quickmenu or something …


I would like to suggest the ability to bind core Controller button mappings the same as the general RetroArch mappings. This way you could just press the button you want to be use for the selected control. Would make things easier when setting up different physical controllers for different cores.


[Android] i found minor bug

if Content’s file name is Non English character like CJK(Chinese - Japanese - Korean) Text, RetroArch can’t make(can’t read) a Rom’s System Save.(ex: GBA-SRM)

if you’re close contents before exit Retroarch, actually RetroArch can make srm for each (CJK Charactor Encode file named)rom. but can’t read that (CJK Charactor Encode file named)srm.

so retroarch can’t load player’s system save, anyway it’s loss my progress.

Android 4.4 RetroArch 1.4.0 Rom file on eMMC(not from SD card)

i’ve found some of uncomfortable things in retroarch’s UI on android mobile devices but i gotta record this to video and my english is kind of bad, so i’ll report that later. seems save state problem is priority on me. (T_T goodbye my progress)


Ah, that’s a problem! Thanks for the report.


I’d like to second this, with the request to support some kind of general plugin API structure with a proper interface. I’d love to create some kind of plugin to load games directly from a cartdrige using a cartdrige reader I’ve been working on. I also have a LCD screen (20x4) that I’d like to use on my HTPC to show stats from the core and from the emulator as well.

I know all of this is very niche and asking libretro developers to include this functionality would be tremendous effort and silly. There’s no need to spread the developers’ efforts too thin on such things. However, having some kind of API to achieve these (and other proposed) fringe use-cases would be awesome The level of personalization attainable would be amazing and that way, outsiders could contribute to feature requests that don’t need to be part of the upstream repository. Forking would defeat the purpose.

I don’t know if anything like this exists right now, but it would be awesome.


Three small requests 1 Add this setting: settings > user interface > menu > Display Network Tab ON/OFF

2 split this setting in two: settings > onscreen display > onscreen notifications > enable onscreen notifications

  • enable onscreen notifications in game (when saving/loading states)
  • enable onscreen notifications in menu (e.g. when updating cores)

3 When we do “close application” in the game menu RetroArch returns to that game’s playlist submenu. Instead return to the game’s position in the playlist. (I think I requested this earlier but it makes so much sense that I’m re-requesting :slight_smile: )

A bigger request A “kiosk/kids mode” that locks down everything and prevent gamepad users from changing any settings at all. They should be able to start/stop games and maybe load/save states, but that is it. Things to hide in kiosk mode.

In game menu: shaders, save core overrides, save game overrides, controls, options, cheats. In the retroarch general menu: hide all tabs (including main and settings) except for game playlists.

Exit kiosk through a physical keyboard or some unlock code entered with the OSD keyboard. Kiosk mode could be started with a special command line parameter.


I would greatly love it if Borders were made seperate from Overlays in settings. I’m on a tablet and would love to use borders in-game, but I can’t because they’ll replace my overlay and make it impossible to play anything. It’d be nice if borders were separate for this reason.

(I also ask this because none of the border shaders in the shader section actually make a border appear for me.)