Flatpak support
Packaging Redream as a flatpak would open up the possibility of uploading it to Flathub, an app store for Linux. Doing so could make it visible to more than 1 million users.
The documentation for this process can be found here.
After setting up Flatpak on the host system, the first step is to create a Manifest file, which I already made:
id: io.redream.Redream
runtime: org.freedesktop.Platform
runtime-version: '23.08'
sdk: org.freedesktop.Sdk
command: redream
finish-args:
- --share=ipc
- --socket=x11
- --socket=wayland
- --socket=pulseaudio
- --device=dri
modules:
- name: redream
buildsystem: simple
build-commands:
- tar -xvf redream.x86_64-linux-v1.5.0.tar.gz
- install -Dm755 redream /app/bin/redream
sources:
- type: file
sha256: 6f1eec9e4bab7411dbee08192a2ae6c133a2ae08af98b25afab4d61060fc0466
url: https://redream.io/download/redream.x86_64-linux-v1.5.0.tar.gz
The file is called io.redream.Redream.yml
. To "build" (download and install into app), the following command must be run where this file is:
flatpak run org.flatpak.Builder --user --install --force-clean ./build/ io.redream.Redream.yml
This already makes the app run by issuing flatpak run io.redream.Redream
.
Now, to upload it to Flathub, an icon (and probably a metainfo.xml) file must be provided. I'm not sure how to do this cleanly at the moment (since the source is not available to me), but I already generated a metainfo.xml
file you could work with:
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.redream.Redream</id>
<name>Redream</name>
<summary>A blazing fast Sega Dreamcast emulator </summary>
<metadata_license>MIT</metadata_license>
<project_license>LicenseRef-proprietary</project_license>
<supports>
<control>pointing</control>
<control>keyboard</control>
<control>gamepad</control>
</supports>
<description>
<p>
An emulator for the Sega Dreamcast, which runs well even on low-end devices. It should run smoothly on a decade-old PC or laptop.
</p>
<p>
Redream also offers a few advantages:
</p>
<p>
- No BIOS required - 95% of the console's library is fully playable - The binary only weights 4mb
</p>
</description>
<launchable type="desktop-id">io.redream.Redream.desktop</launchable>
</component>
Feel free to change anything, of course.