From 41a8b7dcfc2640ae8d17060bfc17606575893916 Mon Sep 17 00:00:00 2001 From: Zortos Date: Thu, 26 Feb 2026 23:58:24 +0100 Subject: [PATCH 1/4] feat: add flatpak packaging support - 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 --- .github/workflows/auto-build.yml | 8 +++++--- opennow-stable/package.json | 27 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml index ff1104b6..dbc628d5 100644 --- a/.github/workflows/auto-build.yml +++ b/.github/workflows/auto-build.yml @@ -40,10 +40,10 @@ jobs: builder_args: "--mac dmg zip --arm64" - label: linux-x64 os: blacksmith-4vcpu-ubuntu-2404 - builder_args: "--linux AppImage deb --x64" + builder_args: "--linux AppImage deb flatpak --x64" - label: linux-arm64 os: blacksmith-4vcpu-ubuntu-2404-arm - builder_args: "--linux AppImage deb --arm64" + builder_args: "--linux AppImage deb flatpak --arm64" defaults: run: @@ -84,7 +84,8 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get install -y fakeroot rpm + sudo apt-get install -y fakeroot rpm flatpak flatpak-builder + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo - name: Install FPM for arm64 deb builds if: matrix.label == 'linux-arm64' run: sudo apt-get install -y ruby ruby-dev build-essential && sudo gem install fpm @@ -108,6 +109,7 @@ jobs: opennow-stable/dist-release/*.zip opennow-stable/dist-release/*.AppImage opennow-stable/dist-release/*.deb + opennow-stable/dist-release/*.flatpak if-no-files-found: error release: diff --git a/opennow-stable/package.json b/opennow-stable/package.json index 65fcb59a..17b41509 100644 --- a/opennow-stable/package.json +++ b/opennow-stable/package.json @@ -87,11 +87,36 @@ "linux": { "target": [ "AppImage", - "deb" + "deb", + "flatpak" ], "category": "Game", "maintainer": "zortos293 ", "artifactName": "OpenNOW-v${version}-linux-${arch}.${ext}" + }, + "flatpak": { + "runtime": "org.freedesktop.Platform", + "runtimeVersion": "24.08", + "sdk": "org.freedesktop.Sdk", + "base": "org.electronjs.Electron2.BaseApp", + "baseVersion": "24.08", + "branch": "stable", + "artifactName": "OpenNOW-v${version}-${arch}.flatpak", + "finishArgs": [ + "--share=network", + "--share=ipc", + "--socket=x11", + "--socket=wayland", + "--socket=pulseaudio", + "--device=dri", + "--device=all", + "--filesystem=home", + "--talk-name=org.freedesktop.Notifications", + "--talk-name=org.freedesktop.portal.Desktop", + "--talk-name=org.freedesktop.portal.Settings", + "--talk-name=org.freedesktop.portal.Documents", + "--own-name=com.zortos.opennow.stable" + ] } } } From f38e257cff3cba20105b00b155ca9099257a7f84 Mon Sep 17 00:00:00 2001 From: Zortos Date: Thu, 26 Feb 2026 23:58:51 +0100 Subject: [PATCH 2/4] docs: add flatpak to platform support and download tables Update README and opennow-stable/README with: - Flatpak in Platform Support table - Flatpak file names in Download table - Flatpak in Features section --- README.md | 8 +++++--- opennow-stable/README.md | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 9ec1a328..1d719f7d 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ OpenNOW is a community-built desktop client for [NVIDIA GeForce NOW](https://www `Stats Overlay` `Anti-AFK` `Adjustable Shortcuts` · OAuth + session restore · Region selection · Alliance partners **Platforms** -`Windows` `macOS` `Linux` `ARM64` · Installer, portable, AppImage, deb, dmg +`Windows` `macOS` `Linux` `ARM64` · Installer, portable, AppImage, deb, dmg, Flatpak ## Platform Support @@ -143,8 +143,8 @@ OpenNOW is a community-built desktop client for [NVIDIA GeForce NOW](https://www |----------|:------:|--------| | Windows | ✅ Working | NSIS installer + portable | | macOS | ✅ Working | dmg + zip (x64 and arm64) | -| Linux x64 | ✅ Working | AppImage + deb | -| Linux ARM64 | 🚧 Experimental | AppImage + deb (Raspberry Pi 4/5) | +| Linux x64 | ✅ Working | AppImage + deb + Flatpak | +| Linux ARM64 | 🚧 Experimental | AppImage + deb + Flatpak (Raspberry Pi 4/5) | ## Quick Start @@ -170,7 +170,9 @@ Grab the latest release for your platform: | macOS (x64) | `OpenNOW-v0.2.4-mac-x64.dmg` | | macOS (ARM) | `OpenNOW-v0.2.4-mac-arm64.dmg` | | Linux (x64) | `OpenNOW-v0.2.4-linux-x86_64.AppImage` | +| Linux (x64 Flatpak) | `OpenNOW-v0.2.4-x86_64.flatpak` | | Linux (ARM64) | `OpenNOW-v0.2.4-linux-arm64.AppImage` | +| Linux (ARM64 Flatpak) | `OpenNOW-v0.2.4-arm64.flatpak` | ## Architecture diff --git a/opennow-stable/README.md b/opennow-stable/README.md index a4f0c24d..63dbf190 100644 --- a/opennow-stable/README.md +++ b/opennow-stable/README.md @@ -24,8 +24,8 @@ npm run dist |----------|---------| | Windows | NSIS installer + portable | | macOS | dmg + zip (x64 and arm64 universal) | -| Linux x64 | AppImage + deb | -| Linux ARM64 | AppImage + deb (Raspberry Pi 4/5) | +| Linux x64 | AppImage + deb + Flatpak | +| Linux ARM64 | AppImage + deb + Flatpak (Raspberry Pi 4/5) | ## CI/CD From 0e4a1ac140075dba78f75dc3e26d0015b2273099 Mon Sep 17 00:00:00 2001 From: Zortos Date: Fri, 27 Feb 2026 00:05:41 +0100 Subject: [PATCH 3/4] ci: install flatpak runtimes before building Add step to install required Flatpak runtimes: - org.freedesktop.Platform//24.08 - org.freedesktop.Sdk//24.08 - org.electronjs.Electron2.BaseApp//24.08 --- .github/workflows/auto-build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml index dbc628d5..723c0f6e 100644 --- a/.github/workflows/auto-build.yml +++ b/.github/workflows/auto-build.yml @@ -86,6 +86,11 @@ jobs: sudo apt-get update sudo apt-get install -y fakeroot rpm flatpak flatpak-builder sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + - name: Install Flatpak runtimes + if: runner.os == 'Linux' + run: | + sudo flatpak install -y flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08 + sudo flatpak install -y flathub org.electronjs.Electron2.BaseApp//24.08 - name: Install FPM for arm64 deb builds if: matrix.label == 'linux-arm64' run: sudo apt-get install -y ruby ruby-dev build-essential && sudo gem install fpm From 5915af757e8341b23d1cd9daa3ff469fe06ccab3 Mon Sep 17 00:00:00 2001 From: Zortos Date: Fri, 27 Feb 2026 00:06:27 +0100 Subject: [PATCH 4/4] fix: add flatpak metadata files 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 --- .../build/com.zortos.opennow.stable.desktop | 11 ++++++ .../com.zortos.opennow.stable.metainfo.xml | 34 +++++++++++++++++++ opennow-stable/package.json | 10 +++++- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 opennow-stable/build/com.zortos.opennow.stable.desktop create mode 100644 opennow-stable/build/com.zortos.opennow.stable.metainfo.xml diff --git a/opennow-stable/build/com.zortos.opennow.stable.desktop b/opennow-stable/build/com.zortos.opennow.stable.desktop new file mode 100644 index 00000000..06b186b9 --- /dev/null +++ b/opennow-stable/build/com.zortos.opennow.stable.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=OpenNOW +Comment=An open-source GeForce NOW client +Exec=opennow-stable %U +Type=Application +Icon=com.zortos.opennow.stable +Categories=Game; +Terminal=false +StartupWMClass=OpenNOW +MimeType=x-scheme-handler/opennow; +X-Flatpak=com.zortos.opennow.stable \ No newline at end of file diff --git a/opennow-stable/build/com.zortos.opennow.stable.metainfo.xml b/opennow-stable/build/com.zortos.opennow.stable.metainfo.xml new file mode 100644 index 00000000..6b6e7c5f --- /dev/null +++ b/opennow-stable/build/com.zortos.opennow.stable.metainfo.xml @@ -0,0 +1,34 @@ + + + com.zortos.opennow.stable + OpenNOW + An open-source GeForce NOW client + zortos293 + MIT + MIT + +

OpenNOW is a community-built desktop client for NVIDIA GeForce NOW, built with Electron and TypeScript. It gives you a fully open-source, cross-platform alternative to the official app — with zero telemetry, full transparency, and features the official client doesn't have.

+

Features:

+
    +
  • WebRTC streaming with H.264, H.265, and AV1 codecs
  • +
  • Up to 4K@240fps streaming
  • +
  • Gamepad support (up to 4 controllers)
  • +
  • Microphone support for voice chat
  • +
  • Stats overlay with performance metrics
  • +
  • Anti-AFK feature
  • +
  • Adjustable shortcuts
  • +
+
+ com.zortos.opennow.stable.desktop + https://github.com/OpenCloudGaming/OpenNOW + https://github.com/OpenCloudGaming/OpenNOW/issues + + + https://raw.githubusercontent.com/OpenCloudGaming/OpenNOW/main/img.png + + + + + + +
\ No newline at end of file diff --git a/opennow-stable/package.json b/opennow-stable/package.json index 17b41509..ed217fa3 100644 --- a/opennow-stable/package.json +++ b/opennow-stable/package.json @@ -61,7 +61,15 @@ "files": [ "dist/**", "dist-electron/**", - "package.json" + "package.json", + "build/**" + ], + "extraResources": [ + { + "from": "build/", + "to": "build/", + "filter": ["**/*"] + } ], "asar": true, "win": {