RetroArch with Flatpak – Distro-independent Linux version!

Flatpak LogoInstalling RetroArch on Linux has just become a whole lot easier with the use of Flatpak. Flatpak provides a common standard in which to install sandboxed applications across many different Linux operating systems and desktop environments. Along with the Flathub repository, installing RetroArch with Flatpak becomes a breeze.

Install Flatpak

The first thing to do when getting up and running with Flatpak is to install it. There are many different ways to install Flatpak, so I’ll let you decide the best for your distribution. Once installed, you should be able to run the following command to see how to use it:

flatpak --help

Welcome to Flathub

Add Flathub

Much like your favourite package manager, Flatpak uses repositories to manage available applications. Flathub is a quickly-growing Flatpak repository, which is where RetroArch is available from. To let Flatpak know about Flathub, you’ll have to add the repository to your remotes:

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install RetroArch

Now that the flathub remote is available, you can now install RetroArch on Flathub:

flatpak install --user flathub org.libretro.RetroArch

Run RetroArch with Flatpak

When RetroArch is installed through Flatpak, it will automatically become available through the system menu and you can run it as normal. Alternatively, you can also run it through the terminal:

flatpak run org.libretro.RetroArch
Screenshot of RetroArch running through Flatpak
RetroArch running through Flatpak

With Flatpak, you can install applications on Linux very easily, no matter what distribution or desktop environment you use. Flatpak repositories like Flathub provide a central hub in which to keep applications up to date. This revolutionises the way applications can be installed on Linux, and provides just one more easy way to install RetroArch.

Resources

New core: OpenLara (Windows/Linux)

OpenLara is now available as a libretro core! This is a new work-in-progress Tomb Raider game engine by developer XProger and is already progressing rapidly.

If you’d like to know more about the project, please visit its site here. There’s even a cool web demo you can check out here.

Available for

The OpenLara core is currently available for:

  • Windows (32bit/64bit)
  • Linux (32bit/64bit)

Further requirements: This core requires that you turn on ‘Enable Shared Hardware Context’, otherwise you will only see a single texture being displayed onscreen instead of the game screen.

Note for macOS users: There is currently no ‘working’ macOS version available because of the aforementioned reason. Please be patient and keep the faith, we have not forgotten about macOS users and we have not relegated them to second-class citizen either. Just going to take a little bit of time before we sort this out.

How to get it

  1. Start RetroArch.
  2. Go to Online Updater -> Update Cores.
  3. Download ‘Tomb Raider (OpenLara)’ from the list.

Important!

  • This core requires that you use OpenGL as the video driver. Go to Settings -> Driver. If ‘video driver’ is set to ‘vulkan’, switch it back to ‘gl’, and then restart.

How to turn on shared hardware context (required)

This core also requires that you turn on ‘Enable Shared Hardware Context’. If you don’t do this, you will only see a single texture on the screen, like this –

If you see this, then 'Enable Shared Hardware Context' should be turned on!
If you see this, then ‘Enable Shared Hardware Context’ should be turned on! Read below on how to do that!

First, you need to ensure that ‘Show Advanced Settings’ is turned on. Go to Settings -> User Interface and turn ‘Show Advanced Settings’ on.

Now, go back, and go to Settings -> Core.

Once inside the ‘Core’ settings, set ‘Enable Shared Hardware Context’ to ON.

The upcoming version of RetroArch (version 1.6.1) might make it unnecessary to toggle this, saving you the hassle of having to do this.

How to use it

Convincing self-shadowing effects which the original games didn't have.
Convincing self-shadowing effects which the original games didn’t have.

Right now, OpenLara is more of a tech demo. You have to load separate levels into the program in order to play them. You cannot currently play Tomb Raider from beginning to end using this core. We hope that it will book major progress so that one day we can replay the old Tomb Raider games entirely with these enhanced graphics and enhanced framerates. To this end, we intend to support the project.

For demonstration purposes, we provide you with the Tomb Raider 1 demo levels so that you can test it out. It is also possible to use levels from the PC/PSX version and load this into the game engine core, so try that out at your own discretion.

How to use the demo

We assume you have already followed the steps in ‘How to get it’, and that the core is already installed.

  • Go to Online Updater -> Content Downloader.

  • Go to ‘Tomb Raider’, and select the file ‘tombraider1-demo.zip’.

  • Go back to the main menu, and now select ‘Load Content’. Select ‘Downloads’. Go to the folder ‘Tomb Raider’, and select LEVEL2.PSX. If all went well, OpenLara should now start at Level 2 of Tomb Raider 1.

 

Be aware that certain gameplay elements are simply not implemented as of yet, such as health bars, taking damage, etc. You can ‘complete’ the stage technically but you also cannot die or continue to the next level.

Controls

The controls on the RetroPad are set up to mirror those of the PSX Tomb Raider games.

L2 – Sidestep left

R2 – Sidestep right

R1 – Hold to walk

Y button – Jump

B button – Action button. Can be used to flick switches/toggles, etc, or to grab a ledge.

X button – Draw weapon. Press B button to shoot, and press X again to withdraw.

A button – Do a roll. This works a bit different from regular Tomb Raider mechanics in that it will perform a back dash if you press the A button without moving.

Start button – This will toggle a fullscreen mode that is very much like what Mirror’s Edge would have looked like with a PS1-era game engine.  Note that toggling this right now is very finicky, and will be improved in the future.

There is currently no way to toggle the inventory or to select weapons on the RetroPad other than the default guns. The reason for there being no inventory is because OpenLara itself doesn’t have that yet.

Enhancements

The MIrror's Edge-style first person mode along with Lara's shadow projected onto the wall
The MIrror’s Edge-style first person mode along with Lara’s shadow projected onto the wall

The nice thing about OpenLara is that, while staying true to the original look and feel of the original, it also adds some graphical enhancements to it that manages to make the boxy old-school Tomb Raider games look a bit less archaic. Some examples include :

  • Self-shadowing on Lara, enemies, etc.
  • New water effects which replaces the simple vertex manipulation of the water surface on the PSX. The Saturn version actually was the only version that tried to do something a bit more sophisticated with the water. If you dislike these very nice graphical enhancements, I inserted a core option so you can turn these off (‘Enable water effects’ in Quick Menu -> options).
  • Shading effects – after Lara gets out of the water, her skin has a slightly wet shading effect.
  • A first-person mode that is more convincing and fun than what you’d expect. It behaves a bit like Mirror’s Edge in that the camera bobs up and down, and you can see Lara’s hands move in front of you. If you try to do a somersault – the camera will rotate along with it as well. What makes the firstperson mode a bit more convincing is the new self-shadowing effects that have been added.

Extra features

To access these settings, while the game is running, go to the RetroArch menu, and select 'Quick Menu -> Options'.
To access these settings, while the game is running, go to the RetroArch menu, and select ‘Quick Menu -> Options’.
  • You can increase the resolution all the way up to 2560×1440. Higher resolution modes might become available as time goes on.
  • The OpenLara core is framerate-independent. Go to Quick Menu -> Options, change ‘Framerate’ to the value you desire, and then restart the core. You can run OpenLara at 30fps / 60fps / 90fps / 120fps / 144fps. The default framerate is 60fps.
  • You can turn the advanced water effects off if you so desire. Go to Quick Menu -> Options, change ‘Water effects’ to ON/OFF, and then restart the core. You can also turn on/off bilinear filtering similarly.

Unimplemented

There are still some things which are not fully implemented in this version.  Some examples include:

  • Save states are not implemented. And savestates don’t seem to be implemented in upstream either, so not much that can be done about it at this stage.
  • As mentioned before, this is still more of a tech demo project. You cannot complete any Tomb Raider game right now from beginning to end; you can only play individual levels.
  • The analog sticks are currently unbound. It might be a good idea to bind camera manipulation to the second analog stick.
  • There are no mouse controls. The standalone version does have this. We will try to hook this up as well later.

Still coming up!

Still yet to be released shortly (in the next few days) is:

  • Dolphin (Gamecube/Wii emulator, with Gamecube-only controls at first)

This will probably coincide with a new version of RetroArch, version 1.6.1. Stay tuned!