Repository navigation
Releases: Odrannnn/MetroidPrimePort
Release list
v0.18.0
Any screen shape now works: near-square and tall screens get the whole picture
instead of black bars (#12), ultrawide cutscenes are no longer close-ups (#14),
and Android gets touch controls you can lay out yourself plus a new twin-stick
layout (#11).
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Screens of any shape
- Below 4:3 (near-square screens, foldables, portrait-ish windows), the game
fills the screen instead of letterboxing (#12). The view keeps retail's
width and gains height, and the HUD spreads over the extra height: the
helmet, bars, visor and beam selectors stay on the screen edges, the morph
ball view is full height, and the arm cannon sits low in the world so shots
still leave the muzzle toward the crosshair. - Menus, the file select and the save, message and options screens keep their
proportions on any shape, and nothing draws outside their panels. - Wider than 4:3, the widescreen HUD bends instead of stretching: the
helmet's curves stay curved, and the bars slide out with their struts. - Ultrawide cutscenes are framed like retail instead of zoomed-in close-ups
(#14), and the front-end Options text stays on its panel. - The 21:9 limit is gone: very wide windows and multi-monitor setups work.
New defaults
Existing settings are kept; these apply to new installs and anyone who never
changed them.
- Aspect ratio follows the window on every platform.
- Widescreen HUD is on.
- Cutscenes have no black bars: below 16:9 they fill the screen. The bars
can be turned back on in F1 > Video > Display ("Cutscene black bars").
Android touch controls
- Move and resize every touch control (#11): F1 > Touch controls > Edit
layout. - New "Twin stick (Remastered)" layout: right stick to aim, the D-pad for
visors, hold Y to switch beams with the D-pad, with Xbox-style button
prompts in game. - The touch overlay shows each button's function next to its letter:
F1 > Touch controls ("Button descriptions").
Performance
- Room geometry stays on the GPU by default, on Android and desktop. On the
phones tested this gives 8–27% more frames per second.
Remastered import (very experimental, unsupported)
the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
needs a re-import.
- The flamethrower's swoosh draws with Remastered's material instead of a
white wedge. - Many more effects import: effects whose colour texture is empty now
convert, and Ridley's breastplate effects are paired. - An import with missing files is refused instead of crashing when a room
loads.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.18.0-linux-x86_64.tar.gz |
Bare binary and licences |
| Windows | metroid-prime-port-0.18.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.18.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.17.0
Clearer handling of incomplete disc images (#8), cutscenes and menus that fit
ultrawide screens (#9), Discord Rich Presence out of the box, and Remastered
rooms lit by their baked lightmaps, with a much faster re-import.
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Disc images
- An incomplete disc image is refused instead of hanging on the Nintendo
logo (#8). A truncated or partly downloaded image (often a compressed
RVZ/WIA/GCZ) used to open, then freeze the game at the logo. The port now
checks the end of the image when it opens it and asks for another one. - If reading the disc still fails mid-game, the port remembers it: the next
start refuses that image, asks for another, and shows a red notice saying
why. - An unexpected error in the game loop is now written to the log and reported,
instead of leaving the game frozen.
Ultrawide screens
- Cutscenes keep their 16:9 framing on screens wider than 16:9 (21:9 and
up) instead of being cropped at the top and bottom (#9). - The file-select and other front-end screens are pillarboxed, so their text
stays on its panels (#9).
Discord
- Rich Presence works out of the box: the port has its own Discord
application with the logo and world pictures. It's on by default and can
be turned off in F1. - The presence shows the room, energy, missiles and item percentage, with the
current world's picture.
Fixes
- Android: firing with the mouse no longer stops working after a boss dies
during a held charge shot.
Remastered import (very experimental, unsupported)
the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
needs a re-import.
- Rooms are lit by Remastered's baked lightmaps, which carry most of a
room's light and the sun's shadows. Sun shadows (the Frigate's docking
hangar most of all) now look like Remastered's instead of faint, and the
sun's brightness comes from Remastered's own light rather than a guess. - Suns switched by the room script (the Frigate intro's shots) come and go
with their scenes. - Elite Quarters Access: the grating floor of the walkway is back, and two
other rooms get their missing trims and decals. - Faster re-imports: converted textures are kept between imports, so a
re-import after an update converts only what changed. A full-geometry
re-import that once took over a minute takes seconds when the textures are
unchanged.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.17.0-linux-x86_64.tar.gz |
Bare binary and licences |
| Windows | metroid-prime-port-0.17.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.17.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.16.0
A fix for black worlds on Adreno 730 phones (#7), an OpenGL ES option,
Remastered sun shadows, more room for the touch controls, and much better
logs for reporting GPU problems.
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Graphics drivers
- Adreno 730 (Galaxy Z Fold4, Snapdragon 8+ Gen 1 phones): the world no
longer draws black (#7). The driver mishandled a bounds check in the
shaders; on that GPU the port now uses a form it handles. Other GPUs are
unchanged. - F1 > Video > Quality > Use OpenGL ES renders through OpenGL ES instead
of Vulkan, for drivers that draw wrongly under Vulkan. It takes effect after
a restart, and if OpenGL ES crashes while starting, the next start goes back
to Vulkan by itself.
Diagnostics
The log (metroid_prime_port.log; on Android in
Android/data/org.metroidprime.port/files/) now carries what's needed to
debug a GPU or driver problem, so please attach it to a report:
- Device and GPU: phone model, chipset and Android version, the GPU's
driver, features and limits, the screen formats it offers, and the
settings the game started with. - Hang watchdog: if the game stops producing frames, the log says what the
game and render threads were doing and for how long, with the game thread's
call stack (on Android, the system log around the hang too), and when frames
resume. On Android a lost GPU device also saves the system log. - Frame times at a few points after start, and a note when a shader takes
long to compile. - F1 > Video > Quality > GPU self-test draws ten known patterns through
the game's own rendering path, reads them back and writes PASS or FAIL for
each to the log.
Android touch controls
- Side margin moves every control in from the screen edges (for curved
screens and cases), Stick inset gives the left stick extra room, and
Button inset does the same for the face buttons and C-stick only. They
go up to 300 dp; Reset margins puts them back. F1 > Controls > Touch &
gyro. - With drag aiming, the R button only shows where it does something:
in Morph Ball, in the pause menu and on the map.
Remastered import (very experimental, unsupported)
the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
except the sky fix needs a re-import.
- Sun shadows: rooms with a Remastered sun (the Frigate's docking hangar
most of all) cast real-time shadows from it, and lit surfaces take its
colour. - The docking hangar's force-field barrier and its shootable red
lights use their Remastered models. - Glass with see-through panes (the Elite Quarters Access windows) is
transparent again instead of an opaque haze. - Elite Quarters Access: the sliding stone panel at the Plasma door is no
longer a grey block. - Skies whose glow the import dropped (the planet seen from the Frigate
hangar) are no longer nearly black. This one needs no re-import.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.16.0-linux-x86_64.tar.gz |
Bare binary and licences |
| Windows | metroid-prime-port-0.16.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.16.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.15.0
Reworked Android touch controls (mouse-style drag aim, beam and visor
wheels, touch map controls), a reorganized F1 menu, and more of Remastered's
materials.
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Android touch controls
- One layout, the GameCube one (#5). The Xbox twin-stick layout is gone.
By default there's no C-stick: dragging on any free part of the screen aims
like a mouse, and the left stick strafes. F1 > Controls > Touch & gyro >
Classic GameCube layout brings back the C-stick and the D-pad. In that
layout a drag turns Samus and looks up and down, and the view levels out
again when you lift your finger. - Beam and visor wheels replace the D-pad. Hold the Visor or Beam button,
slide to a sector and let go. They show the game's own icons (read from
your disc), with beams in their colours. Items you don't have yet are left
empty, and letting go in the centre cancels. Tap Visor for Scan Visor is
an option. - While you hold A to charge a beam, sliding that finger also aims.
- Map: tap the minimap, or the map button beside the eye, to open the
map. In the map, slide one finger to pan, pinch to zoom and twist two
fingers to rotate. - Tablets: the controls stay at phone size and within thumb reach,
instead of growing and spreading along the edges. - START and MENU are round icons in the bottom-left corner. L and R are
taller, and the gyro now aims with the touch controls too. - The touch overlay always uses the GameCube button mapping, whatever control
preset is picked for real controllers. - The app is marked as a game, so game modes and launchers recognize it.
Remastered import (very experimental, unsupported)
the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
needs a re-import.
- The Chozo artifacts and the Frigate's orange force fields are drawn
with Remastered's own shaders. So are the hologram materials and the
arm-cannon particle models (no more solid white smoke blobs). - The arm cannon's missile petals no longer tear into a box when they
open. - The arm cannon's stripes glow bright yellow, as in Remastered, instead
of dim orange-brown. - The beam menu icons are tinted with each beam's colour, as in
Remastered. - Room lighting is sampled more like Remastered's: the light grid sits on
the right points, and rooms borrow lighting their neighbours baked. - The import's Room geometry too and Particle effects choices are
remembered between starts. - The Mods page no longer lists the import's report files as ignored.
Fixes
- With toggle lock-on, the lock lets go when the target dies, instead of
keeping the aim on its body. - Windows: programs the game starts (ffmpeg during the Remastered import,
for example) no longer open a console window each.
Other
- F1 menu reorganized into Game, Controls, Video, Remastered, Mods,
Archipelago, Tracker, Save states, System and Debug. Game > Audio has music
and sound-effect volume sliders. - The four frame-smoothing checkboxes for uncapped frame rates are one
setting, Smooth uncapped frames (on by default). The simulation-rate
setting is marked very experimental. - The Tracker's item, scan and room counts are hidden behind Show progress
(off by default), so opening the tab doesn't spoil how much is left.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.15.0-linux-x86_64.tar.gz |
Bare binary and licences |
| Windows | metroid-prime-port-0.15.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.15.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.14.0
Crash fixes (Windows enemies, a memory corruption, the Remastered import on
the Flatpak), Remastered lava, much faster re-imports, more of Remastered's
effects and materials, and a tidier portable install.
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Remastered import (very experimental, unsupported)
The Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
needs a re-import. An import from an older version says so with a notice
on start and a line in the Mods panel.
- Re-imports only redo what changed. Parts of the import whose inputs and
code are unchanged are reused from the previous import, so a re-import with
nothing new takes about a second. A full import is faster too. F1
Reconvert everything still forces a full one. - Lava is drawn with Remastered's own shader, each pool's own settings
and its heat shimmer. - Particle effects: many more of Remastered's particle materials are
drawn, such as the ship's engine flames and the morph-ball bomb, which were
white squares or dark spheres before. The charge beams are fixed (white
squares on the Ice Beam, dark discs on the Power and Wave Beams, stray lines
on the Plasma Beam), and the Ice Spreader keeps its frost layer. - Arm cannon: the Wave, Plasma and Phazon panels and the beam glow light
up as in Remastered. - Glow follows each room's exposure, as in Remastered, and is no longer
toned down. Materials with their own maps but no base texture (Samus' eyes,
the Phazon Suit's glow and more) are drawn with Remastered's materials
instead of falling back to retail's. - The Metroids' domes are drawn with Remastered's glassy shell.
- The Ice Beam's gun frosts over while charging, as in Remastered.
- Space Pirates wear the colour of their beam (purple Wave, white Ice,
red Plasma) instead of all yellow. - The outdoor Tallon Overworld rooms show Remastered's sky instead of
retail's dark cloud dome. - The tank in the Frigate's Waste Disposal is no longer black.
- The extra gunship parked on the Frigate's hangar dock is gone.
- An import started at the title screen now unloads the old files first.
- The import no longer crashes partway through on the Flatpak (#6).
Fixes
- Windows: the game no longer crashes when the first enemy appears (the
Frigate's parasites, past the airlock) (#4). - A memory corruption that could crash the game a few rooms in (seen on
Windows in the Frigate) is fixed. - A damaged shader cache, for example after copying a new version over an old
one, is rebuilt instead of crashing after the splash screen. - The morph ball's rolling sound no longer cuts out on surfaces without a
rolling sound of their own. - With the HD font off, accented letters show their accents.
- Android: the touch controls hide whenever the F1 overlay opens, instead
of sometimes staying drawn over it.
Other
-
Portable installs (the Windows zip and the Linux tarball) keep settings,
saves, mods and caches in auser/folder beside the executable. An older
install's files are moved there on the first start; nothing is deleted. The
AppImage, Flatpak and Android app are unchanged. -
The Windows zip has far fewer loose files: SDL, zlib, libpng, nod, OpenSSL,
the controller button images and the shader cache seed are now built into
the executable. -
A skips a skippable cutscene, as Start does.
-
The Archipelago connection and chat are one F1 tab; restart, screenshot
and exit moved to the top of Extras.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.14.0-linux-x86_64.tar.gz |
Bare binary and licences |
| Windows | metroid-prime-port-0.14.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.14.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.13.0
Remastered's volumetric fog, water, skies and hundreds more of its effects,
a themed F1 overlay with menu sounds, and Linux builds that run on older
distributions. Linux, Windows and Android, all built from one commit (f5e43637).
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Remastered import (very experimental, unsupported)
As before: the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Everything below
needs a re-import. An import from an older version now says so with a
notice on start and a line in the Mods panel.
- Volumetric fog, drawn as Remastered draws it, with its per-room regions
and transitions. Retail fog that Remastered doesn't draw is left out. - Water uses Remastered's own surface, shader and underwater filter, and
shows through the X-Ray Visor as in Remastered. - Each room's own sky replaces the world's, lit in its Remastered colour
and loaded with the room so the retail sky no longer flashes up. - Many more of Remastered's particle effects: effects are now matched to
retail by name, room placement, script slot and character animation events,
and swoosh, electric, flipbook and model-particle effects convert. Effects
are drawn through Remastered's own particle materials. Effects that came
out as white squares, or vanished after their first frame, are fixed. - Characters get Remastered's backlight, including each room's own setting.
Metroids and other glowing creatures glow at full strength instead of
near-black. - Textures scroll and pulse with each model's own animation, such as the
stripes on the arm cannon, which now keeps its metal look. - Scenery that moves in Remastered, such as the elevator panels in the
Frigate, the hangar debris, the Mines turbine and the Omega Pirate's tank,
now moves too. - The Power, Varia and Phazon Suits are replaced in third person.
- On phones whose GPU lacks BC textures, the import writes ASTC instead.
Colour and normal maps also keep their detail better at a distance. - The Remastered options have their own page in F1, with a warning that
they're experimental. - Several import failures found in an audit are fixed.
F1 overlay
- Three themes (Prime, Remastered and Plain) and menu sounds, both
in F1 > Render > Display. - The concept-art gallery is no longer upside down.
- The text language can change while the game runs.
Graphics
- The EFB scale goes up to 4x, and dynamic resolution can go down to 0.5x
(Lowest scale). - The window opens at 1280x720 by default, kept within the screen.
Platforms
- Linux: the AppImage and the tarball now run on older distributions
(glibc 2.34 or newer, e.g. Debian 12, Ubuntu 22.04, LMDE 6) (#3). - Android: a fix for a crash on start on Adreno GPUs such as the
Galaxy S23's (#2). - Windows: no console window, and the title bar is always on screen.
Fixes
- A sound crash on Android tablets right after firing is fixed.
- Eyons keep sweeping their beams when the frame rate varies.
- A missing resource is read from the disc instead of closing the game.
- A crash now leaves a report in the log.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.13.0-linux-x86_64.tar.gz |
Bare binary, textures and licences |
| Windows | metroid-prime-port-0.13.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.13.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
Unchanged. MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.12.0
Remastered text in five languages, a concept-art gallery and much more of
Remastered's look, plus a GameCube-style touch pad and dynamic resolution.
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Remastered import (very experimental, unsupported)
As before: the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port. Most of the items
below need a re-import.
- Text in French, Spanish, German, Italian and Dutch, taken from
Remastered (F1 > Extras > Text > Language; applies on the next start).
Text that Remastered lacks stays English. - Concept-art gallery (F1 > Extras > Gallery), made from Remastered's art.
- The morph ball gives off Remastered's light, and a power bomb's blast
tints the room's lighting. - Door frames glow in their Remastered colour, the arm cannon reflects its
own surroundings, the Ice Beam's frost shell no longer covers the cannon,
and lit glass and additive effects are drawn as in Remastered. - Distant cut-out textures such as grass keep their coverage instead of
thinning out. - Scenery that Remastered draws with the retail model is left to the retail
model, so it's no longer drawn twice. - Faster, especially on phones. Repeated props are merged into combined
models, distant ones use Remastered's coarser levels of detail, and the
renderer does less work per pixel.
Android touch controls
- The touch pad is shaped like a GameCube pad: a big A with B, X and Y
around it, a one-piece D-pad cross, a smaller C-stick beside the face
buttons, and the triggers and Z on the right. - The buttons stay plain and translucent by default. F1 > Input > Touch
controls > Coloured buttons gives them the GameCube colours. - The pad is hidden with an eye in the bottom-right corner (struck
through while hidden). Before, the hide button also opened the overlay.
New
- Dynamic resolution (F1 > Quality, under the EFB scale): lowers the
internal resolution, down to 1x, while the frame rate is under a target,
and raises it again when there is room.
Fixes
- A world warp into an elevator room now plays that room's music.
- Mouse buttons held when the F1 overlay opens no longer stay pressed.
- A draw too big for the frame's buffers is now skipped (with a warning in
the log) instead of closing the game. - Archipelago: the client reports version 0.6.8.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
Self-contained. chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.12.0-linux-x86_64.tar.gz |
Bare binary, textures and licences |
| Windows | metroid-prime-port-0.12.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.12.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.11.0
Faster elevator rides, a speedrun timer in the game's own font, a tidier F1
overlay and higher refresh rates on Android.
Linux, Windows and Android, all built from one commit (e83bd36e).
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
New
- Elevator ride setting (F1 > Extras > Cutscenes, or pause > Options >
Visor): Original keeps the retail ride of at least 5 s, Fast shortens
it to about 2 s, and Skip cuts it to under a second. As in retail, the
skipped transition stops sound effects at the switch. - The in-game timer uses the game's font. It sits in the bottom-right
corner, over the HUD and pause screens, and its digits no longer jump
sideways as they count. Turn it on in the overlay or withtimer 1in
the console.
Overlay
- Every page is tidier. Settings are grouped under headers, and the
explanations are tooltips on the desktop (on Android they still show
under each setting). Rendering options say what the recommended value is. - Teleport is one searchable list of room names, plus a world list.
A debug teleport now starts the destination room's music.
Fixes
- On very wide screens most of the scene could vanish (above about
3.3:1, or above 2:1 at the widest field of view). The culling now holds. - Android ran at 60 Hz on 90/120 Hz screens. The game now asks for the
display's fastest mode. The Performance tab's simulation rate no longer
reads above its target when the frame cap leaves time idle.
Remastered import (very experimental, unsupported)
As before: the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port.
- An import now unloads the mods while it runs and loads the result when it
ends, without a restart. On Android this keeps a large import from running
out of memory. - The import reads Remastered's lighting table (the environment BRDF) out of
your own copy of the game, and reflections use it instead of an
approximation. This needs a re-import.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
Self-contained. chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.11.0-linux-x86_64.tar.gz |
Bare binary, textures and licences |
| Windows | metroid-prime-port-0.11.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.11.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
Unchanged. MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.10.1
A small fix release: clearer handling of a wrong or missing disc image, and a
log file that is now on by default so problems can be reported.
Linux, Windows and Android, all built from one commit (5fc0aa15).
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Fixes
- A wrong disc image made the game close again and again with no
message. The game now names the file, says which disc it needs, forgets
it and asks for another one. On Android a picked file with the wrong
header is no longer copied. - Disc messages have a Close button, and on Android, Back closes them.
Cancelling the file picker now asks whether to pick a disc or close,
instead of quitting with no message.
Log file
- The log is on by default on every system, so a crash can be reported
without first finding a setting. It is written to
metroid_prime_port.login the game's user folder, and on Android also
toDocuments/MetroidPrime/, where any file manager can reach it. - The log leaves out personal details: your home folder and user name
are replaced, and Archipelago server and slot names are dropped. The
per-frame counter is gone (MP_FRAME_LOG=1brings it back). - Turn it off in F1 > Debug > Log. The setting is new, so an older
log_file=0no longer turns it off.
Remastered import (very experimental, unsupported)
As before: the Remastered import and everything built on it are very
experimental and currently unsupported. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port.
- The Frigate's big square and round doors no longer look shut once open.
- Phendrana's Frost Cave no longer shows a Tallon mud floor in place of
its ice slab.
Both need a re-import.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
Self-contained. chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.10.1-linux-x86_64.tar.gz |
Bare binary, textures and licences |
| Windows | metroid-prime-port-0.10.1-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.10.1-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
Unchanged. MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.
v0.10.0
Mostly fixes and smoothness: a memory leak that got Android killed, a shutdown
hang, a charge hum that could loop forever, an invisible wall in Magmoor, and
less stutter from the overlay, Archipelago and audio threads. The experimental
Remastered import gains colour grading, bloom, auto exposure, glass, suits and
beams, and an opt-in particle effect step.
Linux, Windows and Android, all built from one commit (58d81700).
You need your own disc image. Metroid Prime (USA) v1.00, GM8E01 disc 0
revision 0. Nothing here contains any part of the game — no disc, no assets.
What changed
Fixes
- Memory leak while walking around (most visible in Magmoor and on
Android, where the game was eventually killed). Old screen-copy sizes for
fog volumes were never freed. Android also caps mod textures at 1024. - Closing the window (Alt+F4) could hang the game on shutdown.
- A charged beam's hum could keep playing after the shot. The PC mixer
now retires a stopped looping voice every frame, as the GameCube does. - Magmoor Caverns, Workstation: an invisible wall over the lava crust with
a model mod installed. Solid scenery now takes its collision box from the
disc's model, as retail does, not from the mod's. - A game with some PBR materials could abort while building a shader
("Uniform size exceeds maximum"). - A missing UV set no longer aborts the game (a mod model that reads one
now logs a warning naming the model and draws). - Controller connected mid-game: a real pad now takes player 1 even when
the Android touch overlay was holding it. - Smoother play: settings save when a slider is let go rather than every
frame, button prompts update a few times a second, frame pacing sleeps in
one go, and the Archipelago client, debug console, log and audio threads no
longer stall the game. Archipelago checks are sent within a tenth of a second.
New
- Start without a prompt when the disc image is beside the executable (or
in a subfolder of it; for an AppImage, beside the AppImage). - Log to a file: F1 > Debug > Log,
MP_LOG_FILE=1(also on Android). - Exit game button in F1 > Session, and teleport to an area that isn't
loaded in the cheats panel. - Empty lock-on: with mouse aim or twin stick, L with nothing to target
strafes like holding L on a GameCube pad. - Free camera can show Samus's body, and F1 > Audio's sample list is
sorted and can be frozen.
Remastered import (very experimental, unsupported)
As before: the Remastered import and everything built on it are very
experimental and currently unsupported. Expect wrong or missing models,
lighting that is off, crashes and heavy memory use, and a re-import after
most updates — this release needs one. Removemods/remastered-models
to get the retail game back. Nothing changes unless you run the import
yourself, and nothing of Remastered ships with the port.
- Rooms take Remastered's look: each room's colour grade (with its local
grade hints, under water and in fights), bloom, auto exposure eased between
rooms, blended reflection probes, and glow at the room's own exposure. - Every suit and beam gets its Remastered model, ball and gun, with the
Wave/Plasma glow animated. Door shields, glass, waterfalls and two-sided
surfaces draw by Remastered's own rules, and UVs keep each map's wrap mode. - Room geometry follows Remastered's scripts (scenery and geometry that
appears or hides with the story) and can stay on the GPU (setting). - Particle effects (opt-in): a checkbox in the import panel (or
MP_REMASTERED_EFFECTS=1) converts Remastered's effects to the game's
format. Off by default. - The import is faster and uses less memory, and resources past 2 GiB spill
into extra PAKs instead of failing to boot.
Details for mod authors are in docs/NATIVE_PORT.md.
Downloads
| Platform | File | Notes |
|---|---|---|
| Linux | MetroidPrime-x86_64.AppImage |
Self-contained. chmod +x, then run. |
| Linux | MetroidPrimePort.flatpak |
flatpak install --user ./MetroidPrimePort.flatpak |
| Linux | metroid-prime-port-0.10.0-linux-x86_64.tar.gz |
Bare binary, textures and licences |
| Windows | metroid-prime-port-0.10.0-windows-x86_64.zip |
Unzip anywhere; needs a Visual C++ redistributable |
| Android | metroid-prime-port-0.10.0-android-arm64.apk |
Sideload; arm64-v8a, Android 9+ |
Licence
Unchanged. MIT covers this project's own work, but not the game code under
src/ and include/, which remains Nintendo's. See LICENSE and NOTICE.
Metroid Prime is a trademark of Nintendo. This project is unaffiliated with
Nintendo and Retro Studios.