Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
VisualBoyAdvance-M
PORTSNATIVE

VisualBoyAdvance-M

EMULATORACTION / ADVENTUREWINDOWSLINUXMACOSANDROIDSTABLE

VisualBoyAdvance-M

Emulador de Game Boy / Game Boy Color / GBA

OriginGame Boy / Game Boy Color / GBA

TechnologyCross-platform native emulator (JIT / dynamic)

Available forWindows, Linux, macOS, Android

View official project

About the project

Continuación moderna de VisualBoyAdvance para Game Boy, Game Boy Color y Game Boy Advance, con builds para escritorio y nightlies Android.

Official project information

Author's original READMEOpen on GitHub ↗
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
  • Visual Boy Advance - M
    • System Requirements
    • Building
    • Visual Studio Code Support
    • Dependencies
    • CMake Options
    • Contributing
<!-- END doctoc generated TOC please keep comment here to allow auto update -->

Visual Boy Advance - M

Game Boy and Game Boy Advance Emulator

Our Discord server is here.

Windows and Mac builds are in the releases tab.

<!-- The forums are [here](https://board.visualboyadvance-m.org/). -->

Nightly builds for Windows, macOS, Libretro and Android are at https://nightly.visualboyadvance-m.org/.

<!-- [![Get it from flathub](https://dl.flathub.org/assets/badges/flathub-badge-en.svg)](https://flathub.org/apps/com.vba_m.visualboyadvance-m) [![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/visualboyadvance-m) -->

PLEASE TEST THE NIGHTLY OR MASTER WITH A FACTORY RESET BEFORE REPORTING ISSUES

Your distribution may have packages available as well, search for visualboyadvance-m or vbam.

To build from source, see below.

If you are having issues, try resetting the config file first, go to Help -> Factory Reset.

System Requirements

Windows XP+, macOS or Linux.

Older and weaker systems may not be able to run the higher level xBRZ and ScaleFX scalers.

For Windows XP install:

  • DirectX June 2010 Redist
  • Visual C++ runtimes all-on-one pack for January 2021

Building

The basic formula to build vba-m is:

git clone https://github.com/visualboyadvance-m/visualboyadvance-m
cd visualboyadvance-m

./installdeps # On Linux, macOS or MSYS2

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -G Ninja
ninja

If ./installdeps does not work, you may need to install dependencies manually, see below for the list. ./installdeps also works on MSYS2.

For builds using automatically downloaded vcpkg packages for dependencies on macOS or Linux use:

cmake .. -DVCPKG_TARGET_TRIPLET=**<SYSTEM>** -DCMAKE_BUILD_TYPE=Release -G Ninja

, where SYSTEM is one of:

  • x64-linux,
  • arm64-macos,
  • x64-macos

. For Android set ANDROID_HOME and ANDROID_NDK_HOME and use:

  • arm64-android
  • arm-neon-android
  • x64-android
  • x86-android
  • riscv64-android

. On Windows, vcpkg is the default and that is handled automatically.

If you are in an MSYS2 shell, the MSYS2 package dependencies installed via ./installdeps are the default, unless you pass `-DVCPKG_TARGET_TRIPLET=<MSYS2-ENVIRONMENT> which is one of:

  • x64-mingw-static (for MINGW64, UCRT64 or CLANG64),
  • x32-mingw-static (for Windows XP builds using a MINGW32 toolchain.)

You can download a MINGW32 toolchain for XP here and extract it to C:\msys64.

A VCPKG_ROOT is automatically created as a sibling of the project directory, unless you set it to something else in your environment.

Visual Studio Code Support

Make sure the C/C++ and CMake Tools extensions are installed.

Add the following to your settings.json:

{
    "cmake.configureOnOpen": true,
    "cmake.preferredGenerators": [ "Ninja" ]
}

.

Dependencies

You will need the following:

  • C++ and C compiler and binutils,
  • CMake.

And the following development libraries,

all platforms, required:

  • zlib,
  • Gettext and gettext-tools,
  • SDL3 or SDL2,
  • wxWidgets,
  • bzip2,
  • xz/lzma,

optional:

  • FFmpeg,
  • OpenAL-Soft,
  • Lua,
  • FAudio,
  • Vulkan,

on Linux you will also need:

  • glibc-devel,
  • mesa,
  • GTK3,
  • XOrg,
  • Wayland,

on macOS you will need MoltenVK for Vulkan support.

CMake Options

The CMake code tries to guess reasonable defaults for options, but you can override them, for example:

cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_LINK=NO -G Ninja

. Here is the list:

CMake OptionWhat it DoesDefaults
ENABLE_SDLBuild the SDL portOFF - Win, ON - rest
ENABLE_WXBuild the wxWidgets portON
ENABLE_LINKEnable GBA/GB linking functionalityON
ENABLE_LIBRETROBuild the libretro coreON
BUILD_TESTINGBuild the testsON
UPSTREAM_RELEASEDo some release tasks, like codesigning and making zipsOFF
TRANSLATIONS_ONLYBuild only the translations.zip and nothing elseOFF
ENABLE_LTOCompile with Link Time OptimizationON for release build
VCPKG_BINARY_PACKAGESDownload/use vcpkg binary packagesON - Win, OFF - rest
VCPKG_TARGET_TRIPLETEnable vcpkg download/use of vcpkg binary packages for that tripletON - Win, OFF - rest
VCPKG_SOURCE_PACKAGESEnable builds of vcpkg deps when binary packageas are not availableON - Win, OFF - rest
NO_VCPKG_UPDATESDo not update vcpkg ports from either binaries or sourceOFF
VBAM_STATICTry to link as many libraries statically as possibleON - Win/MSYS2 or OFF
DISABLE_MACOS_PACKAGE_MANAGERSDo not use the detected brew/Nix/MacPorts on macOSOFF
ENABLE_SDL3Use SDL3 not SDL2ON if detected
ENABLE_GENERIC_FILE_DIALOGSUse generic file open/selection dialogs on macOSOFF
DISABLE_OPENGLDisable OpenGL supportOFF
ENABLE_DEBUGGEREnable the debuggerON
ENABLE_LUAEnable Lua scripting support for wxWidgets portON
ENABLE_ASANUse -fsanitize=address for GCC/Clang Debug buildsOFF
ENABLE_BZ2Enable bzip2 .bz2 archive supportON
ENABLE_LZMAEnable lzma .xz archive supportON
ENABLE_LIRCEnable LIRC supportOFF
ENABLE_FFMPEGEnable ffmpeg A/V recordingON
ENABLE_ONLINEUPDATESEnable online update checksON (release builds)
ENABLE_GBA_LOGGINGEnable extended GBA loggingON
ENABLE_OPENALEnable openal-soft sound output for wxWidgetsON
ENABLE_XAUDIO2Enable xaudio2 sound output for wxWidgets (Windows only)ON
ENABLE_FAUDIOEnable faudio sound output for wxWidgetsON
ENABLE_AAUDIOEnable AAudio sound output for wxWidgets (Android only)ON - Android
ENABLE_VULKANEnable Vulkan video outputON
ENABLE_GLESEnable the OpenGL ES 2 video output (Android only)ON - Android
ENABLE_DIRECT3DEnable Direct3D 9 support (Windows only)ON - Win
ENABLE_DIRECT3D12Enable Direct3D 12 support (Windows only)ON - Win
ENABLE_DIRECT3D11Enable Direct3D 11 support (Windows only)ON - Win
ENABLE_WAYLAND_PROTOCOLSGenerate Wayland protocol client glue (HDR, viewporter)ON if detected

Note for distro packagers, we use the CMake module GNUInstallDirs to configure installation directories.

On Linux or macOS, to use a different version of wxWidgets, set wxWidgets_CONFIG_EXECUTABLE to the path to the wx-config script you want to use.

Contributing

See the Developer Manual.

View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
EMULATOR
Genre
Action / Adventure
Status
Stable
Original platform
Game Boy / Game Boy Color / GBA
Technology
Cross-platform native emulator (JIT / dynamic)
Version
—
Updated
Oct 4, 2026

Target platforms 4

Windows
Linux
macOS
Android
Download / Official Web
Advertisement