Skip to content

Pull Request: Add native Windows (AmpleWin) and Linux (AmpleLinux) ports#46

Open
anomixer wants to merge 33 commits intoksherlock:masterfrom
anomixer:master
Open

Pull Request: Add native Windows (AmpleWin) and Linux (AmpleLinux) ports#46
anomixer wants to merge 33 commits intoksherlock:masterfrom
anomixer:master

Conversation

@anomixer
Copy link

@anomixer anomixer commented Feb 16, 2026

This PR introduces full support for Windows and Linux platforms, expanding Ample from a macOS-exclusive tool to a cross-platform frontend.

To ensure stability and avoid conflicts with the existing macOS codebase, the new ports are contained in their own dedicated directories (AmpleWin/ and AmpleLinux/) while keeping the root structure clean.

� Isolation & Safety

I have NOT touched any of your original macOS code. The only file modified in the root directory is README.md, simply to add links to the new Windows/Linux ports.

You can freely modify these links to point to your own repository structure if you choose to merge this.

�🚀 Key Features

🪟 Windows Port (AmpleWin/)

  • Launcher: AmpleWin.bat script for easy startup.
  • Portable: Designed to work as a portable app without complex installation.
  • Docs: Includes detailed installation and usage instructions (English + Traditional Chinese).

🐧 Linux Port (AmpleLinux/)

  • One-Click Setup: AmpleLinux.sh automatically creates a virtual environment (venv) and installs dependencies (PySide6, etc.) on the first run.
  • Desktop Integration: Includes a build_elf.sh script using PyInstaller to create a standalone binary. It also generates and installs a .desktop file for proper application menu integration.
  • Smart Detection:
    • Auto-detects system dark/light mode (GNOME/KDE).
    • Detects if MAME is missing and offers snap install mame on Ubuntu.
    • Checks for and installs missing build tools (binutils/objcopy) required by PyInstaller.
    • Fixes common audio permission issues (ALSA group check).

📝 Documentation

  • Updated the root README.md to reference the new ports.
  • Added comprehensive README.md and README_tw.md inside each port directory.

✅ Verification

I have tested these changes on:

  • Windows 10/11: Confirmed launch and ROM management.
  • Ubuntu 22.04 / 24.04: Verified AmpleLinux.sh setup, build_elf.sh binary generation, and icon integration.

Hope this helps expand the user base for Ample! Thanks for the great original work.

anomixer and others added 30 commits January 19, 2026 11:09
…ptive UI, optimized engine, and internationalized documentation
- Ported from AmpleWin with ~20 Linux-specific adaptations
- Replaced winreg with gsettings/KDE dark mode detection
- Replaced os.startfile with xdg-open
- Removed MAME auto-download (users install via package manager)
- Added system-wide MAME detection (PATH, /usr/bin, /usr/games)
- Removed all .exe suffixes from binary references
- Created AmpleLinux.sh launcher script
- Dual-language READMEs (English + Traditional Chinese)
Updated user guidance for Windows and Linux users.
@ksherlock
Copy link
Owner

Thanks, I'll go through it and get it merged before the next release.


> Windows users might want to check out [AmpleWin](https://github.com/anomixer/ample/tree/master/AmpleWin)
> Windows users might want to check out [AmpleWin](https://github.com/anomixer/ample/tree/master/AmpleWin).
> Linux users might want to check out [AmpleLinux](https://github.com/anomixer/ample/tree/master/AmpleLinux).
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you still want these pointing to your repo? (also the open_help_url() functions in main.py)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you still want these pointing to your repo? (also the open_help_url() functions in main.py)

Hi,

You can point them to your site — I’m just a contributor.
The only part that really needs maintenance in AmpleWin is the download link for the updated mame.exe version (see mame_downloader.py, line 14):

# MAME official self-extracting EXE - Updated to 0.286
self.url = "https://github.com/mamedev/mame/releases/download/mame0286/mame0286b_x64.exe"

As for AmpleLinux, it’s automatically synced with Ubuntu’s Snap Store, so no maintenance is needed there.

My fork has just been updated to 0.286 as well, including the Windows executable.
Feel free to merge anytime if you find it helpful. Thanks!

— anomixer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants