← Back to the port library
Real Racing 3 gameplay
RACING

Real Racing 3

The 2013 Firemint/Firemonkeys racing game, running its original Android ARM library directly on Linux through a bionic/JNI compatibility loader.

ARM LINUXGAME FILES REQUIRED
↓ Download from GitHub 5.3 MB

Release 1.1.0

Source & updates on GitHub ↗

Port files only. Purchase the original game separately.

Build release notes

Notes are shown for each published release, alongside the build tag they describe.

Release 1.1.0 · 2026-09-26
  • to fix getting out of share or invite friend screen add mouse mode
  • mouse mode added
  • L1/R1 to scroll screen help where there is no right thumb stick

Add Select to switch between Normal Mode and Mouse Mode, with automatic return to Normal Mode after 15 seconds without input.

In Mouse Mode, move the white software cursor with the d-pad, use A to tap and B to go back. Show the white arrow only in Mouse Mode; preserve RR3’s red hand in Normal Mode.

Map L1/R1 to right-stick left/right in both modes. Map L2/R2 to those directions only in Mouse Mode, preserving their normal trigger functions.

Release 1.0.9 · 2026-09-23
Release 1.0.8 · 2026-09-21
Release 1.0.7 · 2026-09-21
  • Automatic resolution detection and resolution.txt overrides.
  • Add Support for different aspect ratio
  • eapx first-launch stages and percentage.
  • Build instructions, testing posts, original credits and licences.
  • gptokeyb2 exit handling alongside native controls.
  • Add prper cover art.

Bring your game

Playable, with performance depending on the handheld. Supply your own complete Real Racing 3 2.7.0 Android game data. The port requires libRealRacing3.so and libfmodex.so from the 2.7.0 armeabi-v7a APK together with the fully downloaded game data directory. The APK alone is not enough because the additional tracks, cars, audio and UI data can no longer be downloaded from the original game servers. Copy your donor game data into ports/realracing3/ as a folder, ZIP or APK in any combination. The filenames do not matter; on first launch the port identifies and imports the required files automatically into ports/realracing3/data/. Keep the device powered on while the import completes and allow approximately 2.6 GB of free space. Menus, driving, sound and controller input are working. Performance is approximately 15-20 FPS on RK3326-class handhelds and may be better on faster ARM devices.

Install the port

  1. Update PortMaster. Copy realracing3-portmaster.zip into its autoinstall/ folder and open PortMaster.
  2. Copy the owned game files into realracing3-portmaster/ as described above. Launch Real Racing 3 from your ports menu.
Manual installation paths

Handheld controls

ControlAction
Left stick (left/right)Steer
R2Throttle (analog)
L2Brake (analog)
R1 / L1Emulate right-stick right / left
AThrottle (digital, full)
YBrake (digital, full)
BLook behind
XChange camera
D-pad left / rightSteer (digital, full lock)
StartPause
SelectToggle Normal Mode / Mouse Mode
Control in Mouse ModeAction
------
D-padMove the on-screen cursor
ATap at the cursor
BBack
L1 / L2Emulate right-stick left
R1 / R2Emulate right-stick right
Right stickKeep its normal game input, including list scrolling where supported
StartPause

The port does not invent a control scheme. Real Racing 3 already ships one for game controllers: the [Android Gamepad] profile inside the game's own joystick_config.txt, which the engine loads for every pad it sees. Everything below is that profile, with the handheld's buttons translated to the ordinals the game's ControllerManager expects.

On a first launch the port also selects Wheel B (Wheel_Manual) as the control scheme, because it is the only scheme in the game's own Controls menu that both steers from the analog stick and leaves the throttle to the player. The stock Android default, *Tilt A*, hands the throttle to the game and expects an accelerometer this handheld does not have. Change it at any time from Settings → Controls in the game; the port never overwrites your choice after the first boot.

### Driving

Face buttons are the ones printed on the handheld: A is the right button, B the bottom one, X the top one, Y the left one. The tutorial's prompt *"press the topmost face button to change the camera"* therefore means X, and it is correct.

Normal Mode keeps L2/R2 as analog brake/throttle. L1/R1 are remapped to the right stick's horizontal directions in both modes. In Mouse Mode, L2/R2 also emulate left/right on that axis.

### Menus

The port starts in Normal Mode, which preserves the game's controller bindings. Press Select to enter Mouse Mode for touch-only screens; press it again to return to Normal Mode. Mouse Mode also returns to Normal Mode after 15 seconds without input. L1/R1 use the horizontal stick mapping in both modes; L2/R2 use it only in Mouse Mode. The game's hand follows the cursor, with no extra arrow drawn over it.

Two of these controls have been exercised end to end so far — steering on the left stick and the throttle on R2, both through the driving tutorial. Every other row is the binding the game's own profile declares and the port emits, but nobody has confirmed it on screen yet, on this harness or on hardware.

Saves & troubleshooting

KEEP THE FORGE GLOWING

Connect & Support