www.libretro.com Open in urlscan Pro
2a06:98c1:3120::3  Public Scan

Submitted URL: http://libretro.com/
Effective URL: https://www.libretro.com/
Submission: On June 08 via api from GB — Scanned from GB

Form analysis 2 forms found in the DOM

<form class="gsc-search-box gsc-search-box-tools" accept-charset="utf-8">
  <table cellspacing="0" cellpadding="0" class="gsc-search-box">
    <tbody>
      <tr>
        <td class="gsc-input">
          <div class="gsc-input-box" id="gsc-iw-id1">
            <table cellspacing="0" cellpadding="0" id="gs_id50" class="gstl_50 gsc-input" style="width: 100%; padding: 0px;">
              <tbody>
                <tr>
                  <td id="gs_tti50" class="gsib_a"><input autocomplete="off" type="text" size="10" class="gsc-input" name="search" title="search" id="gsc-i-id1" dir="ltr" spellcheck="false"
                      style="width: 100%; padding: 0px; border: none; margin: 0px; height: auto; background: url(&quot;https://www.google.com/cse/static/images/1x/en/branding.png&quot;) left center no-repeat rgb(255, 255, 255); outline: none;"></td>
                  <td class="gsib_b">
                    <div class="gsst_b" id="gs_st50" dir="ltr"><a class="gsst_a" href="javascript:void(0)" title="Clear search box" role="button" style="display: none;"><span class="gscb_a" id="gs_cb50" aria-hidden="true">×</span></a></div>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
        </td>
        <td class="gsc-search-button"><button class="gsc-search-button gsc-search-button-v2"><svg width="13" height="13" viewBox="0 0 13 13">
              <title>search</title>
              <path
                d="m4.8495 7.8226c0.82666 0 1.5262-0.29146 2.0985-0.87438 0.57232-0.58292 0.86378-1.2877 0.87438-2.1144 0.010599-0.82666-0.28086-1.5262-0.87438-2.0985-0.59352-0.57232-1.293-0.86378-2.0985-0.87438-0.8055-0.010599-1.5103 0.28086-2.1144 0.87438-0.60414 0.59352-0.8956 1.293-0.87438 2.0985 0.021197 0.8055 0.31266 1.5103 0.87438 2.1144 0.56172 0.60414 1.2665 0.8956 2.1144 0.87438zm4.4695 0.2115 3.681 3.6819-1.259 1.284-3.6817-3.7 0.0019784-0.69479-0.090043-0.098846c-0.87973 0.76087-1.92 1.1413-3.1207 1.1413-1.3553 0-2.5025-0.46363-3.4417-1.3909s-1.4088-2.0686-1.4088-3.4239c0-1.3553 0.4696-2.4966 1.4088-3.4239 0.9392-0.92727 2.0864-1.3969 3.4417-1.4088 1.3553-0.011889 2.4906 0.45771 3.406 1.4088 0.9154 0.95107 1.379 2.0924 1.3909 3.4239 0 1.2126-0.38043 2.2588-1.1413 3.1385l0.098834 0.090049z">
              </path>
            </svg></button></td>
        <td class="gsc-clear-button">
          <div class="gsc-clear-button" title="clear results">&nbsp;</div>
        </td>
      </tr>
    </tbody>
  </table>
</form>

GET https://www.libretro.com/

<form role="search" method="get" class="search-form" action="https://www.libretro.com/">
  <label>
    <span class="screen-reader-text">Search for:</span>
    <input type="search" class="search-field" placeholder="Search …" value="" name="s">
  </label>
  <input type="submit" class="search-submit" value="Search">
</form>

Text Content

×

search
 


PRIMARY MENU

 * Home
 * Lakka
 * Libretro
 * RetroArch
 * Blog
 * Mission
 * Downloads
 * Nightlies
 * Documentation
 * Forum
 * Discord
 * Develop
 * Contribute
 * Twitter
 * Getting Started
 * Powered by Libretro
 * Web Player
 * Patreon
 * Lobbies
 * Privacy Policy


RECENT POSTS

 * RetroArch now on the Samsung Galaxy Store!
 * Lakka 4.2 release
 * RetroArch 1.10.3 release!
 * Lakka 4.1 release
 * Lakka 4.1 RC release


RECENT COMMENTS

 * Vague Rant on RetroArch 1.4.1 Major Changes Detailed!
 * Tatsuya79 on RetroArch 1.4.1 Major Changes Detailed!
 * Nucleoprotein on Mednafen/Beetle PSX – PGXP arrives!
 * Barney the Dinosaur on RetroArch, Libretro core license violations by
   Hyperkin’s Retron5
 * Sean Cahill on RetroArch 1.3.2 released


LIBRETRO

47 Online
Connect
Search for:

Skip to content
 * Home
 * Lakka
 * Libretro
 * RetroArch
 * Blog
 * Mission
 * Downloads
 * Nightlies
 * Documentation
 * Forum
 * Discord
 * Develop
 * Contribute
 * Twitter
 * Getting Started
 * Powered by Libretro
 * Web Player
 * Patreon
 * Lobbies
 * Privacy Policy


RETROARCH NOW ON THE SAMSUNG GALAXY STORE!

May 31, 2022June 1, 2022 Libretro Team


We keep expanding!

We’re happy to announce that RetroArch is now available on the Samsung Galaxy
Store! For free, of course.


Q&A




HOW CAN I DOWNLOAD RETROARCH FROM THE GALAXY STORE?

The Galaxy Store should be pre-installed by default on Samsung phones. It is a
storefront available exclusively for Samsung-branded devices.



Open the app on your device, type in RetroArch in the search bar, and download
it from there.




HOW DOES THIS VERSION DIFFER FROM THE GOOGLE PLAY STORE VERSION?

The version available on the Galaxy Store is identical to the version you can
download from our website.

It has a couple of big advantages over the Google Play Store version:
* There is no set core limit. For RetroArch Plus on the Play Store, it is up to
127 cores that can be installed. We have to hand-pick these cores specifically
so that users can install them on the Google Play Store.
* Cores are distributed from the Libretro buildbot infrastructure. There are far
more cores available than on the Play Store.


SHOULD I USE THIS VERSION OR THE GOOGLE PLAY STORE VERSION?



On a Samsung phone, you have the choice to choose between either version.
Regardless, we highly recommend you use the Galaxy Store version over the Google
Play Store version. Reasons are listed above, but on top of that, the Google
Play Store version has not been updated for a while because of increasing
restrictions and requirements that we haven’t caught up with yet.

Bottom line, we anticipate the Google Play Store version to become more and more
nerfed as time goes on unfortunately. There is nothing we can do about this,
these are restrictions and limitations imposed by Google to have the software
available for distribution on the Play Store. To get a more full-featured
version, download the Galaxy Store version.

RetroArch should now be available on the Google Play Store, Amazon App Store,
Huawei App Gallery, and Samsung Galaxy Store. No matter what device you are on
and which ecosystem you are in, we try to have you covered.

Android, Blog, Libretro, RetroArch, Samsung Galaxy, Samsung Galaxy Store


LAKKA 4.2 RELEASE

April 28, 2022 Libretro Team


New version of Lakka has been released!

We are happy to announce the new and updated version of Lakka. Read the full
article here.

Lakka, Libretro, RetroArch


RETROARCH 1.10.3 RELEASE!

April 15, 2022 Libretro Team


RetroArch 1.10.3 has just been released.

Grab it here.

If you’d like to learn more about upcoming releases, please consult our roadmap
here.

Remember that this project exists for the benefit of our users, and that we
wouldn’t keep doing this were it not for spreading the love to our users. This
project exists because of your support and belief in us to keep going doing
great things. We have always prioritized the endusers experience, and unlike
others, we have never emburdened them with in-app ads, monetization SDKs or
paywalled features, and we intend to continue to do so. If you’d like to show
your support, consider donating to us. Check here in order to learn more. In
addition to being able to support us on Patreon, there is now also the option to
sponsor us on Github Sponsors! You can also help us out by buying some of our
merch on our Teespring store!


CORE UPDATES

FBNeo, LRMAME2003 Plus, UAE and VICE have seen the regular weekly
updates/improvements. We can’t list all the changes there, so we just suggest
you go to the respective Github repositories and check out the chanes there.


LRMAME

LRMAME updated to version 0.242 (latest). LRMAME is now also available for ARM
Macs now. You can get it from the Core Downloader.


NESTOPIA

FourScore support (4 player multitap) has been added for the following games:

 * Spacey McRacey
 * NNNNNN
 * Arkade Rush
 * Justice Duel
 * BMX Simulator
 * Way of the Exploding Fist


PCSX REARMED

This core has a new auto frameskip mode (based on free audio buffer space).

The Lightrec dynamic recompiler has been updated, and it should fix several
crashes and bugs that occurred before. This would only affect users on
x86/x86_64 and MIPS architecture processors, as ARM architecture-based systems
continue to use the Ari64 dynarec instead.



There has been a GunCon overhaul, the following input descriptors have been
added:

 * Add Trigger, Reload, Aux A, and Aux B as mappable buttons in RetroArch menu
   for players 1 and 2.
 * GunCon trigger, A, and B buttons are mapped to Gun Trigger, Gun Aux A, and
   Gun Aux B instead of hard coded to left click, right click, and middle click.
 * Force cursor to corner of screen for offscreen reload so that reloading works
   on all four edges of the screen.
 * Allow Gun Reload RetroArch input to emulate an offscreen shot.
 * Switch gun coordinates from “Pointer” type to “Lightgun” type.


GW (GAME & WATCH)

The GW (Game & Watch) Libretro core is now available for the MSVC 2005 and 2010
Windows versions. These versions can run on older Windows OS versions than the
regular version.


GPSP

The gpSP Libretro core now uses a small translation cache for the Miyoo
platform.


CAP32

An emulator of the Amstrad CPC 8bit home computer range. This has seen several
improvements.

 * DB: new games from retroachievements
 * UI: added DB icon DSK to status bar
 * DB: you could add direct tokens using $ (for joystick keybinds or cleans)
 * DB: added DB v1 using clean-cpc-db info
 * CORE: added model 664 to allow DSK and BASIC 1.0
 * CORE: detect some configurations from filename
 * VIDEO: minor fixes (requires more work)


SMS PLUS GX

The SMS Plus GX Libretro core should now be more stable on RetroArch PSP. We
achieve this by avoiding unaligned memory access. Previously, after starting a
game, the console would have a tendency to locks itself and shut down.

Other related changes – we replaced ALIGN_LONG with ALIGN_DWORD for Miyoo and
RetroFW to match
the standalone versions. This fixes Master System background rendering. It was
dropped from 3DS as ARMv6 allows unaligned memory access and defining that macro
had no effect anyway. ALIGN_DWORD was dropped from Raspberry Pi (ARMv6/7/8),
Classic (ARMv7), OS X non-PPC (x86, ARMv8), Vita (ARMv7) and Switch (ARMv8) as
those platforms support unaligned memory access.


BEETLE VIRTUAL BOY

Fixed a couple inaccuracies in the VSU modulation emulation, fixing a few sound
effects in “Virtual Boy Wario Land”.


MESEN

The Nintendo Entertainment System emulator core has seen a couple of
improvements.

Before, the core would upload audio by using the audio batch callback multiple
times per frame, unduly ‘stressing’ the frontend audio buffer and leading to
poor AV synchronisation.



We now ensure that the audio batch callback is only used once per frame (unless
the frontend does not support batches of sufficient size, in which case the
samples will be split appropriately).

We also did the following:

 * Sets the default audio sample rate to 48000 Hz. The previous default of 96000
   Hz is so high that RetroArch is required to flush the audio driver twice per
   frame, which is bad for AV synchronisation.
 * Removes the 192000 and 384000 sample rate options, since these are in fact
   unsupported by the underlying emulator code…

Add 4:3 (Preserved) & 16:9 (Preserved) aspect ratios
Mesen by default preserves the aspect ratio in all cases when cropping the
overscan, which results in a difference between the core provided 4:3 and 16:9
ARs, and RetroArch’s own 4:3 and 16:9 ARs, which doesn’t always results in a
ideal image (specifically 16:9 on a 16:9 display will look weird when cropping
is applied).

We now separate Mesen’s preserved 4:3 and 16:9 ARs into their own selections for
the core provided aspect ratio so people can choose whenever or not they want
the aspect ratio to be preserved when using either one of the selections as
their core provided aspect ratio.


BSNES MERCURY/BSNES C++98

The Super Nintendo Entertainment System emulator core has seen a couple of
improvements.

Before, the core(s) would upload audio in packets of 64 samples – which means
the audio batch callback is used multiple times per frame, unduly ‘stressing’
the frontend audio buffer and leading to poor AV synchronisation.



We now ensure that the audio batch callback is only used once per frame.


REMINISCENCE

This Flashback game engine core has now been added for the Miyoo platform as
well.


SCUMMVM

Several serious crashes should be fixed now as a result of us updating the libco
coroutines middleware library.


FCEUMM

This Nintendo Entertainment System emulator core has seen several improvements.

More mapper additions and improvements
Improve mappers 49, 215/258, 340, 341, 351 and 444. Add newly-(re)assigned
mappers 294 and 310. Add new mapper 467.

Expose internal audio RF filter option
The core already contains a low pass audio filter designed to recreate the
‘muted’ sound of the NES when connected to a television via the RF modulator –
but for some reason this functionality is not enabled/exposed.

We have simply wired it up to a new Audio RF Filter core option. When enabled,
the (subjective) improvement in audio quality is quite dramatic. The filter has
a negligible performance impact.

(This filter produces the effect discussed here:
https://forums.libretro.com/t/lowpass-filtering-for-nes-rf/37258)

Add optional ‘fake’ stereo sound effect
We added a new Stereo Sound Effect core option which may be used to simulate
stereo sound by delaying the right audio channel (relative to the left) when
upmixing the mono output from the NES. The delay can be configured from 1 to 32
ms.

The effect is identical to the fake stereo currently available in the Mesen
core.


MINIVMAC

minivmac is an emulator for the Mini vMac, a miniature Macintosh. We added this
core now for ARM Macs. It can be downloaded from the Core Downloader.


GENESIS PLUS GX

Genesis Plus GX is a Sega Master System/Sega Game Gear/Sega Megadrive/Sega
Genesis emulator core.

We are using the low memory codepath now for Miyoo systems. As this platform
only has 32MB RAM, like the RS-90.


XRICK

The Rick Dangerous game engine core has been added for the Miyoo platform.


SNES9X 2005

This Super NIntendo Entertainment System emulator core has seen several
improvements.

Before, the core had bad audio sample pacing:

 * Neither variant of the core sent a number of samples per frame that would
   match the nominal expected values given by the sample rate and fps set in
   retro_get_system_av_info()
 * Due to integer rounding errors, the non-plus core always would send too few
   samples
 * The ‘plus’ version of the core would send the ‘correct’ number of samples, in
   terms of actual emulation – but this does not tally with the sample rate
   reported to the frontend. Moreover, the ‘plus’ core would call the audio
   batch callback twice per frame, which unduly stresses the frontend audio
   buffer.

As a result, the core had bad audio/video synchronisation, affecting frame
pacing.

We fixed several issues:

 * The audio sample rate is now reported as 32040 Hz
 * The non-plus core uses an accumulator to ensure that ‘fractional’ audio
   samples are accounted for and sent when required
 * The plus core now uploads audio samples only once per frame

In addition, we did the following

 * Fixed three memory leaks that were found in the core
 * Modified the Console Region core option to require a restart (since it has
   never been possible to change this at runtime…)

Snes9x2005 Non-Plus: Add optional low pass audio filter
Apart from a substantial difference in audio emulation accuracy, probably the
most obvious difference between the ‘plus’ and ‘non-plus’ versions of the core
is that the latter has an inadequate level of low pass audio filtering, leading
to tinny/scratchy sound.

We added a simple optional low pass filter at the output stage of the ‘non-plus’
core. When enabled, audio is more mellow/bassy, and the generated sound is
closer to that produced by the ‘plus’ version – with only a negligible increase
in performance requirements.


SNES9X 2010

This Super NIntendo Entertainment System emulator core has seen several
improvements.

Use audio batch callback only once per frame

Before, the core would upload samples in batches of ~64, which means the audio
batch callback is used many (~9) times per frame. This ‘overstresses’ the
frontend audio buffer and leads to bad AV synchronisation.

We have fixed the issue by ensuring that the audio batch callback is used to
send all available samples only once per frame.



Improve save state efficiency + fix save state size



At present, every time that retro_serialize_size() is called (i.e whenever save
states are used), the core determines the save state size by allocating a
temporary 5 MB buffer and writing into this an actual save state. Moreover, it
then fails to report the actual size correctly due to a bug in the memory stream
wrapper code – which means save states are always 5 MB in size. This represents
a terrible inefficiency.

Now, the save state size is now calculated independently of regular save state
creation. No temporary buffer is required, and there is no need to actually
write a save state to memory – and save states now have the correct size (~830
kb)


SWANSTATION

This Sony PlayStation1 emulator core has been updated.

 * Remove ‘Force Pop’n Mode’ & ‘NeGcon Steering Axis Deadzone’ options


60HZ MODES FOR > 60HZ EMULATED PLATFORMS

Big improvements for WonderSwan, Lynx and PokeMini emulator cores for the
majority of systems that don’t happen to have VRR displays!


BEETLE WONDERSWAN

At present the core runs at ~75Hz, matching the native refresh rate of the
WonderSwan hardware. This is fine if the core is run on a VRR display (or one
that natively supports 75Hz…), but on regular 60Hz panels it can cause issues.
In particular, screen tearing is very likely to occur. You can experience this
on Linux (when not using a compositor and without vsync forced at the driver
level) and on 3DS. The tearing is so bad on 3DS that we would previously
consider the core to be unusable on that platform…

We now added a new 60Hz Mode core option, which can be used to force the core to
run at 60Hz (actually 60.38Hz, but RetroArch handles this nicely via dynamic
rate control). Note that the core still runs at the ‘correct’ speed when this
option is enabled – internally, the core is running the nominal ~75 frames per
second, but every 5th frame is ‘dropped’. This reduces video smoothness, but
then 75Hz on a 60Hz display is not smooth either. More importantly, enabling
this option eliminates screen tearing.

In addition, we have also made the following minor changes:

 * The frontend reported framerate is now set correctly in 75Hz mode (previously
   this was truncated, leading to a slight tendency for the frontend audio
   buffer to under-run)
 * The internal audio samples buffer has been reduced from a ~64kb (!) static
   array to a tiny, dynamically created array of just the correct size
 * On 3DS, the video buffers are now allocated in linear memory (for improved
   performance)
 * The 96000, 192000 and 384000 audio sample rate options have been removed,
   because they are nonsensical and harm AV synchronisation

Thanks to this 60Hz mode, Beetle WonderSwan is now perfectly playable on
RetroArch 3DS. We have enabled this option by default. If you are using a VRR
display or if you are running at a native 75Hz resolution and would like to
change it back to the native refresh rate, you can just turn this option off in
Quick Menu -> Options.

We have also added the core for RetroArch PS2, although it can’t reach
fullspeed. It’s debatable whether it’s worth including, but for now we keep it
in.

There is also a new optional audio feature. The WonderSwan has a tendency to
produce rather harsh/abrasive chiptunes. The low pass audio filter softens and
‘mellows out’ the generated sound.


POKEMINI

At present the core runs at 72Hz, matching the native refresh rate of the
Pokemon Mini hardware. This is fine if the core is run on a VRR display (or one
that natively supports 72Hz…), but on regular 60Hz panels it can cause issues.
In particular, screen tearing is very likely to occur. We could experience this
on Linux (when not using a compositor and without vsync forced at the driver
level) and on 3DS.

We have now added a new 60Hz Mode core option (enabled by default), which can be
used to force the core to run at 60Hz. Note that the core still runs at the
‘correct’ speed when this option is enabled – internally, the core is running
the nominal 72 frames per second, but every 6th frame is ‘dropped’. This reduces
video smoothness, but then 72Hz on a 60Hz display is not smooth either (and few
Pokemon Mini games are ‘smooth’ to begin with…). More importantly, enabling this
option eliminates screen tearing.


HANDY

This Atari Lynx emulator core has seen several big improvements.

Fix frame pacing
Before, this core had entirely broken frame pacing. The core reported a fixed
refresh rate of 75Hz to the frontend, but the Lynx (and the internal emulation
code) has a variable refresh rate of 0-75Hz; games can render at any rate they
please. In retro_run(), the Lynx is always emulated until the next ‘end of
frame’ event occurs – if a game renders at e.g. 25 fps, this means retro_run()
will actually correspond to (1/25) seconds worth of Lynx runtime instead of the
expected (1/75) seconds. In this case, the game is emulated too quickly – but it
appears to run at the correct speed in the frontend because the core uploads an
‘oversized’ audio buffer (1/25 seconds worth of samples). RetroArch syncs on
audio in such a way that when too many samples are received, the frontend runs
in ‘slow motion’ – so the ‘too fast emulation’ + ‘too many audio samples’
effectively cancel out. But the results are awful. This is a significant
violation of the libretro API, and it destroys the frontend’s ability to
properly synchronise audio and video, and to pace the frames correctly.

We now modified the run loop such that a fixed number of CPU cycles are emulated
on each call of retro_run(), corresponding to the actual frontend output video
refresh rate (which can be set via a new Video Refresh Rate core option). Thus
the Lynx is always emulated at the correct speed, audio is always uploaded in
batches of the correct size, and generated video frames are captured and output
when available (and when the frontend can accept them).

The default Video Refresh Rate has been set to 60Hz, which provides smooth
results for most games (and also eliminates screen tearing on 60Hz displays,
which was an issue when the core only reported a 75Hz refresh rate). If a game
has a higher frame rate than this (rare, but e.g. the intro and menus of
California Games run at the full 75 fps), then ‘excess’ frames will be dropped.
Users with 75Hz+ VRR displays can set higher refresh rates to improve video
smoothness in these cases.

Improve save state efficiency
Before, the retro_serialize() function determines the save state size by
allocating a temporary ~310kb buffer, writing an actual save state into it, then
fetching the resultant buffer occupancy. This is terribly inefficient – and
retro_serialize() is called 3 times every time a state is saved or loaded…

We modified the serialisation memory stream code to allow a ‘virtual’ save state
to be made – no buffer is required, and no data are copied. This means
retro_serialize() can now fetch the save state size with no memory allocations
and no wasted effort.

Add optional LCD ghosting filter

We added a new LCD Ghosting Filter core option which can be used to apply an LCD
ghosting effect by blending multiple successive frames. The number of blended
frames can be set from 2-4; using more frames improves the quality of the effect
at the expense of increased performance requirements.

LCD ghosting is particularly beneficial for the Lynx because many games run at
very low frame rates, and some blurring helps to smooth out the frequently
‘jerky’ screen updates.


RETROARCH UPDATES

See the Changelog below for a detailed breakdown of all the changes that have
happened.

One of the biggest changes for Steam users by far is the new Steam Discord Rich
Presence support. NOTE: You will need to use the desktop client in order for
this to work. It won’t work with the webbrowser client.


CHANGELOG

1.10.3

 * ANDROID: Decouple Play Core dependency to bring app into compliance for
   F-Droid
 * AI/SERVICE: Disable AI Service setting by default
 * BLUETOOTH/LAKKA: bluetoothctl: add / modify pairing steps
 * CHEEVOS: Disallow manual frame delay setting in Hardcore Mode
 * DATABASE: Serial scanning for Wii now includes WBFS
 * INPUT/MAPPING: Fix offset + crash when clearing input port binds
 * INPUT/MAPPING: Fix saving of ‘Analog to Digital Type’ when configuration
   overrides are used
 * LOCALIZATION: Add Valencian language option
 * LOCALIZATION: Updates
 * MENU/SETTINGS: Move ‘Show Menu Bar’ under ‘Windowed Mode’ settings
 * MENU/SETTINGS: Add sublabels for ‘Subsystems’ and ‘Input
   Deadzone/Sensitivity’
 * MENU/SETTINGS: Move ‘On-Screen Notifications’ to top
 * MENU/XMB: Unified the shadow alpha value to a slightly darker one for better
   readability
 * MENU/XMB: Corrected the option label and sublabel for actual behavior
 * MIYOO: Enable ALSA audio driver and default to it
 * PSP: Take out extra languages/localization, adds about 4/5MB to the binary,
   and RAM is limited on PSP (32MB and 64MB RAM models)
 * STATIC PLATFORMS: Populate all history list metadata when launching content
   from playlists
 * STEAM: Introduce Steam Rich Presence
 * VIDEO: Fast-Forward Frameskip improvement
 * VIDEO/THREADED: Stability fixes
 * WINDOWS/WINRAW: Fix multiple light guns
 * WIIU: Fix USB get_device_name(), don’t truncate to three chars

Libretro, RetroArch


LAKKA 4.1 RELEASE

April 8, 2022April 8, 2022 Libretro Team


New version of Lakka has been released!

We are happy to announce the new and updated version of Lakka. Read the full
article here.

Libretro, RetroArch


LAKKA 4.1 RC RELEASE

April 3, 2022April 8, 2022 Libretro Team


New version of Lakka has been released!

We are happy to announce the new and updated version of Lakka. Read the full
article here.

Blog, Lakka, Libretro, RetroArch


RETROARCH 1.10.2 RELEASE!

March 29, 2022 Libretro Team


RetroArch 1.10.2 has just been released.

Grab it here.

If you’d like to learn more about upcoming releases, please consult our roadmap
here.

Remember that this project exists for the benefit of our users, and that we
wouldn’t keep doing this were it not for spreading the love to our users. This
project exists because of your support and belief in us to keep going doing
great things. We have always prioritized the endusers experience, and unlike
others, we have never emburdened them with in-app ads, monetization SDKs or
paywalled features, and we intend to continue to do so. If you’d like to show
your support, consider donating to us. Check here in order to learn more. In
addition to being able to support us on Patreon, there is now also the option to
sponsor us on Github Sponsors! You can also help us out by buying some of our
merch on our Teespring store!


HIGHLIGHTS


BIG IMPROVEMENTS FOR STEAM AND STEAM DECK USERS


We’re gearing up for Steam Deck, and in the process we are finally starting to
turn the RetroArch Steam version into something more than just a plain port
(courtesy of Mats).

We came up with a SteamWorks shim that allows RetroArch Steam to interface with
the Steamworks API. Mist, our middleware tool, runs in a separate process, runs
concurrently wtih RetroArch Steam, and functions as a bridge between this
separate process interfacing with Steamworks and the GPL application itself
running in an entirely different process. This is 100% GPL compliant and the
same approach has been employed by numerous other examples on Steam, including
the aforementioned Icculus.



Thanks to Mist, here are some of the big new features for Steam users (and in
particular, Steam Deck users):

 * You can now install and uninstall cores directly from inside RetroArch by
   going to ‘Manage Cores’ from inside the menu. No longer do you have to
   manually browse Steam with your webbrowser and download random core DLCs for
   RetroArch, you can do it from within the convenience of the app running
   itself.
 * On Steam Deck, the native OSK (Onscreen Keyboard) will appear now instead of
   the RetroArch default OSK. This should give a more seamless experience. We
   have decided against enabling the Steam OSK with Big Picture since it seems
   partially broken and instantly dismisses itself (or at least those were our
   testing results on a Steam Deck).

As a result of these changes, the Steam port is starting to become its own thing
rather than just a straightforward no-frills port of the Windows/Linux versions.


IMPROVED AUDIO SAMPLE PACING / LATENCY IN MANY CORES

Big improvements have been made to several cores concerning improved audio
latency and audio sample pacing.

Not only should performance be better, but you should also be able to lower
audio latency buffers now while still getting perfect sound.

Here are some of the cores that have received work recently on this front:

 * Cannonball
 * Flycast
 * Gambatte
 * Nestopia
 * Snes9x
 * Snes9x 2002
 * Snes9x 2005
 * Snes9x 2010
 * SwanStation
 * UAE
 * VICE

For example, frame time deviations in a core like Snes9x 2010 are now extremely
low with a default 64ms audio buffer. We measured 0.4 to 0.3% deviation, and
this figure could likely be optimized even further by fiddling some more with
audio buffer latency, or changing the audio driver.

Other measures have also been taken to further improve audio latency. Some cores
have been updated now so that audio gets pushed to the frontend (i.e. RetroArch)
AFTER the video frame has been uploaded. This is just in case the audio upload
blocks for too long due to audio processing and syncing performed by the
frontend. Uploading the video frame as soon as possible after the emulation loop
is generally a good idea since it potentially avoids unnecessary input latency.

Steps have also been taken in cores to minimise use of the audio batch callback
(for example, Tyrquake and Snes9x 2010), leading to better audio sample pacing,
less overhead and better overall performance.


FOR MIYOO USERS

The following cores have been added for Miyoo platform users:

 * BlueMSX
 * ECWolf
 * FCEUmm


FOR OPENDINGUX USERS

The following cores have been added for OpenDingux platform users:

 * Dinothawr
 * NXEngine
 * XRick


UI/UX IMPROVEMENTS


RGUI, MaterialUI and Ozone menu drivers now have new color themes. ‘Gray Dark /
Gray Light’ themes have been added.

For XMB users, vertical fade adjustments have been made so that it functions a
bit better like the original. Title margin can now also be adjusted, so that the
title won’t cut off anymore on display devices with overscan (i.e. CRT TVs).

For RGUI users, 6×10 extended ASCII and Latin Extended A and B fonts have been
added. These will enable most Latin alphabets to be displayed in RGUI.

For Ozone users, a thumbnail scaling option has been added (Settings->User
interface->Appearance). This option scales the size of the thumbnail sidebar,
which in turns means the thumbnails are scaled along with it. It should scale
the thumbnails so that they should fill up more screen real estate now in the
right sidebar. See the picture below for an example.




MANAGE INPUT REMAPPING FILES

1.10.2 adds a new Manage Remap Files submenu to Quick Menu > Controls:





This updates correctly in real-time (the previous save/remove remap menu entries
do not…), and only shows relevant options. When removing a remap, existing files
are re-scanned and the one with the next highest priority (if found) will be
loaded.

In addition, the currently active remap file will be saved automatically when
closing content – i.e. it is no longer necessary (or indeed possible!) to save
the file manually after each change.

We have also added a new Reset Input Mapping entry under Quick Menu > Controls >
Manage Remap Files:

We have also fixed a nasty bug that could cause remap file corruption (incorrect
or unwanted entries) when saving a remap after resetting one or more binds.


PREVENT ‘GLOBAL’ CONFIGURATION OF INPUT LIBRETRO DEVICE TYPE

Before, RetroArch allowed the input ‘libretro device type’ to be set globally
per-user. This was nonsensical for a couple of reasons:

 * Input device type has no meaning unless a core is actually running, so the
   option to set it globally does nothing but confuse users
 * A global device type may be set that is incompatible with cores, leading to
   disabled input in-game. e.g. setting the global type to ‘RetroPad with
   Analog’ breaks Beetle PSX, since that is not a valid device type recognised
   by the core

1.10.2 fixes the issue by:

 * Removing the global option Settings > Input > Port N Controls > Device Type
   (device type can now only be set while a core is running, via Quick Menu >
   Controls > Port N Controls)
 * Ensuring that the ‘global’ device type is reset to the default
   RETRO_DEVICE_JOYPAD on startup and when closing cores (unless a device type
   override is set via the existing command line interface)

Note that device type is no longer stored in the main RetroArch config file,
only in input remap files.


WIIU – OPTIMIZE FOR GAMEPAD



RetroArch WiiU adds a new option (Settings -> Video -> Output -> Optimize for
GamePad). When enabled, it uses a 960p viewport if the user is on either 720p or
1080p (if they’re on 480p, they’re already optimized for GamePad). It defaults
to off, so the native TV resolution is still preferred out of the box.

EXPLANATION

The Wii U is a weird case with RetroArch because of the two screens (TV and Wii
U GamePad). The Wii U can be configured to output video at 480p, 720p or 1080p
(or interlaced equivalents), whereas the GamePad has a native 480-line display.
While it is possible to send different images to the TV and GamePad, RetroArch
currently sends the same image to both. This creates a bit of a conundrum as 480
does not divide evenly into any of the other available resolutions.

When running 240p content, setting the Wii U to 720p just works, because a 3x
integer scale (240*3 = 720) on the TV also happens to be a 2x integer scale
(240*2 = 480) on the GamePad. However, when running 480p content, having the Wii
U set to 720p will result in a poor image all around, with non-integer scaling
from 480->720 on the TV, and then even worse, 480->720->480 on the GamePad.

Running the Wii U at 1080p, you get the worst of all worlds. Absolutely nothing
divides evenly into 1080, so no matter what content you’re playing, you’ll need
either large borders or a filter/shader to stretch to that non-integer
resolution, and putting that 1080p image back on the 480p GamePad makes it even
worse again. Many users only use 720p because of the poor results you get from
1080p currently.

By running 1080p with a 960p viewport, you can do things like a 4x integer scale
of 240p content which becomes a 2x integer scale on the GamePad, or a 2x scale
of 480p content which becomes a 1x native display on the GamePad. Even more
exotic resolutions like the Game Boy Advance (160p) are enhanced, with 160
dividing 6x into 960 or 3x into 480. This one change makes 1080p a lot less
useless on Wii U.

 * when “Optimize for Gamepad” is OFF: use the system output resolution
   (previous behavior)
 * when “Optimize for Gamepad” is ON, pick the closest resolution based on the
   system resolution


AND MORE

Not listed here of course are all the countless improvements made to individual
cores since the last version. We might go into more detail on that sometime
later, but rest be assured that cores are updated on a daily basis and receive
heavy improvements, so keep updating your core library to get the latest
benefits at all times!


CHANGELOG

1.10.2

 * 3DS: Add a menu toggle for switching between old and new 3DS speeds, located
   in the ‘Power Management’ menu. Enabled by default, hidden on old 3DS
   devices.
 * AUDIO/MIXER: Free audio voices properly
 * CHEEVOS: Update to rcheevos 10.3.3
 * CHEEVOS: Support for Arduboy
 * CHEEVOS: Fix tab sequences in rich presence being turned into t character
 * CHEEVOS: Fix overflow when parsing float value that has more than 9 digits
   after the decimal
 * CHEEVOS: Fix memory mapping when disconnect mask breaks a region into
   multiple blocks
 * CORES: Enable manual selection of which cores are displayed in the
   ‘Standalone Cores’ menu
 * DATABASE/EXPLORE: Added more categories to the Explore menu
 * INPUT: Fix analog stick not working with ‘Unified Menu Controls’
 * INPUT/MAPPING: Add ‘Manage Remap Files’ submenu + automatically save input
   remaps when closing content
 * INPUT/MAPPING: Add ‘Reset Input Mapping’ option to ‘Manage Remap Files’ menu
 * INPUT/MAPPING: Fix keyboard device remap nulling
 * IOS/IOS13+: Support a toolbar that allows toggling of onscreen keyboard and
   touch mouse
 * LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix – ensure core is properly unloaded
   when RETRO_ENVIRONMENT_SHUTDOWN is called
 * LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix – ensure menu stack is properly
   flushed when RETRO_ENVIRONMENT_SHUTDOWN is called
 * LINUX/MALI FBDEV: Fix segfault switching video threaded from quickmenu
 * LOCALIZATION: Add Czech language support
 * MMAP: Handle disconnect bits on both sides of len
 * MIYOO: Improve CPU architecture and model name identification for Miyoo
 * MENU/SETTINGS: Remove ‘Advanced Settings’ flag from ‘Settings > Core’ menu
 * MENU/MATERIALUI: Add ‘Gray Dark + Light’ themes
 * MENU/RGUI: Add 6×10 extended ASCII and Latin Extended A and B fonts. These
   will enable most Latin alphabets to be displayed in RGUI.
 * MENU/RGUI: Add ‘Gray Dark + Light’ themes
 * MENU/XMB: Add title margin adjustment
 * MENU/XMB: Vertical fade corrections
 * MENU/OZONE: The size of the thumbnail bar can now be changed though a new
   option (Settings->User interface->Appearance) up to double its normal size.
 * MENU/OZONE: Add ‘Gray Dark + Light’ themes
 * MENU/OZONE: Add thumbnail scale option
 * HOTKEYS: Added hotkey for toggling sync to exact content framerate
 * HOTKEYS: Prevent log spam when using rewind hotkey with cores that don’t
   support rewind, if rewind functionality itself is disabled
 * HOTKEYS: Add hotkey for toggling sync to exact content framerate
 * PS3/PSL1GHT: Add RSX graphics support
 * PS3/PSL1GHT: Add libco support
 * PS3/PSL1GHT: Add experimental PSMove support
 * RS90: Optimise layout of sdl_rs90_video
 * STEAM: Use native OSK (Onscreen Keyboard) instead of built-in RetroArch
   version
 * STEAM: New built-in core DLC downloader
 * STEAM: Swap OK/Cancel buttons by default
 * VIDEO/HDR: Removed redundant copy of buffer in HDR mode if the shader has
   already a HDR format i.e. R10G10B10A2 (updated Vulkan/D3D11/D3D12 drivers)
 * VIDEO/HDR: Fixed crash when using stock shader and HDR and previous
   optimisation
 * WAYLAND: Dynamically load libdecor at runtime
 * WAYLAND: Fix splash screen when using xdg_toplevel
 * WAYLAND: SHM anti-collision for the splash screen
 * WAYLAND: Skip splash screen if window is not ready
 * WII: Fix find_connection_entry(): needs unsigned int Otherwise the USB
   gamepad cannot be found, if VID/PID has leading zero. This issue happened
   with Retrode gamepad adapter
 * WII: Rework Retrode gamepad implementation to support multi_pad interface
 * WII: Fix – Unplugging and re-plugging now works again
 * WII: vWii- Only gamepad 1 is supported, because multi_pad is currently only
   relevant in the Wii U implementation
 * WIIU: Implemented the multi_pad interface according to
   input/connect/connect_wiiugca.c
 * WIIU: Add Optimize for Gamepad option
 * WIIU: Fix USB gamepad support

Libretro, RetroArch


LAKKA 4.0 RELEASE

March 20, 2022March 20, 2022 Libretro Team

Original article here.

New version of Lakka has been released!

We are happy to announce the new and updated version of Lakka.


RELEASE SUMMARY

Changes since version 3.7:

 * Build system based on LibreELEC 10.0.2
 * RetroArch updated to 1.10.1
 * Cores updated to their most recent versions
 * superbroswar: added new libretro core
 * sameduck: added new libretro core
 * Mesa updated to 22.0.0
 * Mainline kernel updated to 5.10.103 (PC, Amlogic, Allwinner, NXP)
 * Raspberry kernel updated to 5.10.95
 * Most ARM devices switched to aarch64
   Rockchip RK3288, RK3328 and RK3399 switched to mainline kernel 5.10.76
 * Added support for additional Allwinner and Amlogic devices (not tested on our
   side, as we do not own many of these devices)
 * Nintendo Switch: complete rewrite of the port with many fixes and
   enhancements
 * Tinkerboard and MiQi now use common system RK3288 (hence the change of the
   image names); you need to place empty file named .nocompat in the
   /storage/.update folder / Update Samba share
 * Dropped support for RPi4.arm

This is our first release with the updated build system. We tried to port all
our changes to this new build system, but we might have missed some of our
optimizations and enhancements. Please report us any regression or missing
features or drivers via our issue tracker.

Not all platforms have been ported to the new build system yet. For these
platforms we have released a maintenance update (3.7.1) with RetroArch and
libretro cores updated to the same versions as in 4.0 release. Lakka users with
Hardkernel’s Odroid XU3/4, Odroid Go Advance / Super, and Anbernic’s RG351M /
RG351P / RG351MP / RG351V devices get update as well.


KNOWN ISSUES

See GitHub for information about currently open bugs and issues and also for
possible workarounds for these bugs/issues.


FINAL NOTES

You can download the latest release from Lakka download page. If you want to
follow the development of Lakka more closely, you can download latest Lakka
nightly builds.

If you want to show your support for further development of the Libretro
projects and ecosystem, you can learn more here.

Happy retro-gaming!

Lakka, Libretro, RetroArch


LIBRETRO/RETROARCH NEW CORES – A5200/WASM4/ARDUOUS/SAMECDI/JUMPNBUMP

March 9, 2022March 12, 2022 Libretro Team

Libretro and its various contributors have certainly been busy these past few
weeks. We bring to you a wide range of new cores, available for use in
RetroArch, and/or any other Libretro-compatible frontend.


A5200

The a5200 core is an optimised Atari 5200 emulator based on Atari800 2.0.2.
Originally developed for the GCW Zero, it runs full speed on even the weakest
hardware (e.g. o3DS) – yet with a design focussed on ease of use and tight
libretro integration it provides a simple ‘plug and play’ solution for Atari
5200 content on all platforms. The core debuts with robust input handling
(including analog and number pad entry), audio filtering, CRT ghosting effects,
an optional internal open-source BIOS and full save state support. Further
enhancements are planned over the coming weeks.


WASM-4

WASM-4 is a low-level fantasy game console for building small games with
WebAssembly. Game cartridges (ROMs) are small, self-contained .wasm files that
can be built with any programming language that compiles to #WebAssembly.

You can now play these games/programs from within RetroArch, or any other
Libretro-compatible frontend.



You can find more information at here.


ARDUOUS

A Libretro core for the #Arduboy. The Arduboy is a handheld game console with
open source software, based on the Arduino hardware platform.




SAME_CDI

SONY DSC

SAME CDi is a S(ingle) A(rcade) M(achine) E(mulator) for libretro, forked from
MAME libretro, which is in turn a fork of MAME. It includes only the Philips
CD-i driver, and simplifies the loading of CD content to provide a ‘plug and
play’ experience. It emulates exclusively the Philips CD-i game console/settop
box device from the early ’90s.

You can find more information at here and here.


JUMP ‘N BUMP

 



Jump ‘n Bump has finally been ported to Libretro/RetroArch. This is a game for
the whole family. You play as a cute fluffy little bunnies and hop on each
other’s heads.

At the beginning you are in the menu, where you have to let each active player
jump over the tree trunk to enter the play area, and then walk to the right. You
will then enter the arena. The aim is to jump on the other bunnies’ heads…

Jump ‘n Bump was originally a DOS game by Brainchild Design, which was open
sourced under the GPL license and ported to SDL, and then SDL2.

How to use it
You can play Jump ‘n Bump by loading one of the .DAT files (levels) from Load
Content. A fair few of them are available on Libretro/RetroArch’s ‘Content
Downloader’.

Arduous, Philips CD-i, RetroArch, Same_CDi, WASM-4


POSTS NAVIGATION

Older posts
Proudly powered by WordPress | Theme: Zircone by @JuanJavier1979.

We are using cookies to give you the best experience on our website. We collect
users data for personalisation of ads, and also Google will use your personal
data when you give consent on our site. Check this link to Google’s Privacy &
Terms site. You can find out more about which cookies we are using or switch
them off in settings.

Close GDPR Cookie Banner
Accept Reject Settings Close GDPR Cookie Banner
Close GDPR Cookie Settings
 * Privacy Overview
 * Strictly Necessary Cookies
 * 3rd Party Cookies

Powered by  GDPR Cookie Compliance
Privacy Overview

This website uses cookies so that we can provide you with the best user
experience possible. Cookie information is stored in your browser and performs
functions such as recognising you when you return to our website and helping our
team to understand which sections of the website you find most interesting and
useful. We are using cookies to give you the best experience on our website. We
collect users data for personalisation of ads, and also Google will use your
personal data when you give consent on our site. Check this link to Google’s
Privacy & Terms site.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save
your preferences for cookie settings.

Enable or Disable Cookies

If you disable this cookie, we will not be able to save your preferences. This
means that every time you visit this website you will need to enable or disable
cookies again.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the
number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.

Enable or Disable Cookies

Please enable Strictly Necessary Cookies first so that we can save your
preferences!

Enable All Save Settings