Author: Jeod
Contributors:
- TerrorTowers
- hxdr0n0s
- Unstoppable
- Agent
A large chunk of PortMaster ports are games using the GameMaker Engine. This engine (referred to as GMS) is an excellent beginner engine for getting into porting, but can also quickly become pretty advanced. This primer hopes to accurately summarize a few key points for how GMS ports are created and work.
PortMaster Engineers heavily rely on a few major tools that make GMS ports successful.
Using wine is a deep rabbit hole for anyone not familiar with the software, and an even deeper rabbit hole when combined with box86 or box64. This guide attempts to serve as a basic introduction to using the built-in wine and box packages included with Rocknix on a Retroid Pocket 5. While the Retroid Pocket Mini is a similar setup chain, it is weaker hardware than the Retroid Pocket 5 and thus the examples provided here may not function as well.
If you are familiar with this process, you may be interested in a slightly more advanced distribution guide.
The first thing anyone should understand is the vernacular used throughout this guide. Two tools are used to make wine ports possible on ARM64:
Sparse checkout is a useful Git feature that lets you only download and work with specific parts of a repository. The PortMaster-New repository is massive — over 50GB in size. Since you're most likely not going to be modifying multiple ports, there's no need to download the entire thing. Use sparse checkout to only grab what you need.
Since you’ll be working in the terminal, you'll need Git installed. Download and install it, either using sudo apt install git or downloading Git for Windows depending on your platform. If you use GitHub Desktop, you may already have Git installed. You can check if it’s installed by running git --version in your terminal.
If you haven't done so, fork the repository at https://github.com/PortsMaster/PortMaster-New. You can do this in a web browser. In your computer's terminal, clone it: `git clone --filter=blob:none --depth 1 --no-checkout https://github.com/USERNAME/PortMaster-New PortMaster-New
Website: https://www.playtron.one/
X.com: https://x.com/PLAYTR0N
What follows is my first venture into understanding what Playtron is and forming an opinion on whether it has any value to the average retro enthusiast. I first learned of Playtron about six months ago (December 2024ish) and on seeing they're a linux handheld contender based in the USA, of course I felt obligated to research. Back then they were a fairly new company to the greater SBC community we know and love, and information about them was scarce. All I could find then was "maybe arm" and they had hired ptitSeb the box64 developer. After that, my interest sort of died as they weren't too established yet--my attention turned back to ongoing projects with PortMaster and the (at the time) more prominent Retroid Pocket 5 that was generating excitement among the community.
Playtron positions itself as a Windows and Steam Deck rival, aiming to “extract the gaming ecosystem” with GameOS,
If you're new to setting up Wine Bottles in ROCKNIX, then you should read qcs-wine-bottles.md first.
This guide is intended for people who wish to share their functional wine bottles with others, for easier consumption. The system used in this guide is extremely similar to PortMaster and the system used for packaging ports. There are three simple terms used throughout:
.winecellar: This is a user-created folder that ideally lives in roms/windows. It is meant to store shared custom binaries to help with running wine bottles (such as tools/splash) and custom wine builds.bottle.json: This json file is similar to port.json in that it holds identifying information about the game it's bundled with. Launch scripts will use jquery to parse this file to correctly configure wine for the game.winecask.json: This json file is a merged combination of all bottle.json files in a GitHub reposito