PUBG Mobile on GameLoop Beta: All Issues FixedThe latest EmuDesk Smart Tool update fixes all compatibility issues with GameLoop Beta including camera stuttering and delivers fully functional keymaps, including at 1080p and 2K.Get EmuDesk Smart Tool

How to Set Up mGBA — Complete Game Boy Advance Emulator Guide 2026

Low4 solutions

I want to set up mGBA to play Game Boy Advance games (Pokémon, Zelda, Metroid) on my PC. I downloaded it but I'm not sure if I need a BIOS, what graphics settings to use, and how to fix save file issues.

Last updated 8 weeks ago0 users reported this issue19
Sign in to interact

Solutions

Solution 1

download-bios-and-first-launch (sortOrder=1, isMostHelpful)

Download mGBA:

Get mGBA only from the official site: mgba.io/downloads/

  • Windows: download the .7z archive (64-bit). Extract anywhere — mGBA is portable, no installer needed. Double-click mGBA.exe and it opens ready to load a game.
  • macOS: download the .dmg. Drag mGBA.app to Applications.
  • Linux: sudo apt install mgba-qt or the AppImage from the site.
  • Android: search "mGBA" on Google Play. The official app is by Jeffrey Pfau — avoid lookalikes.

Supported game formats:

  • .gba — Game Boy Advance ROM
  • .gbc — Game Boy Color ROM
  • .gb — original Game Boy ROM
  • .zip / .7z — compressed archives (mGBA opens these directly, auto-detecting the ROM inside)

Dump your games from physical cartridges using a device like the GB Operator (Epilogue) or Retrode 2. mGBA does not download ROMs.

BIOS file (optional but recommended):

mGBA includes high-level emulation (HLE) that boots most games without a BIOS. For best accuracy, add the real GBA BIOS:

  • Filename: gba_bios.bin (16,384 bytes, MD5: a860e8c0b6d573d191e4ec7db1b1e4f6)
  • Open mGBA → Tools → Settings → BIOS → Game Boy Advance BIOS file → browse to your file → confirm.
  • Check "Use BIOS when available".
  • Optional: gb_bios.bin (Game Boy accuracy) and gbc_bios.bin (Game Boy Color boot screen).

HLE boots ~99% of games correctly. The main reason to add the real BIOS: the Game Boy Player startup disc and a handful of edge-case titles that check for it explicitly.

See also: Emulator BIOS files — which you need and where they go

To load a game: File → Load ROM → select your .gba / .gbc / .gb file (or compressed archive). The game starts immediately.

Solution 2

graphics-settings-and-controller-setup (sortOrder=2)

Graphics settings:

Open Tools → Settings → Video.

Resolution (integer scaling): mGBA's native GBA resolution is 240×160. Scale up in whole multiples for sharp pixels:

  • 2× (480×320) — compact, fine on a small monitor
  • 3× (720×480) — good middle ground
  • 4× (960×640) — recommended for 1080p monitors
  • 6× (1440×960) — fits a 1440p/4K display cleanly

Set via View → Scale. Integer scaling keeps pixels sharp — avoid "stretch to window" unless you want it.

Renderer: mGBA defaults to the OpenGL renderer on modern systems. It's fast and accurate. If you see visual glitches (sprite tearing, color issues), try Software (accurate) — it's slower but bit-exact.

Shaders / Filters (optional): Tools → Settings → Video → Shader:

  • Dot Matrix — simulates the GBA's non-backlit pixel grid (nostalgic)
  • Color Correction (GBA) — applies the color curve that matches the real hardware's washed-out screen. Many emulation purists prefer it.
  • Set to None to disable.

Controller setup:

  • Xbox / XInput controller: plug in before launching mGBA. It auto-maps standard GBA buttons. Verify via Tools → Settings → Keybindings.
  • DualSense / DualShock on Windows: use DS4Windows or the Sony Windows driver to expose it as XInput. Then mGBA sees it as a standard controller.
  • Manual rebinding: Tools → Settings → Keybindings → click any button row and press the key/button you want.
  • Keyboard defaults: A=Z, B=X, Start=Enter, Select=Backspace, L=A, R=S, D-pad=Arrow keys.
  • Turbo (fast-forward): assign via Keybindings. Holding it runs the game at max speed. Default: Tab. Useful for grinding in Pokémon or skipping cutscenes.

Solution 3

save-types-cheats-and-gb-gbc (sortOrder=3)

Save files and the save type problem:

mGBA auto-detects save types for most cartridges (EEPROM, Flash, SRAM) and saves to a .sav file in the same folder as the ROM. However, some ROMs are incorrectly detected, causing lost saves.

Symptoms of wrong save type: saves lost on close; "save file is corrupted" message; Pokémon or Zelda games report no save card detected.

Fix:

  1. Tools → Game Overrides → find your ROM.
  2. Set the correct Save type manually:
    • Pokémon Ruby/Sapphire/Emerald: Flash 128KB (Flash 1M)
    • Pokémon FireRed/LeafGreen: Flash 128KB (Flash 1M)
    • Pokémon Mystery Dungeon: Flash 64KB (Flash 512k)
    • Most Zelda titles: Flash 64KB (Flash 512k)
    • Mario Kart, other titles: SRAM 64KB (check community override database)
  3. Delete the old corrupted .sav file before restarting — it stores the wrong format.

See also: mGBA save file lost / wrong save type fix

Save states: F1–F9 to save, Shift+F1–F9 to load. 10 slots per game. Keep battery saves (.sav) alongside save states for cross-session persistence.

Importing real cartridge saves: place the .sav file dumped from your physical cart in the same folder as the ROM with the same filename. mGBA loads it automatically.

Cheats (GameShark / Action Replay / CodeBreaker):

  1. Load your game.
  2. Tools → Cheats → Add Action Replay or Add GameShark.
  3. Paste the cheat code, give it a name, tick the checkbox to enable.
  • Action Replay v3: 8+8 hex pairs. Most Pokémon modifier codes are this format.
  • GameShark (GS): 8+4 hex pairs. Older format, works the same.
  • CodeBreaker: 8+8 format, different encoding — use the CodeBreaker option specifically.

Game Boy Color and original Game Boy: mGBA plays GB and GBC games out of the box — just load a .gb or .gbc file. Set the Game Boy model in Tools → Settings → Game Boy → Model:

  • Game Boy Pocket — grey monochrome
  • Game Boy Color — colorized
  • Super Game Boy — SNES color palettes

Solution 4

performance-link-cable-and-common-issues (sortOrder=4)

Performance:

mGBA runs the GBA at full speed on virtually any PC made in the last 15 years (the GBA is a 16 MHz ARM7TDMI — even a Raspberry Pi 4 handles it). If you see slowdown:

  • View → Show FPS — should lock at 59.7 fps.
  • Set OS power plan to High Performance (not Power Saver).
  • On a laptop: force the discrete GPU via Nvidia Control Panel / AMD Software.
  • The Software (accurate) renderer is intentionally slower — switch to OpenGL if you enabled it for testing.
  • Close background apps — antiviruses scanning ROM files in real-time can cause micro-stutters.

For general emulator slowdown: Emulator running slow despite strong PC

Link cable emulation (Pokémon trading, multiplayer):

  • Local (same PC): open two mGBA windows with the same ROM → File → Start GBA Link Server (one window) / File → Connect to GBA Link (other window) → connect via 127.0.0.1:7110.
  • Over LAN / Internet: the link server accepts remote connections. Share your IP (or use ZeroTier for internet play). Latency is a factor — works best on a local network.

Common issues:

  • Game boots to white screen / freezes — missing or wrong BIOS. Add real gba_bios.bin; verify MD5.
  • Save file lost after closing — wrong save type (especially Pokémon). Set correct save type in Game Overrides, delete old .sav. See mGBA save type fix.
  • Audio crackling / popping — sample rate mismatch. Match Audio → Sample rate to system output (usually 48000 Hz).
  • Black screen with no audio — OpenGL driver issue. Switch renderer: Settings → Video → Renderer → Software.
  • Controller not responding — not mapped / DirectInput issue. Check Keybindings; use DS4Windows for DualSense.
  • Cheat codes not working — wrong code type selected. Re-enter with correct type (ARv3 vs GameShark vs CodeBreaker).
  • Game Boy Player startup crashes — HLE incompatibility. Add real BIOS → Settings → BIOS → Use BIOS when available.
  • Link cable trade fails — instances not synced. Confirm both use same ROM + both connected before starting trade animation.
  • GBC game shows no color — model set to GB (monochrome). Settings → Game Boy → Model → Game Boy Color.

For GPU driver issues: GPU driver clean-install guide

Quick-start summary:

  1. Download mGBA from mgba.io/downloads/ (portable, no installer)
  2. Optional: add gba_bios.bin in Tools → Settings → BIOS for best accuracy
  3. File → Load ROM → select your .gba file
  4. View → Scale → 4× for a sharp 1080p window
  5. If saves are broken in Pokémon: Tools → Game Overrides → Flash 128KB
  6. For Pokémon trading: open two mGBA windows + use link server on 127.0.0.1:7110
Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page