feat(flatpak): work around nvidia driver compatibility by setting WEBKIT_DISABLE_DMABUF_RENDERER=1 (#742)

On
  GPU: NVIDIA GeForce RTX 4060 Ti
  Driver Version: 580.95.05, CUDA Version: 13.0
on Ubuntu 22.04 one sees
  $ flatpak run org.eigenwallet.app
  Gtk-Message: 12:51:00.306: Failed to load module "canberra-gtk-module"
  Gtk-Message: 12:51:00.306: Failed to load module "canberra-gtk-module"
  Gtk-Message: 12:51:00.551: Failed to load module "canberra-gtk-module"
  Gtk-Message: 12:51:00.552: Failed to load module "canberra-gtk-module"
  Failed to create GBM buffer of size 800x700: Invalid argument
  2025-11-01T09:51:00.990998736Z INFO swap::common::tracing_util: swap/src/common/tracing_util.rs:225: Initialized tracing. General logs will be written to swap-all.log, and verbose logs to tracing*.log level_filter=debug logs_dir=/home/user/.var/app/org.eigenwallet.app/data/xmr-btc-swap/cli/mainnet/logs
and the window opens, but never populates

This is the most-commonly-mentioned workaround

Closes: #665
This commit is contained in:
наб 2025-11-24 12:33:59 +01:00 committed by GitHub
parent 4a07bad80d
commit e8b45e9c48
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 19 additions and 3 deletions

View file

@ -168,7 +168,8 @@ jobs:
"type": "file", "type": "file",
"path": $deb_path "path": $deb_path
} | } |
.modules[0].sources[1].path = $PWD + "/" + .modules[0].sources[1].path .modules[0].sources[1].path = $PWD + "/" + .modules[0].sources[1].path |
.modules[0].sources[2].path = $PWD + "/" + .modules[0].sources[2].path
' < flatpak/org.eigenwallet.app.json > target/manifest.json ' < flatpak/org.eigenwallet.app.json > target/manifest.json
outdir=target/flatpak-repo outdir=target/flatpak-repo

View file

@ -233,7 +233,8 @@ jq --arg deb_path "$DEB_FILE" --arg PWD "$PWD" '
"type": "file", "type": "file",
"path": $deb_path "path": $deb_path
} | } |
.modules[0].sources[1].path = $PWD + "/" + .modules[0].sources[1].path .modules[0].sources[1].path = $PWD + "/" + .modules[0].sources[1].path |
.modules[0].sources[2].path = $PWD + "/" + .modules[0].sources[2].path
' "$MANIFEST_FILE" > "$TEMP_MANIFEST" ' "$MANIFEST_FILE" > "$TEMP_MANIFEST"
MANIFEST_FILE="$TEMP_MANIFEST" MANIFEST_FILE="$TEMP_MANIFEST"

View file

@ -3,7 +3,7 @@
"runtime": "org.gnome.Platform", "runtime": "org.gnome.Platform",
"runtime-version": "47", "runtime-version": "47",
"sdk": "org.gnome.Sdk", "sdk": "org.gnome.Sdk",
"command": "unstoppableswap-gui-rs", "command": "unstoppableswap-gui-rs.flatpak.sh",
"finish-args": [ "finish-args": [
"--socket=wayland", "--socket=wayland",
"--socket=fallback-x11", "--socket=fallback-x11",
@ -28,12 +28,17 @@
{ {
"type": "file", "type": "file",
"path": "flatpak/org.eigenwallet.app.appdata.xml" "path": "flatpak/org.eigenwallet.app.appdata.xml"
},
{
"type": "file",
"path": "flatpak/unstoppableswap-gui-rs.flatpak.sh"
} }
], ],
"build-commands": [ "build-commands": [
"ar -x *.deb", "ar -x *.deb",
"tar -xf data.tar.gz", "tar -xf data.tar.gz",
"install -Dm755 usr/bin/unstoppableswap-gui-rs -t /app/bin", "install -Dm755 usr/bin/unstoppableswap-gui-rs -t /app/bin",
"install -Dm755 *.flatpak.sh -t /app/bin",
"install -Dm644 *.appdata.xml -t /app/share/metainfo", "install -Dm644 *.appdata.xml -t /app/share/metainfo",
"mv usr/share/icons /app/share" "mv usr/share/icons /app/share"
] ]

View file

@ -0,0 +1,9 @@
#!/bin/sh -x
# Work around https://github.com/eigenwallet/core/issues/665
WEBKIT_DISABLE_DMABUF_RENDERER=1
export WEBKIT_DISABLE_DMABUF_RENDERER
# This executed in flatpak, with /app/bin in $PATH
# flatpak runs execlp("${manifest.command}"), replicate this
exec unstoppableswap-gui-rs "$@"