Skip to content

[Linux] Flatpak support [WIP]#138

Draft
zortos293 wants to merge 5 commits intodevfrom
feat/flatpak
Draft

[Linux] Flatpak support [WIP]#138
zortos293 wants to merge 5 commits intodevfrom
feat/flatpak

Conversation

@zortos293
Copy link
Collaborator

@zortos293 zortos293 commented Feb 26, 2026

Summary

Add Flatpak packaging support for Linux distributions, providing users with a sandboxed, distribution-agnostic installation method.

Changes

  • Packaging (package.json): Add flatpak target with full configuration
    • Uses Freedesktop runtime 24.08
    • Electron2 BaseApp for proper Electron integration
    • Configured sandbox permissions for streaming, audio, GPU, controllers
  • CI/CD (.github/workflows/auto-build.yml):
    • Install Flatpak tooling and runtimes in Linux builds
    • Build Flatpak packages for x64 and ARM64
    • Include .flatpak artifacts in releases
  • Metadata: Add required desktop entry and AppStream files
  • Documentation: Update README with Flatpak download links

Permissions

Permission Purpose
--share=network WebRTC streaming
--socket=pulseaudio Audio playback
--device=dri GPU acceleration
--device=all Gamepad/controller support
--filesystem=home Settings and logs storage

Testing

  • CI build passes for linux-x64
  • CI build passes for linux-arm64
  • Flatpak installs locally
  • Login flow works (OAuth via browser)
  • Streaming works
  • Audio playback works
  • Microphone works
  • Gamepad detected

Download Artifacts

Once CI passes, download from the workflow artifacts:

  • OpenNOW-v0.2.4-x86_64.flatpak
  • OpenNOW-v0.2.4-arm64.flatpak

Related

https://www.reddit.com/r/linux_gaming/comments/1reb0yt/comment/o7l3six/

- Add 'flatpak' target to Linux builds in electron-builder
- Configure flatpak with freedesktop runtime 24.08 and electron2 base app
- Add flatpak-builder to CI workflow
- Include flatpak artifacts in GitHub releases

Permissions configured for:
- Network access (streaming)
- Display (X11/Wayland)
- Audio (pulseaudio)
- GPU acceleration (DRI)
- Controller input (--device=all)
- Home directory (settings/logs)
- Portal services for desktop integration
Update README and opennow-stable/README with:
- Flatpak in Platform Support table
- Flatpak file names in Download table
- Flatpak in Features section
Add step to install required Flatpak runtimes:
- org.freedesktop.Platform//24.08
- org.freedesktop.Sdk//24.08
- org.electronjs.Electron2.BaseApp//24.08
Add required Flatpak metadata files:
- Desktop entry file (com.zortos.opennow.stable.desktop)
- AppStream metainfo file (com.zortos.opennow.stable.metainfo.xml)
- Include build/ directory in packaged files
@zortos293
Copy link
Collaborator Author

image Test of discord user: derpi3

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.

1 participant