Gameimage
Gameimage - FlatImage Game Packer
Install / Use
/learn @gameimage/GameimageREADME
<a href="https://discord.gg/JXqnze9gRF"><img src="https://img.shields.io/discord/1332381739385098312?style=flat&logo=discord&label=discord"></img></a> <a href="https://github.com/ruanformigoni/gameimage/releases"><img src="https://img.shields.io/github/v/release/ruanformigoni/gameimage?style=flat&logo=github&label=download"></img></a>
<div align="center"> <img src="doc/img/gameimage.svg" width="150"> </div>GameImage - FlatImage Game Packer
About
https://github.com/ruanformigoni/gameimage/assets/18180693/7690e65a-aed9-4bfa-aa98-3ffd57e20e65
Game emulation is on the rise, with years of contribution from the community and
now with Valve's portable handheld, the steam deck. The fragmentation with
several platform emulators is daunting, especially since it requires repetitive
configuration for the first time or if the config files go missing. GameImage is
a tool to pack a runner (such as an emulator), a game, and it's configs in a
single flatimage.
Advantages:
- [x] Simplicity:
- [x] No need to install an emulator or wine to run your games, they are downloaded as images and packaged with the game.
- [x] Each game config/saves are in the same folder as the
flatimageby default, which simplifies backups.
- [x] Usability: get your game running with a double click on a fresh linux install, no dependencies required.
- [x] Storage: Smaller file sizes than loose files, since the images uses a compressed filesystem.
Supported Package Types
<a href="" target="_blank"> <img src="doc/img/linux.svg" width="120" height="120"> </a> <a href="https://www.retroarch.com/" target="_blank"> <img src="doc/img/retroarch.svg" width="120" height="120"> </a> <a href="https://pcsx2.net/" target="_blank"> <img src="doc/img/PCSX2.svg" width="120" height="120"> </a> <a href="https://rpcs3.net/" target="_blank"> <img src="doc/img/RPCS3.svg" width="120" height="120"> </a> <a href="https://www.winehq.org/" target="_blank"> <img src="doc/img/wine.svg" width="120" height="120"> </a>Showcase
<a href="" target="_blank"><img src="doc/readme/showcase-00.png" width="32%"></a> <a href="" target="_blank"><img src="doc/readme/showcase-01.png" width="32%"></a> <a href="" target="_blank"><img src="doc/readme/showcase-02.png" width="32%"></a>
<img src="doc/readme/showcase-03.png" width="100%">Install
Download the latest gameimage.run file in the releases page.
https://github.com/ruanformigoni/gameimage/assets/18180693/208c41dd-2454-484a-a30f-8b711e94b41b
Tutorials
Wine Single
https://github.com/ruanformigoni/gameimage/assets/18180693/0592dd5f-9b27-4503-9978-77842ad4c7b6
Wine Multiple
https://github.com/ruanformigoni/gameimage/assets/18180693/a2d92de2-ce28-4c7b-9f25-02eb9db525da
Linux
https://github.com/ruanformigoni/gameimage/assets/18180693/b5ad407e-23a6-48fd-b636-c2ef2a89fd28
FlatImage
The key advantages of flatimage are:
- Flatimage packs everything the application requires to run in a single file.
- Subsequently, the generated file works on linux distributions without, expecting any libraries to be available on the host.
- Flatimage runs the application on a containerized environment, it only allows the application to access what is necessary for it to work (such as sockets and devices).
- Flatimage is read-write, you can create a flatimage that stores your saves in the image itself, that way, instead of having back-up one file (wine+prefix+game data) and one directory (saves), you just have to backup one file. Flatimage grows automatically to accomodate your save data, you can still use the previous method with flatimage, as well as others listed in
Cli
You can skip the GUI launcher and run a game directly with:
$ ./my-game.flatimage --select-index=0
This will launch the game with index 0, to list valid indices, use:
$ ./my-game.flatimage --select-list
To disable the launcher completely, and open your game directly when double clicked in the file manager, use:
$ ./my-game.flatimage fim-boot sh -c '/fim/static/gameimage-launcher "$@"' -- --select-index 0
Tips
- Wine umu takes longer to start than other options
- Select shaders in retroarch, and use ‘save as global preset’. GameImage will remember your selected shaders after the image creation.
- Use the environment variable GAMEID to set the gameid for umu, either on the wizard or on the launcher.
Known Issues
General
Avoid using NTFS formatted hard-drives.
Disclaimer: This project does not endorse piracy, buy your games and console to use this software.
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
