This week will be all about a dripfeed of new cores along with a version bump of RetroArch, which will be needed for some of the new cores that will be arriving this week.
This is an up-and-coming Nintendo DS emulator by StapleButter, and it now has a libretro port. Some of the things that are still not properly implemented is touchscreen/mouse support and multithreading for the software 3D rasterizer, but we will take care of that soon. This emulator might not yet be a replacement for DesMuMe, but it’s quickly progressing so definitely keep your eyes on it, as DesMuMe certainly needs some competition.
You can get this new core on our buildbot. Start up RetroArch, go to ‘Online Updater’, and check for ‘MelonDS’.
For more information on MelonDS, check out its official homepage here.
The MelonDS core is currently available for:
BIOS instructions, etc. (required)
MelonDS requires a real BIOS file in order to work. These need to be placed inside your System directory. If you don’t know where your System directory is, inside RetroArch, go to Settings -> Directories and read where your System Directory is located.
The following three files are all required:
SameBoy is an accuracy-focused Game Boy/Game Boy Color emulator in the vein of Gambatte. We now have a libretro core of it and its author has also helped us earlier with some implementation details, so that is very much appreciated!
Some features that are still missing is savestate support, but we intend to get that done soon.
For more information on SameBoy, check out its official homepage here.
The SameBoy core is currently available for:
BIOS instructions, etc. (optional)
Here is a tiny convenience feature you added – normally SameBoy relies on reverse engineered Game Boy/Game Boy Color boot ROMs in order to load. You can load these instead of the real BIOS file. For this libretro core, instead of requiring you to put these homebrew boot roms somewhere so that the emulator can read them, we have baked these into the core itself. So you don’t even need to put them somewhere in your system directory.
However, if you’d like to override these, you can do that too. Go to your system directory (if you don’t know what this is, inside RetroArch, go to Settings -> Directories and read where your System Directory is located) and put these files there:
Game Boy boot ROM – ‘dmg_boot.bin’
Game Boy Color boot ROM – ‘cgb_boot.bin’
ARM Linux cores!
Our buildbot is now providing fresh new ARM Linux cores for hardfloat configurations! These cores could be used for instance on Lakka-based devices as well as the NES Mini!
On Android, you can expect version 1.5.0 to be downloadable on the Google Play Store later today. If you want to install the APK manually, you can do so by downloading it from the URL linked to above.
Changes since last version (1.4.1)
MOBILE: Single-tap for menu entry selection
MOBILE: Long-tap a setting to reset to default
ANDROID: Autoconf fallback
ANDROID: Mouse support / Emulated mouse support
AUTOCONF: Fix partial matches for pad name
CHEEVOS: Fix crashes in the cheevos description menu
CHEEVOS: WIP leaderboards support
COMMON: Threading fixes
COMMON: 9-slice texture drawing support
CORETEXT/APPLE: Ability to load menu display font drivers and loading of custom font.
DOS: Add keyboard driver
DOS: Improve color accuracy and scaling
GUI: Various settings are now only visible when advanced settings is enabled
GUI: Allow changing icon theme on the fly
GUI: Add a symbol page in the OSK (Onscreen Keyboard)
GUI: Better dialogs for XMB
LOCALIZATION: Add/update Korean translation
LOCALIZATION: Rewrite German translation
LOCALIZATION: Update several English sublabels
LOCALIZATION: Update several Japanese labels
NET: Allow manual netplay content loading
NET: Announcing network games to the public lobby is optional now
NET: Bake in miniupnpc
NET: Fix netplay join for contentless cores
NET: LAN games show next to lobbies with (LAN) and connect via the private IP address
NET: Use new lobby system with MITM (Man In The Middle) support
NET: Fix netplay rooms being pushed on the wrong tab
NUKLEAR: Update to current version
SCANNER: Always add 7z & zip to supported extensions
VULKAN: Find supported composite alpha in swapchain
VULKAN: Add snow/bokeh shader pipeline effects – at parity with GL now
WIIU: Keyboard support
WINDOWS: Logging to file no longer spawns an empty window
WINDOWS: Fix loading of core/content via file menu
We’ll go into some of the important features in more detail below.
UPNP support out of the box! (Windows/MacOS/Linux/Android/iOS)
Previously, in order for netplay to work, you as the hoster would need to manually port forward on your router. Starting with version 1.5.0, RetroArch now supports UPNP out of the box! If you have a home network router that supports UPNP, you should now be able to host netplay games without having to manually open ports on your router!
NOTE: The platforms that come with UPNP support out of the box as of this point includes: Android, MacOS, Linux, iOS, and Windows. If you have a version of RetroArch for any other platform, it’s likely it does not have UPNP support, and therefore you would still need to fallback on manual port forwarding if you want to host a game.
An often-heard complaint was that touch navigation on mobile devices was not intuitive enough. You had to double tap in order to select an entry instead of being able to single tap which is the norm for most mobile programs out there.
We have changed this so that you now only have to single tap. Also, you can now ‘long-tap’ a setting in order to ‘reset’ it to default. This is useful in case you are tinkering with some setting using touch and you want to set it back to its default setting.
Other new features – changing the icon theme now works on-the-fly, so you no longer need to restart RetroArch for these changes to take effect.
Android controller detection improvements
If RetroArch cannot find a preconfigured entry for your gamepad on Android, it will now try to use the Android standard default controls for the gamepad instead. This should help with a bunch of gamepads that are lacking a current autoconfiguration file, and should prevent the user from having to manually setup the controls.
Previously, the menu effects ‘Snow’ and ‘Bokeh’ were not available if you were running RetroArch with the Vulkan video driver enabled. Now you can use them with Vulkan as well!
In case you don’t know how to access these, go to Settings -> User Interface -> Menu -> Menu Shader Pipeline.
Half a year after RetroArch 1.3.6 was released, now comes the next big stable! Version 1.4.1 is by any yardstick a big massive advance on the previous version. There are about 5000 commits or more to sift through, so let’s focus on a few big main standout features that we want to emphasize for this release.
We are calling this release an ‘Open Beta’ because we want people to put the massively improved Netplay features through its paces! All of your feedback and issues will be taken onboard so that 1.5.0 (which we intend to ship somewhere beginning of March) will deliver on all the promises we have made for netplay.
Netplay has seen a big massive improvement since version 1.3.6.
To set up a netplay game, you have two options: Manual or automatic connection.
Naturally, the automatic way is easier:
To host, just load a core and launch some content as usual and, once the game is running, go back into the ‘quick menu’ (the default keyboard shortcut is F1) and scroll down to the ‘netplay’ submenu. From there, choose ‘Start netplay host’ and it will announce your game to the lobby server for other users to join. You can go ahead and start playing and new players can jump in at any time. That is, RetroArch no longer stalls out until clients join.
Joining an existing session is just as easy. From the main menu, navigate over to the netplay tab (the icon looks like a wifi symbol), scroll down to ‘Refresh Room List’ and hit the ‘accept’ key/button (the default keyboard shortcut is the ‘X’ key). RetroArch will fetch the current list of available hosts and display them right there in the netplay tab. From there, just pick the host you wish to join and RetroArch will cycle through your playlists searching for a content match. If it finds a match, you’ll jump right into the host’s game already in progress.
To use manual connection, the host does the exact same steps. The client must load the same core and game first, then choose the “connect to netplay host” option from the netplay menu. You will be prompted for the IP address of the host. Enter it to connect.
To keep your games private, the host may set a password, required to connect, in the network settings menu.
We want your feedback and input on netplay, and the aim is that we take your feedback into consideration for 1.5.0 (which we will launch early March) to put the final finishing touches on netplay in general. Things like chat, friend lists and so on will all need to be implemented still.
Multi-language support/Japanese language support
We have added UTF-8 support and we have added translations for several languages now. Of these, Japanese is probably second to English in terms of being the most complete translation.
In addition to this, the new onscreen keyboard also has multilingual support, and supports Japanese fully (Hiragana, Katakana).
Free homebrew Bomberman clone game – Mr.Boom
Mr.Boom is a Bomberman clone. It supports up to 8 players and features like pushing bombs, remote controls and kangaroo riding.
Right now, this core works for Mac/Windows/Linux/ We are still working on Android support!
Mr. Boom currently requires at least a minimum of 2 players. There is no singleplayer mode (yet). It can not yet be used with netplay but that is our ultimate aim! Free 8-player easy Bomberman-like gameplay for everybody! We will make an announcement later when netplay support is fully working for this core!
New menu graphical effects
In addition to the ribbon effects, we have added some new menu effects : Bokeh, and Snow.
Check the accompanying video to see them in action. You can access these menu effects by going to
Settings -> User Interface -> Menu and setting “Menu Shader Pipeline” to any effect of your choosing.
NOTE: These two new menu effects are not yet available for Vulkan and Cg. Ports would have to be made first of these menu effects, since they are completely shader-based.
Quality-of-Life improvements to the menu
We have taken all the criticisms of the menu UI to heart and we really pushed ourselves to make the menu much more pleasant to deal with.
We have gone to the painstaking effort of making sure that nearly every menu entry now has a small description below it.
Loading content has been massively streamlined. There is no longer a separate ‘Load Content’ and ‘Load Content (Detect Core)’ option. You simply select a starting point directory, you then select your game and you decide which core to use.
There is a new onscreen keyboard made for the menu which is compatible with touch and the mouse. It not only supports traditional western characters but thanks to improved multilingual support it will also support Japanese (Kanji, Hiragana, Katakana and Romaji).
In fullscreen mode, the mouse cursor inside the menu will only show for about 5 seconds. If there is no mouse activity it will disappear from the screen until you move the mouse again.
Improved error handling
Cores should now report an error message back to RetroArch in most instances where a ROM/content fails to load. We went over most cores and we are reasonably comfortable in that we took care of most of the trouble spots.
Vulkan N64 and PSX now works on Android!
To read more about these projects, read our past articles here –
ParaLLel (Nintendo 64 core with Vulkan renderer) and Mednafen PSX HW should now work on Android devices that support Vulkan!
Unfortunately, GPU is currently not the bottleneck here. In the case of both of these emulators, more work is required before they will start to run at fullspeed on Android devices. We need to get the LLVM dynarec working on ARM devices.
In the case of Mednafen PSX HW, the interpreter CPU core is the main bottleneck which prevents the emulator from reaching playable speeds right now. An experimental dynarec was written a year ago but it still needs a lot of work before it could be considered ‘usable’.
Lots of other miscellaneous stuff
(Linux) DRM/KMS context driver should be more compatible now
(Linux) The GLX context driver now uses GLX_OML_sync_control when available, leading to much improved swap control. Potential video tearing and frame time deviation will be way lower in general.
(Linux) Attaching a PS4 gamepad will allow you to use the audio headphone jack to route sound to your headphones if you use the ALSA audio driver. It will now query the available audio output sampling rates that an audio device supports, and if the recommended output sampling rate that we use in RetroArch doesn’t match, we will use a sampling rate that the audio device DOES support instead. The PS4 pad only works with 32Khz audio, hence why we need to switch to it on the fly in order to get sound working with it.
(Android) Should fix a longstanding touch input bug that might have prevented touch from working altogether on certain devices.
(Android) GLES3/3.1 support, the fancy ribbon effect and Snow/Bokeh should also be available on Android now.
(Linux/Wayland) Full input support, keyboard and mouse.
Too much stuff to mention
Also read our companion article for more information here –