Skip to content

[bug] Gstreamer issues under Arch Linux when using AppImage #4642

@RubenKelevra

Description

@RubenKelevra

Describe the bug

I try to create a simple App which shows a single website. The idea is to replicate the functionality of electron-nativefier. I thought I start with WhatsApp:

https://github.com/RubenKelevra/whatsapp-tauri

When I set tauri.bundle.appimage.bundleMediaFramework to true, the compilation will fail with this error:

$ cargo tauri build -b appimage
   Compiling app v0.1.0 (/home/rubenk/dev/tauri-whatsapp/src-tauri)
^X@sk    Finished release [optimized] target(s) in 24.94s
    Bundling whats-app_0.1.1_amd64.AppImage (/home/rubenk/dev/tauri-whatsapp/src-tauri/target/release/bundle/appimage/whats-app_0.1.1_amd64.AppImage)
       Error failed to bundle project: error running appimage.sh: error running appimage.sh: `failed to run /home/rubenk/dev/tauri-whatsapp/src-tauri/target/release/bundle/appimage/build_appimage.sh`

When I set it to false the build process works fine, but I won't be able to use it: The main window launches but the window-content remains white blank and that's it.

On the console the appimage will print the following:

$ /home/rubenk/dev/tauri-whatsapp/src-tauri/target/release/bundle/appimage/whats-app_0.1.1_amd64.AppImage
GStreamer element autoaudiosink not found. Please install it

(WebKitWebProcess:440827): GLib-GObject-WARNING **: 14:51:10.999: invalid (NULL) pointer instance

(WebKitWebProcess:440827): GLib-GObject-CRITICAL **: 14:51:10.999: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

The deb builds fine and does start and render the website. There's also audio playback possible.

The system is ArchLinux with Linux 5.18.8-xanmod1, I use KDE 5.25.2 and the user session runs on Wayland 1.21.0. Arch Linux already uses pipewire - so maybe there are some incompatibilities? Tauri gets compiled with Rust 1.62.0, and I've just set up the development environment yesterday by running:

$ cargo install tauri-cli --version "^1.0.0"
$ cargo tauri init

The release binaries are build with the standard cargo tauri build.

I've installed the necessary packages from the Readme for Arch Linux:

webkit2gtk, gtk3, libayatana-appindicator

Reproduction

  1. try to start AppImages bundles

OR

  1. start building a bundle with AppImage as target and tauri.bundle.appimage.bundleMediaFramework set to true

Expected behavior

Build and runs fine, regardless of the flag.

Platform and versions

$ cargo tauri info

Environment
  › OS: EndeavourOS Rolling Release X64
  › Node.js: 16.16.0
  › npm: 8.13.1
  › pnpm: Not installed!
  › yarn: 1.22.19
  › rustup: Not installed!
  › rustc: 1.62.0
  › cargo: 1.62.0
  › Rust toolchain: 

Packages
WARNING: no lock files found, defaulting to npm
  › @tauri-apps/cli [NPM]: 1.0.3
  › @tauri-apps/api [NPM]: Not installed!
  › tauri [RUST]: 1.0.3,
  › tauri-build [RUST]: 1.0.3,
  › tao [RUST]: 0.12.1,
  › wry [RUST]: 0.19.0,

App
  › build-type: bundle
  › CSP: unset
  › distDir: https://web.whatsapp.com/
  › devPath: https://web.whatsapp.com/
package.json not found

App directory structure
  ├─ .github
  ├─ src-tauri
  └─ .git

Stack trace

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions