Tomb Raider (OpenLara)Link


A new work-in-progress Tomb Raider game engine ported to libretro.

This game engine recreation seeks to allow you to play the original Tomb Raider engine games, from 1 all the way up to 5.

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

  • The framerate is no longer fixed to 30fps, and you can now run it at a smooth 60fps framerate. There are even more framerate options, allowing you to play at 90fps, 120fps or even 144fps.
  • You can set the internal resolution of the game.
  • 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.
  • Self-shadowing on all the player models (although this still has some visual anomalies at places).
  • Improved lighting effects, including colored lighting (you can see the save crystals emanating a blue light for instance, something which definitely was not in any of the prior Tomb Raider versions).
  • Shading effects – after Lara gets out of the water, her skin has a slightly wet shading effect.
  • There is also a brand new local multiplayer mode. You toggle the game into splitscreen mode by pressing Start at any one time. From there, you can see a second Lara character, which is only distinguished from the main character by a slightly jerky animation update routine. Player 2 can now take control of this Lara and you can engage in ‘jolly co-operation’. At all times, Player 1 can beckon Player 2 back to his position by pressing the Start button, which resets player 2’s position back to Player 1’s so that Player 2 can always be brought back in case he/she is running too far astray.
  • There is also a first person view that you can toggle into by pressing the Look button (L button) and then pressing the Action button (B button). This gives you a Mirror’s Edge-esque first person view.
  • The ability to target two enemies at the same time individually.
  • The graphical enhancements can all be toggled on/off inside the game’s inventory settings screen (toggleable by pressing the Select button).

The OpenLara core has been authored by

  • XProger

The OpenLara core is licensed under

A summary of the licenses behind RetroArch and its cores have found here.


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.


There is currently no ‘working’ macOS version available due to the OpenGL requirement.

Also, the OpenLara 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.

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

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

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


Content that can be loaded by the OpenLara core have the following file extensions:

  • .phd
  • .psx
  • .tr2

RetroArch database(s) that are associated with the OpenLara core:


Frontend-level settings or features that the OpenLara core respects.

Feature Supported
Core Options
RetroArch Cheats
Native Cheats
Disk Control
Crop Overscan


The OpenLara core's library name is 'OpenLara'

The OpenLara core saves/loads to/from these directories.

Frontend's System directory

File Description
openlara-*.xsh Shader files

Geometry and timingLink

Core optionsLink

The OpenLara core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.

Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

  • Framerate (restart) [openlara_framerate] (60fps|90fps|120fps|144fps|30fps)

    Modify framerate.

  • Internal resolution (restart) [openlara_resolution] (320x240|360x480|480x272|512x384|512x512|640x240|640x448|640x480|720x576|800x600|960x720|1024x768|1024x1024|1280x720|1280x960|1600x1200|1920x1080|1920x1440|1920x1600|2048x2048|2560x1440|3840x2160|7680x4320|15360x8640|16000x9000)

    Modify the internal resolution.

Internal resolution - 320x240

Internal resolution - 1920x1080


RetroPad Inputs User 1 input descriptors
Action (Shoot/grab)
Draw weapon
Walk (when holding)
Duck/Crouch (TR3 and up)
Dash (TR3 and up)