You can use Download-Directory to download specific folders in this repository without having to clone the whole thing. Downgit will download a zip archive of your desired port, which you can then copy to PortMaster/autoinstall folder. Once copied, running the PortMaster application will install the port for you.
Whether you're new to retro handhelds, a developer who came across this repository and noticed their game has a port, or a developer seeking information, I can't recommend enough this video by WULFF DEN which encapsulates the whole idea pretty well.
Some of the ports in this repository have minimum requirements. Be sure to check the port.json file for a port to see if it lists any of the following requirements:
hires: The port will work best with a screen resolution greater than640x480.!lowres: The port will work best with a screen resolution that is at minimum640x480.power: The port will perform best with a device with more power than therk3326cpu.opengl: The port requires OpenGL (not OpenGLES). This means a mainline custom firmware.wide: The port demands an aspect ratio above 4:3.analog_#: The port requires analog sticks.
Some of my ports require runtimes--mounted squashfs files that contain common scripts, programs, etc. These are found in the runtimes folder of this repository and should be placed in PortMaster/libs on your device. For large runtimes (like GMToolkit), the squashfs file may be split into multiple parts. You’ll need to recombine the parts before transferring to your device. Download all the parts and, in the same folder, do one of the following:
On Linux and MacOS:
cat gmtoolkit.squashfs.part.* > gmtoolkit.squashfs
On Windows:
cmd: copy /b gmtoolkit.squashfs.part.001 + gmtoolkit.squashfs.part.002 + gmtoolkit.squashfs.part.003 gmtoolkit.squashfs
powershell: Get-ChildItem -Filter "gmtoolkit.squashfs.part.*" | Sort-Object Name | Get-Content -Encoding Byte -ReadCount 0 | Set-Content gmtoolkit.squashfs -Encoding Byte
You can keep up with ports that I consider "complete" by checking the commit history for the format [PORTNAME] Move to released folder. You can also browse the unreleased folder to see what I'm working on. If you star and watch this repository, you'll get GitHub notifications when I make changes.
If you see potential for improvements to my ports, I'm open to suggestions and pull requests--especially for unreleased ports, which are either in progress or in limbo for one reason or another. Please do not open issues to suggest new ports unless you're certain they can be ported. Although, if you're certain a game can be ported, why not do it yourself?
Please review the Contribution Guidelines before proceeding with contributions.
I love bringing indie games to the linux arm64 platform, and seeing people experience games through a new medium! Making legal ports with commercial indie games isn't free though. I accept donations on my Ko-Fi page. All donations I receive go towards further port research -- mostly purchasing commercial games to develop new ports with.
All of these port wrappers are MIT licensed except for the following:
- Game assets as a part of "ready to run" ports are licensed for distribution through PortMaster, but the MIT license does not apply to the assets.
- Open source tools like GMLoader-Next and GMTools have their own licenses and are not necessarily MIT.
- Open source projects like Ship of Harkinian may also have their own licenses.
- Libraries used by the ports have their own licenses.
In short, the MIT license applies only to custom parts of the port wrappers, typically the bash files.