RetroArch Changelog

What's new in RetroArch 1.7.8

Aug 26, 2019
  • Fix Fixed the offset navigation on the one page docs with a sticky header.
  • 3DS Fix C-Stick y-axis inversion.
  • 3DS Update all icon/banner images.
  • Android Implemented multi-touch touchscreen support.
  • BLISS-BOX Add 4 new pad types from firmware 3.0
  • COMMON Add optional 'on demand' thumbnail downloads
  • COMMON Add new playlist-based thumbnail downloader. Hide the legacy thumbnail pack version by default.
  • COMMON Show license per core (if available) inside 'Load Core'
  • COMMON Add option to load content from (and dump) CD-ROM discs.
  • COMMON New core options interface, allows for localization, sublabels and more.
  • COMMON Re-enable '--log-file' command line option.
  • COMMON Default playlist core association is now stored as metadata inside each playlist.
  • COMMON Fix playlist format detection.
  • COMMON When saving core option overrides, only include settings for the current core.
  • COMMON Favorites playlist size can now be set independently of content history size. Values can be set from 0-999, or '-1' for unlimited (99999).
  • COMMON Prevent adding new items to favorites when playlist is full (old entries are no longer overwritten).
  • COMMON Prevent loading content with cores that require an incompatible graphics API version from the current one.
  • CPU FILTERS Add Scanline2x filter.
  • GAMECUBE Add default video/audio filter directories
  • GL1 Ignore alpha in core video, fixes XRGB8888 rendering in some cores.
  • GLCORE Don't hardcode shader cross compilation target version but poll it. glcore would always only use the minimum target shader version, i.e. GLSL ES 3.00 for OpenGL ES 3.0+ or GLSL 1.50 for OpenGL 3.2+
  • D3D10/11/12 SLANG - Added "FrameDirection" slang semantic. Works fine with braid-rewind shader, not entirely perfect with D3D12 though.
  • D3D10/11/12 Add option to select which GPU to render with.
  • D3D10/11 Fix maintaining aspect ratio when resizing window.
  • GLCORE SLANG - Added "FrameDirection" slang semantic.
  • INPUT Menu toggle hotkey can now be bound to another keyboard key and it will toggle properly.
  • IOS Correctly centers screen on iPhone X landscape.
  • IOS Implemented multi-touch touchscreen support.
  • LOCALIZATION Update Korean translation.
  • LOCALIZATION Update Japanese translation.
  • LOCALIZATION Update Portuguese Brazilian translation.
  • LOCALIZATION Update Polish translation.
  • LOCALIZATION Update Turkish translation.
  • MENU WIDGETS - All widgets are now properly cleaned up, fixing the frozen widgets bug when loading / closing content.
  • MENU WIDGETS - Widgets are now drawn above the overlay with OpenGL and Vulkan
  • MENU WIDGETS - Fine tune progress bar colors
  • MENU WIDGETS - Fix longstanding menu display issues on Mali400 GPUs (on ARM hardware, SBCs and mobile phones/tablets).
  • MENU Fix Record -> Streaming Quality, and Record -> Recording Threads settings.
  • MENU Fix history playlist navigation after running content.
  • MENU Menu entry performance optimisations.
  • MENU Add option to show 'remove playlist entry' only on history/favourites..
  • MENU Overhaul content 'Information' menu display.
  • MENU Add new 'Playlist Management' submenu. Allows default core associations to be set (via dropdown list), and all existing associations to be reset.
  • MENU Add 'Set Core Association' option to Quick Menu.
  • MENU Add option to remain in menu after saving/loading states.
  • MENU Ensure that displayed thumbnails are always refreshed correctly after selecting 'Download Thumbnails' from Quick Menu.
  • MENU OZONE - added to PS3.
  • MENU OZONE - Fix regression in 1.7.7 - OSX/macOS - was unable to start it.
  • MENU OZONE - Fix sublabel spacing.
  • MENU XMB - Add menu animation settings.
  • MENU XMB - Add optional thumbnail scaling.
  • MENU XMB - Fix display of long sublabels. Text that would exceed the display area now scrolls line-by-line.
  • MENU XMB/OZONE - Add optional thumbnail scaling.
  • MENU QT/WIMP - Path selector fixes.
  • MENU RGUI - Enable playlist display on platforms without database support.
  • METAL/SLANG Added "FrameDirection" slang semantic.
  • NETBSD Audioio is now the default audio driver.
  • NETBSD Fix a segfault when starting RetroArch with an empty configuration file and LANG unset in the environment.
  • OSD OSD is now drawn above the overlay with Vulkan.
  • OSX Fix regression with Cocoa GL - shader / preset loading was getting stuck in an infinite loop.
  • RECORD Fix Twitch streaming.
  • SCALER Fix SSE2 path for ARGB/BGRA -> BGR24 - should fix screenshots being taken for XRGB888 (viewport).
  • SCANNNER Skip all databases with incompatible file extensions, whether content is inside an archive or not.
  • SCANNNER Fix hang on empty files inside archives.
  • VULKAN SLANG : Added "FrameDirection" slang semantic.
  • VULKAN Add option to select which GPU to render with.
  • WII Add default video/audio filter directories.
  • WII Fix RGUI display corruption.
  • WII Fix HID joypad drivers.
  • WII Add optional overscan correction.
  • WII Fix recursive path_mkdir() operations.
  • WII Add widescreen RGUI support.
  • WIIU SLANG - Added "FrameDirection" slang semantic.
  • X11 Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11.
  • X11 UDEV - Mouse pointer should work now in X11 environment with no Display.

New in RetroArch 1.7.5 (Oct 3, 2018)

  • Launch of Nintendo Switch version:
  • Menu improvements – dropdown lists:
  • We were fully cognizant of the fact that it was very inconvenient for many mobile users (such as Android users) to have to repeatedly click on a setting in order to adjust its value. So we have finally implemented dropdown lists now for the majority of the settings!
  • A dropdown list will appear when you either click on a certain setting or press the ‘OK’ button on your gamepad. Settings that have a dropdown lists are typically decimal/hexadecimal settings, or even string lists.
  • We have even made the core options feature dropdown lists, and they work uniformly across all currently existing menu drivers right now. So that means the dropdown lists work with RGUI, MaterialUI as well as XMB!
  • We hope this will smooth over some of the rough edges that have existed in the raster-based UI for quite some time!
  • Adaptive V-Sync implemented for OpenGL (Windows/Linux):
  • We have implemented the “swap_control_tear” extension for OpenGL when using WGL on Windows or GLX on Linux. In order to take advantage of this, your GPU needs to support either the “WGL_swap_control_tear” extension (for Windows) or “GLX_swap_control_tear” (for Linux).
  • Adaptive V-Sync is basically a conditional V-Sync mode. V-Sync is enabled until performance falls below the target refresh rate. If it falls below the target framerate, it will conditionally disable V-Sync. Basically the logic behind this is that tear lines is preferable vs. a sudden halving of the framerate (under a normal double buffered V-Sync configuration) from 60 fps to 30fps, and from 30 fps to 15fps, and so on. This can minimize stuttering when performance falls below real-time, and can be more energy efficient. It can also help with very intensive shaders that makes the framerate fall below fullspeed.
  • Adaptive V-Sync is commonly seen on current-generation game consoles such as Xbox One and PlayStation4.
  • Improved Vulkan performance (especially for Nvidia cards) – mailbox emulation:
  • Thanks to Themaister’s latest patches implementing mailbox emulation for Vulkan, there should no longer be frame pacing / stuttering issues with Vulkan on Windows when using Nvidia graphics cards.
  • Easy recording/streaming options (for versions with ffmpeg support):
  • RetroArch video streaming feature was revamped with GUI support, automatic file naming and quality presets.
  • Live Streaming to YouTube and Twitch is now possible with a single click (after setting up your stream key of course). You can go to Settings -> User -> Accounts and configure your Youtube/Twitch stream key there.
  • UDP Streaming to another RetroArch instance:
  • In addition to streaming to YouTube and Twitch (and to file) you can now stream to another RetroArch instance.
  • This is meant to be the backbone for Discord spectate mode. And streaming netplay (think parsec, gfe co-op)
  • An interesting fact about this is that you could stream at 1x without shaders and playback in another instance with shaders and at any scale you want.
  • Of course all these things still need more work, GPU assisted recording, custom FFMPEG, etc. But I’ll get there eventually.
  • To playback on another instance just do: retroarch udp://127.0.0.1:56400
  • General changelog:
  • CAMERA: Fix Video4Linux2 driver that broke years ago.
  • CONFIG: Add ‘Reset To Defaults’ setting in Configurations. This will reset your config file to defaults.
  • CHEATS: Add support for Rumble when increase or decrease by the rumble value.
  • CHEATS: Add cheat variables to allow for updating large portions of memory.
  • CHEEVOS: Prevent loading states before achievements are fully loaded.
  • CRT: New porches and interlaced bug fix.
  • CRT: New functionality, ability to switch between 15KHz and 31KHz, etc.
  • COMMON: Support for “OEM-102” key (usually ‘’ on Euro keyboards).
  • DISCORD: Add ‘Ask To Join’ Feature.
  • EMSCRIPTEN: Add stb_font support.
  • INPUT: Add new menu toggle combos ‘L3 + R’ and ‘L + R’ (useful for Switch).
  • MENU: Add dropdown lists for many settings.
  • MENU: Fix crash that could happen when changing core’s options on Android.
  • MENU/QT/WIMP: Add option to rename playlists.
  • MENU/QT/WIMP: Add option to filter extensions inside archives when adding to a playlist.
  • MENU/QT/WIMP: Rename playlist entries with 2 single clicks.
  • MENU/QT/WIMP: Fix shader parameter checkboxes not working
  • METAL: Add screenshot support.
  • NETPLAY: Save lobby details received back from server after first announcement.
  • OPENGL/GLX: Implement Adaptive VSync – GLX_EXT_swap_control_tear.
  • OPENGL/WGL: Implement Adaptive VSync – WGL_EXT_swap_control_tear.
  • RUNAHEAD: Fix performance degradation that could happen over time (after approx. 30 mins). Fixed input IDs outside of range 0-35 causing slow performance in runahead.
  • SWITCH: Add stb_font support.
  • SWITCH: Add Retro Achievements support.
  • SWITCH: Add networking support.
  • SWITCH: Add touchscreen support.
  • SWITCH: Add OpenGL support.
  • SWITCH: Merging of RetroNX Nintendo Switch port, based on libnx SDK.
  • VULKAN: Fix race condition in threaded mailbox emulation.
  • VULKAN: Maintenance fixes.
  • WIIU: Fix menu lag when built with DevKitPro r32.
  • Reicast Libretro now supports the keyboard as an input peripheral!:
  • Keyboard support has now been implemented by flyinghead! In this video you see us testing the game Typing Of The Dead, which relies on a keyboard as its primary input device..
  • In order to play this game, make sure the keyboard is set to Port A of the Dreamcast. You can see us doing this in the video by going to the Quick Menu, selecting ‘Controls’, and setting the first port to ‘Keyboard’. Now restart the core and the game. You should now be able to play the game.
  • Game focus toggle:
  • Quick tip: RetroArch by default binds a lot of keyboard keys to hotkeys. In order to be able to use the keyboard in full, try to bind ‘Game focus toggle’ to a key. You can do this by going to Settings – Input Hotkeys, and binding ‘Game focus toggle’ to any key you want.
  • How this will work is as follows: if you press the game focus toggle, you will be in ‘game focus’ mode. In this mode, none of the hotkeys will work, and you can use every key of the keyboard. When you want to go back to the RetroArch hotkey mode, you press the ‘game focus toggle’ key again in order to deactivate game focus mode.

New in RetroArch 1.7.4 (Aug 30, 2018)

  • RetroArch 1.7.4 has built-in cheat code searching/creating. Additional cheat system updates:
  • “Load Cheats” has been broken into two separate options. One will replace the list of cheats with what is being loaded whereas the other will append to the list of cheats with what is being loaded.
  • Cheat list is now automatically saved and loaded for each game
  • When using left/right to change the values of numbers, there is now a feature that gradually increases the step-size the longer you hold the button
  • Full cheat list management – Edit, Delete, Copy, Add, (to top of list, to bottom of list, above entry, below entry)
  • There are now two different cheat types – Emulator (handled by the emulator, the original type) and the new type – RetroArch – that is handled by RetroArch itself
  • Option to reload cheat file (if you manually edit file while RA is running)
  • Option to auto-apply cheats when loading game
  • Option to auto-apply cheats when toggling them on/off
  • Robust cheat searching interface (see instructions below) which works for just about every RA core
  • Rumble activation based on memory changing. For example, after finding the memory location for the number of lives in a game (via the cheat searching interface) you can set it up such that every time the value decreases (lose a life) the controller rumbles. Rumble tested with X360 controller, input driver dinput, joypad driver xinput. Available rumble controls:
  • Rumble when memory value changes
  • Rumble when memory value does not change
  • Rumble when memory value decreases
  • Rumble when memory value increases
  • Rumble when memory value = value
  • Rumble when memory value != value
  • Rumble when memory value < value Rumble when memory value > value

New in RetroArch 1.7.3 (May 5, 2018)

  • New WIMP GUI for PCs:
  • RetroArch now has a WIMP GUI, powered by the powerful multimedia framework Qt! This feature is available currently for Windows and Linux. macOS users will have to wait a while longer for this feature to arrive to their platform.
  • The WIMP GUI works as a companion to the main RetroArch window. You bring it into view by pressing the F5 key on your keyboard.
  • From there, you can do many tasks:
  • Select a game from any playlist
  • Browse the file system or any attached media storage device and load a game.
  • Scan directories for content and generate system playlists.
  • Associate cores to an entire playlist or associate only one entry of a playlist to a specific core
  • Some things we’d like to note:
  • This has been the combined work of bparker and Tatsuya79 that have worked tirelessly on this for a month. We are aware of several features that we’d like to implement, such as playlist editing, grid view layouts, etc.
  • We are open to feedback on the GUI.
  • You will likely not see this WIMP GUI on Android or iOS (or any game console for that fact) anytime soon. WIMP interfaces don’t lend themselves well to devices that rely on touchscreen or gamepad-based controls.
  • (For Linux users) The Qt GUI should definitely work on X11. If you’d like to run it on Wayland, make sure you have the appropriate packages installed for Qt5 in your package manager. Be aware that Qt 5 cannot gracefully fail right now in case a platform module/plugin is missing from your system. This means that if you invoke the companion UI by pressing F5 on Wayland, and for whatever reason the platform module that Qt relies on in order to work on Wayland is not there, there is no way for RetroArch to gracefully fail there and just not show the companion UI. There will be a crash instead. Unfortunately we have talked to some Qt developers and they see no other way around this for now. The same situation applies for DRM/KMS right now. If we can find a better solution to this, we will certainly return to it.
  • (For mac Users) You will have to wait a bit longer for this to arrive to the Mac port unfortunately. Hopefully that wait is not too long.
  • We would like to still improve initial bootup times for the companion UI. Right now, on first initial startup, it can take anywhere from 5 to 10 seconds (depending on your harddrive and its performance), but on subsequent boots should only take 2 seconds or less for first startup. Hopefully by resorting to Link Time Code Generation and other avenues we can shave off some more seconds off this boot time.
  • Starting up the UI on startup:
  • If you would like to start up the companion UI at first startup instead of having to manually press F5 first, you can do so. Make sure that Advanced Settings are enabled first (Settings -> User Interface -> Show Advanced Settings). After that, make sure the option ‘Show desktop menu on startup’ is enabled.
  • Real-time audio mixer controls – menu music, mixing of audio channels, separate volume controls, etc:
  • In RetroArch 1.7.3 we have given RetroArch’s built-in audio mixer a huge overhaul.
  • Improved file format support – Now supports MP3 and FLAC thanks to mudlord. The audio mixer now supports MP3, FLAC, Ogg Vorbis, and WAV files in total.
  • Live manipulation/control of the audio mixer in the menu – you can now access the audio mixer inside the menu. You can set audio tracks to each of the 16 available streams, and you can issue commands to them such as Play (normal/Looping/Sequential), Stop or Remove.
  • Individual volume setting per audio stream – You can now also individually set the volume for each separate audio stream inside the mixer. If you wish to override all audio stream’s volume with one global override, you can go to Audio Settings and set Audio Mixer Volume Level. Reset this back to 0 dB if you want individual volume per stream to work again.
  • Increased the amount of max streams – Previously, the audio mixer was limited to 8 streams in total. This figure has been doubled to 16.
  • New album mode-like features – If you have a couple of tracks queued up in the audio mixer and if you’d like to play them back like a regular audio music player (played sequentially, one song after the other) – select ‘Play (Sequential)’. When the song is finished playing, it will look at the other streams directly down below it. If one of these streams is in ‘stopped’ state and if there is audio loaded there, it will start playing it. It will also in turn set this audio stream’s play state to ‘Sequential’ and it will keep going down the list until the end of the audio stream mixer’s ‘list’ has been reached.
  • Music can play inside the menu now – Previously, you could only listen to audio streams with the audio mixer once you were inside a game and a core had been loaded. Once you went back to the menu, the sound mixing would stop there. You can now set ‘Enable menu audio’ to ON in order to be able to have music inside the menu as well! You can seamlessly jump back and forth between menu and game and have the music continue running.
  • Other additional niceties:
  • The music is mixed in with the rest of the core’s sound data, so the music also is affected by fastforwarding and is thus sped up when you fastforward it, just like regular game audio would.
  • NOTE: Not all platforms have received MP3 and FLAC support yet. So far, we have enabled it already for Windows, macOS, Linux, Android and iOS. More platforms might follow.
  • Runahead – improved performance with Genesis Plus GX:
  • Dwedit sent some patches to improve Genesis Plus GX’s performance with runahead. We put this briefly to the test on the Xbox OG. Previously with 1.7.2, Sonic 2 on version 1.7.2 did not reach fullspeed with runahead set to 1 frame. With version 1.7.3, we can finally play at fullspeed with runahead set to 1 frame. Setting it any higher than 1 proves too taxing for the old system.
  • CRT Switch Res on Linux – GroovyMAME-like features for 15KHz capable CRT monitors:
  • tarting as of version 1.7.2, RetroArch now has the ability to query cores for their exact video timing data, which can be used to switch to native-resolution, 15 kHz modelines for use with standard-definition CRT TVs.
  • This is a big step for retro purists, as RetroArch can now output “pixel-perfect” video with accurate timing to compatible displays, even quickly switching between interlaced and non-interlaced modes on the fly.
  • This capability was previously Windows-only and requires modelines to be created in advance by CRT_EmuDriver or Custom Resolution Utility with a compatible GPU.
  • Starting as of version 1.7.3, Linux support has been implemented too!
  • Input remapping system fixes for overlays:
  • Radius fixed several bugs which would prevent the new input remapping system from working with onscreen overlays.
  • General changelog:
  • AUDIO: Audio mixer supports FLAC/MP3 file types now!
  • COMMON: Fixed bug ‘crashing in cores that don’t range check retro_set_controller_type’. Some people were having crashes when device is set to RETRO_DEVICE_NONE and the cores don’t check the number of ports, in VBAM’s case it was overflowing and crashing. QuickNES was crashing too.
  • COMMON: Fixed buffer overflow in url encoding (affecting MSVC2010/2013).
  • COMMON: (QuickMenu) Added Configuration Override submenu.
  • HID: Merge new HID subsystem.
  • HID: Fix WaveBird support for the Wii U GCA.
  • HID/OSX: Fix regression with IODHIDManager – gamepads which are connected later would not be autoconfigured.
  • LOCALIZATION: Update Italian translation.
  • LOCALIZATION: Update Japanese translation.
  • LOCALIZATION: Update Portuguese translation.
  • MENU: New WIMP Qt GUI!
  • MENU: Audio mixer now works in the menu without any cores loaded. You have to enable the setting ‘Enable menu audio’ for this to work.
  • REMAPPING/OVERLAYS: Fix regression – overlays could no longer be remapped.
  • SCANNER: Add Wii Backup File WBFS support.
  • X11: CRT SwitchRes support for X11/Linux.
  • What is coming next:
  • We can already give you a sneak peek of some of the new features the new WIMP GUI will be having in the upcoming version. Right now, playlist entries are only displayed as a list. The new version will also allow you to display playlists in a grid view (both small and big). See the images below for an indication of how that will look like.

New in RetroArch 1.7.1 (Feb 20, 2018)

  • General changelog
  • 3DS: Now correctly reports amount of CPU cores.
  • 3DS: Frontend rating is now correctly implemented for both New 3DS/2DS and Old 3DS/2DS.
  • 3DS: Initial networking support, HTTP requests won’t work yet.
  • 3DS: Now reports memory and battery state.
  • AUDIO: Added ‘Audio Resampler Quality’ setting to Audio Settings. Setting this higher will increase sound quality at the expense of sound latency and/or performance. Setting this value lower will improve sound latency/performance at the expense of sound quality. Only has an effect if the Sinc resampler is used, and you have to restart the game for changes to take effect.
  • CHEEVOS: Fix unofficial achievements not being loaded.
  • CHEEVOS: Show savestate menu entries when no achievements are found even if hardcore mode is enabled.
  • CHEEVOS: Support Neo Geo Pocket.
  • COMMON: Bugfix for issue related to ‘Windows mouse pointer visible when running MESS or MAME cores’.
  • COMMON: Fix bug ‘Last item in a Playlist is ignored’.
  • COMMON: New LED API. Driver implemented for Raspberry Pi, proof of concept implemented for core MAME 2003.
  • COMMON: Add quick menu option to watch shader files for changes and recompile them automatically (Linux only for now).
  • D3D8: Direct3D 8 can now work on systems that have Direct3D 8 installed.
  • D3D9: Add menu support for MaterialUI/XMB.
  • D3D10: Initial video driver implementation.
  • D3D11: Initial video driver implementation.
  • D3D11: SPIRV-Cross/slang shader support for D3D11.
  • D3D12: Initial video driver implementation.
  • DINPUT: don’t reinitialize input driver on network events / media insertion / network drive connection
  • INPUT: show friendly names when available under input binds and system information
  • INPUT: show the config name when available under system information
  • GUI: Allow changing menu font color.
  • GUI: Menu visibility options for RGUI and MaterialUI.
  • GUI/MaterialUI: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers.
  • GUI/XMB: Add Monochrome Inverted icon theme.
  • GUI/XMB: Allow changing menu scale to 200%.
  • GUI/XMB: Works now with D3D8, D3D9 Cg, D3D11 and D3D12 drivers. Menu shader effects currently don’t work on D3D8/D3D9 Cg.
  • HAIKU: Restored port.
  • KEYMAPPER: prevent a condition that caused input_menu_toggle to stop working when a RETRO_DEVICE_KEYBOARD type device is enabled
  • GL: ignore hard gpu sync when fast-forwarding
  • IOS10/11: Handle hardware keyboards and iCade controllers
  • LOCALIZATION: Update Italian translation.
  • LOCALIZATION: Update Japanese translation.
  • LOCALIZATION: Update Portuguese-Brazilian translation.
  • LOCALIZATION: Update Spanish translation.
  • NETPLAY: Add menu option to select different MITM (relay) server locations.
  • OSX: Modify HID buttons detection algorithm.
  • QB: Added –datarootdir.
  • QB: Added –bindir and –mandir and deprecated –with-bin_dir and –with-man_dir.
  • QB: Added –docdir.
  • SHADERS: Allow saving of shader presets based on the parent directory (Saving one for */foo/bar/mario.sfc* would result in *shaders/presets/corename/bar.ext*). We decided it’s safer to still isolate the presets to a single core because different cores may treat video output differently.
  • SHADERS: Don’t save the path to the current preset to the main config. This was causing weird behavior, instead it will try to load *currentconfig.ext* and it will save a preset with that name when select *apply shader preset*. The resulting shader will restore properly after restarting and even after core/parent/game specific presets are loaded
  • SOLARIS: Initial port.
  • SWITCH: Initial Nintendo Switch port, based on libtransistor SDK.
  • PS3: Enable Cheevos.
  • PSP: Enable threading support through pthreads.
  • SHADERS: SPIRV-Cross/slang shader support for D3D11.
  • SHIELD ATV: Allow the remote / gamepad takeover hack to work with the 2017 gamepad
  • SUBSYSTEM: Subsystem saves now respect the save directory
  • SUBSYSTEM: You can now load subsystem games from the menu (see https://github.com/libretro/RetroArch/pull/6282 for caveats)
  • VULKAN: Fix swapchain recreation bug on Nvidia GPUs with Windows 10 (resolved in Windows Nvidia driver version 390.77).
  • WINDOWS: Improved Unicode support (for cores/directory creation and 7zip archives).
  • WINDOWS: Show progress meter on taskbar for downloads (Windows 7 and up).
  • WINDOWS: WS_EX_LAYERED drastically decreases performance, so only set it when needed (transparency in windowed mode).
  • WIIU: Overlay support.
  • WIIU: Transparency support in menu + overlays.
  • WIIU: Increased stability during core switching.
  • WIIU: Shader support.
  • WIIU: Menu shader effects added (shaders).
  • WIIU: Add missing time/clock support. (also fixes RTC [Real Time Clock] in Gambatte)
  • XBOX OG: Restored port.
  • New Direct3D 11/12 driver:
  • RetroArch 1.7.1 now features very robust and feature-complete Direct3D 11/12 drivers for Windows users! Direct3D 11 should be available to users starting as of Windows 7, whereas in order to use Direct3D 12, you need Windows 10.
  • See here the following features:
  • Supports Slang shaders, the same shader format that Vulkan uses
  • Suports the menu; supports MaterialUI and XMB.
  • Supports overlays.
  • All menu shader effects have been ported.
  • Do note that right now, it is recommended you use the Direct3D11 driver instead of Direct3D 12. D3D11 is many times faster than D3D12, and while there are still gains to be had, we are not necessarily sure if the D3D12 driver will ever be able to outperform the D3D11 driver.
  • The Direct 3D 11/12 video drivers should work with any libretro core that does not require either OpenGL or Vulkan to function.
  • Some minor features which are currently not available is features like Max swapchain image control, GPU Hard Sync and/or Black Frame Insertion.
  • Emscripten/Web Player back in action and better than ever:
  • Toad King has graciously not only restored the Web Player, but made it better than ever. Now using WebAssembly under the hood, not only is it a lot faster, but it also now has the XMB menu by default and should work properly with builtin gamepad support from your browser. You can find the Web Player here. You can also reach the Web Player at any time by going to retroarch.com and clicking on ‘Web Player’ in the topright hand part of the site.
  • Xbox port back from the dead:
  • People always keep insisting that us supporting ancient compilers like Microsoft Visual Studio 2003 is pointless. Well, in this case it allowed for the long-dormant RetroArch Xbox OG version to be resurrected rather effortlessly. And we were able to write a Direct3D 8 video driver as well which works for both PC as well as Xbox OG.
  • The Xbox OG port is now more in lock-step with official mainline than ever. It no longer uses some proprietary hokey menu system but it just uses RGUI as the default. I could have included XMB as well, but we still have some work left to do in terms of making sure we can render text with Direct3D8 instead of relying on D3DX, and there were still some texture-related UV issues, so that factored into our decision to only go with RGUI for now.
  • Right out of the gate, there are 21 cores available for the Xbox version, far more than in any other time period of its lifecycle.
  • Other noteworthy features – it now supports overlays.
  • Subsystem support – Game Boy 2-player Link, Super Game Boy support with SNES emulators, etc:
  • This feature allows cores to specify a subsystem, which may be a different system like in this video, or an add-on (think Super Gameboy / Genesis lock on).
  • Previously, cores that supported subsystems (think Super Game Boy / Sufami Turbo with SNES9x emulators) needed to be started from the commandline in order to be able to use Super Game Boy/Sufami Turbo mode.
  • The following cores should already have subsystem support: Same Boy (allows for up to 2-Link netplayer), bSNES (Super Game Boy and Sufami support should work through the menu). NOTE: You need to set the Filebrowser Directory to your starting point directory if you want to use the subsystem feature. It will not work properly without.
  • Universal shader spec gaining steam – Vulkan/D3D11/D3D12/WiiU all using the same shaders now:
  • There are several video drivers now that all make use of the same universal shader format, Slang: Vulkan, Direct3D11,Direct3D12, WiiU. What this means is that all these video drivers are able to use the same shader format without having to convert from one format to another. The magic happens courtesy of SPIRV-Cross, itself a Khronos project. We hope that in the future, the slang shader spec will be supported by most of RetroArch’s video drivers (such as OpenGL and the other Direct3D drivers). This represents a very important step towards realizing that ultimate goal. Veteran RetroArch users will probably remember that we first tied our wagon to Nvidia’s Cg shader format. As that spec gradually fell out of favor and even Nvidia abandoned it wholesale, it was for a time uncertain for us which new format we would have to go with. You had GLSL on mobile and desktop GL, and HLSL for Direct3D. Now, with SPIRV-Cross, we finally have an exit strategy for the increasingly deprecating Cg ecosystem of shaders. That being said, we still intend to continue supporting Cg and the shader system, and platforms like PlayStation3 and Xbox 360 wholly depend on it in fact.
  • WiiU port vastly improved:
  • The WiiU port has been significantly improved upon in many ways:
  • Overlay support.
  • Transparency support in menu + overlays.
  • Increased stability during core switching.
  • Shader support (slang).
  • Menu shader effects added (shaders).
  • There are shaders out in the wild as add-on packs. Shaders are not compiled at runtime, unlike on PS3.
  • Switch port:
  • OK, so we can’t roll a public release out for this one yet since it still relies on baking in the content through squashfs. However, the Switch homebrew is recently heating up with the release of the Homebrew Launcher, and also competing SDKs like Libnx. However, we hope that by the time 1.7.2 comes out, we will have something in a ready-made fashion available to all.
  • Configurable audio resampling:
  • While RetroArch is also well set to deliver a latency experience almost on par with the actual hardware under the best circumstances, it also continues to help people find new solutions to their one core common problem – latency. You can set the audio quality in Settings -> Core to a less demanding level- that way.

New in RetroArch 1.6.9 (Nov 22, 2017)

  • Audio: Fix the Audio DSP picker
  • CHEEVOS: Add support for Atari Lynx cheevos.
  • CHEEVOS: Add support for RetroAchievements Leaderboards.
  • GUI: (MaterialUI) Fix crash that happened on context reset with Vulkan.
  • GUI: (MaterialUI) Skip querying and drawing items that are not visible; Cache content height and bbox calculation.
  • GUI: (MaterialUI) Fix entry box highlight calculation.
  • GUI: (XMB) Skip drawing the fading list when it is already transparent. Optimization.
  • GUI: (XMB) Comment out visible item calculation in xmb_draw_items().
  • GUI: (RGUI) Prevent crashes when using a non-English language reliant on UTF8.
  • GUI: Add menu option for OSD background color.
  • GUI: Add menu option for OSD text color.
  • GUI: Add menu option to remove frame count from OSD.
  • GUI: Allow wraparound of int/float settings when pressing the left key
  • INPUT/LIBRETRO: Add support for more mouse buttons (buttons 4/5)
  • INPUT/LIBRETRO: Add support for analog buttons
  • INPUT: Always show the controls menu even if descriptors are not set
  • INPUT: Fix input descriptors not being set on cores that don’t implement the controllers interface
  • INPUT: Apply descriptors only for the amount of cores the core supports
  • INPUT: Implement keyboard to gamepad input remapping (limited to one gamepad device for now)
  • INPUT: Fix absolute mouse move handling on the winraw driver
  • INPUT: Ignore keyboard input if window is not active on udev driver
  • INPUT: Sanitize the filenames of autoconfig profiles before saving
  • LOBBIES: Fix crash on navigating left / right from the lobby menu
  • LOCALIZATION: Update Dutch translation
  • LOCALIZATION: Update Italian translation.
  • LOCALIZATION: Update Japanese translation.
  • LOCALIZATION: Update Portuguese-Brazilian translation.
  • LOCALIZATION: Update Russian translation.
  • LINUX/ARMHF: Set buildbot updater URL to armhf location instead of blank string
  • LINUX/PI: Broadcom VC4: Add Videocore config option
  • LINUX/UDEV: Fix – RetroArch reads keyboard input when not focused with the udev input driver.
  • NETPLAY: Fix disconnection not fully deinitializing Netplay.
  • NETPLAY: Fix lan rooms when there is more than one room
  • NETPLAY: Fix lan rooms on systems where all addresses are treated as IPv6
  • COMMON: Fix clear/free loop conditionals in playlists.
  • WINDOWS/GDI: Fix flickering of text.
  • WINDOWS/GDI: Fix graphics corruption on Windows 98
  • WINDOWS/GDI: Allow compiling without DirectInput8 for NT support
  • WINDOWS/WGL: Try to use wglSwapLayerBuffers instead of SwapBuffers if possible (for more optimal performance).
  • WINDOWS: Fix menubar text corruption on Japanese locale systems
  • WINDOWS: Support Unicode file I/O (can now display CJK characters in file browser for example).
  • WINDOWS: Support Windows 95, NT3.51, NT4
  • WINDOWS: add Makefile.griffin targets for msvc6,2003,2005,2010,2012,2013
  • WII: Use custom, embedded libogc SDK.
  • WIIU: Initial touchscreen support for WiiU gamepad.
  • WIIU: Add Cheevos support.
  • SCANNER: Fix archive scanning.
  • SCANNER: Support CHD files.
  • SCANNER: Support Gamecube ISO scanning.
  • SCANNER: Use primary data track of disc images for CRC lookups rather than cue files. This is slower but finds matches more reliably, and is necessary for CHD files to work at all. Update your databases!
  • SCANNER: Fall back on looking inside archives when matching MAME/FBA content (most recent cores only). If you had difficulty with content being detected before, you may have better luck now. Update your databases and core info!

New in RetroArch 1.6.7 (Oct 6, 2017)

  • SCANNER: Fix directory scanning.
  • SCANNER: Fix file scanning.
  • COMMON: Fix ‘Disk Image Append’ option.
  • FREEBSD: Compatibility fixes for Video4Linux2 camera driver.
  • GUI: (MaterialUI) Add disk image append icons.
  • GUI: (MaterialUI) Improve word wrapping when menu icons are enabled.
  • GUI: (MaterialUI) Add User Interface -> Appearance -> Menu Icons Enable. You can turn on/off the icons on the lefthand side of the menu entries.
  • GUI: Performance optimizations for XMB menu driver – only calculates visible items.
  • LOCALIZATION: Update Italian translation.
  • Core updates since previous version (1.6.6):
  • Picodrive should hopefully work now again on Android after notaz‘ updates.
  • Beetle PSX’s OpenGL renderer should now work on various AMD GPUs thanks to rz5‘s efforts. There were previously some black screen issues on certain non-Polaris AMD GPUs.
  • Beetle PSX – Fixed bugs (geometry updates had max width and height unset, other ones) (by albertofustinoni).
  • Beetle Saturn – Unloading game leaves core unusable fix (by albertofustinoni).
  • Beetle Supergrafx – add turbo on/off for 2-button controller mode (by retrowertz).
  • Prosystem – NTSC Color Palette updates and DB updates (by underball).