Oblivion Desktop

Installation & startup

Oblivion Desktop on Linux

Match the package to your distribution and system architecture. Install it, launch as your normal user, then use the exact error below if the window does not open.

Looking for a specific error?

Sandbox / execvpBlank screenGTK / SIGTRAPKDE proxy

Check your distribution and architecture

Run these in a terminal:

uname -m
cat /etc/os-release
printf '%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"

x86_64 means x64 (called amd64 in the DEB filename). aarch64 means ARM64. Use /etc/os-release to identify Ubuntu/Debian, Fedora or another distribution. The last command helps distinguish GNOME/KDE and Wayland/X11; empty values may mean you are outside the graphical login session.

This guide covers Desktop 3.11.0, the latest stable release when checked on 5 November 2026. The Desktop repository is archived. Package availability does not guarantee compatibility with every distribution or later desktop update.

Choose and install a package

Format Where to start Download 3.11.0
DEB Ubuntu, Debian and compatible derivatives x64
ARM64
RPM Fedora and compatible RPM systems; dependencies vary x64
ARM64
AppImage Run a standalone file; may need FUSE x64
ARM64
TAR.XZ Extract the complete app folder yourself x64
ARM64

Download an application package, not GitHub’s Source code archive. For checksums and all files, use the download page. Commands below use the x64 filenames and assume the terminal is in the download folder. Substitute your downloaded filename for ARM64.

Ubuntu / Debian: DEB

sudo apt install ./oblivion-desktop-linux-amd64.deb
oblivion-desktop

APT resolves dependencies from your configured repositories; review the proposed changes before accepting. The current DEB installs the executable under /opt/oblivion-desktop/ and a menu entry. Package management on Ubuntu

Fedora: RPM

sudo dnf install ./oblivion-desktop-linux-x86_64.rpm
oblivion-desktop

Use your own distribution’s package manager on other RPM systems. Stop if dependencies cannot be resolved; do not force installation with dependency checks disabled. DNF supports installing a local RPM; that does not establish that every RPM distribution can satisfy this package.

AppImage

chmod u+x ./oblivion-desktop-linux-x86_64.AppImage
./oblivion-desktop-linux-x86_64.AppImage

If the error names FUSE or libfuse.so.2, that is an AppImage mounting problem. On Ubuntu 24.04, the compatibility library is libfuse2t64:

sudo apt install libfuse2t64

This differs from the fuse package. Follow the AppImage FUSE guide for your distribution, or use TAR.XZ. If the file mounts but reports a sandbox error, use the sandbox section below.

TAR.XZ

mkdir -p "$HOME/Applications"
tar -xJf ./oblivion-desktop-linux-x64.tar.xz -C "$HOME/Applications"
"$HOME/Applications/oblivion-desktop-linux-x64/oblivion-desktop"

Keep the extracted folder intact, including resources and the shared libraries. Extract an update into a fresh location or replace the old folder only after quitting. The archive does not install system dependencies or a menu entry for you.

First launch, helper and a hidden window

Launch the app as your normal desktop user. Use administrator privileges for package installation, not for the whole graphical app. When TUN needs Oblivion-Helper, the Linux launcher uses pkexec. Check that command -v pkexec returns a path. If it is missing, use your distribution’s polkit packages; if it exists but no graphical prompt appears, check the desktop authorization agent. How pkexec authorizes a request Cancelling that prompt can prevent the connection; a missing prompt is not a reason to configure passwordless sudo.

If you see “Creating new od instance…”, read the following lines too: it is a startup message, not a diagnosis. “Instance already running” points to another copy. Check the tray, then inspect the processes:

pgrep -af oblivion-desktop

Disconnect and choose Quit in the existing copy. If it is frozen, end only the identified process in your desktop’s system monitor, then launch once. Force termination can interrupt network cleanup. Avoid repeatedly launching copies or deleting settings to release a window.

Dependencies and installation errors

  • DEB “dependency problems — leaving unconfigured”: if you used dpkg -i, run sudo apt --fix-broken install and review the transaction. It can propose removing an unresolvable package. Do not approve unrelated removals just to make the error disappear.
  • Missing shared library: retain its exact name. Install the matching architecture’s runtime package from your distribution. Desktop needs a graphical environment and libraries such as GTK/NSS; downloading a loose .so from another distribution is not a dependable repair.
  • “wrong ELF class: ELFCLASS32”: a 64-bit app found a 32-bit library. This differs from a missing library. Check the package architecture and any custom LD_LIBRARY_PATH; installing more 32-bit audio libraries does not solve the mismatch. Historical RHEL report #387
  • “Invalid cross-device link” during DEB unpacking: preserve the complete dpkg error and affected path. It describes a filesystem/link operation, not a connection failure. Do not delete system icons or force overwrites. Inspect the mount layout or use a matching archive while the package transaction is diagnosed. Report #365 concerns an older beta and does not establish a universal fix.
  • openSUSE/libuuid: an old report #369 described libuuid versus libuuid1. The inspected 3.11.0 x64 RPM accepts either name. If it still fails, keep the current resolver output rather than assuming the old dependency-name problem remains.

Ubuntu 24.04, execvp and sandbox errors

First check the executable path. The old execvp wiki example shows /opt/Oblivion; the current DEB launcher uses /opt/oblivion-desktop/oblivion-desktop.

command -v oblivion-desktop
grep '^Exec=' /usr/share/applications/oblivion-desktop.desktop
ls -l /opt/oblivion-desktop/oblivion-desktop

These paths apply to the installed DEB, not an AppImage or extracted archive. If the executable runs from a terminal but the menu does not, inspect a stale per-user .desktop entry under ~/.local/share/applications/. Back it up before correcting its Exec path. In a desktop entry, quote an absolute executable path if it contains spaces; shell variables such as $HOME are not expanded there. Desktop entry execution rules

If the path exists and the following error mentions zygote, namespaces or SUID sandbox, treat that as a separate branch. Ubuntu 24.04 restricts unprivileged user namespaces through AppArmor. A value of 1 for kernel.unprivileged_userns_clone alone does not rule out an AppArmor denial.

The current DEB’s installer attempts to install an app-specific AppArmor profile and configure chrome-sandbox. Prefer reinstalling the intact current DEB through APT and checking its installation output. For diagnosis:

ls -l /etc/apparmor.d/oblivion-desktop
stat -c '%U %a %n' /opt/oblivion-desktop/chrome-sandbox
sudo journalctl -k -b --no-pager | grep -Ei 'apparmor|userns|oblivion'

A missing profile is relevant only if AppArmor is active and the installer supports its version. A SUID helper’s owner/mode is a different check: the error may request root ownership and mode 4755, while a functioning user-namespace setup can use mode 755. Do not blindly change either file’s permissions. Ask the system administrator to check the actual executable path, installed policy and denial log.

For archives/AppImages, the executable path differs from the packaged profile. An administrator must assess a profile for that path; editing the app’s menu entry does not grant namespace permission. Use the installed policy and the denial log to identify the required change; an old wiki workaround may target a different executable path or distribution.

sudo … --no-sandbox is not the normal launch command. --no-sandbox disables Chromium’s sandbox, and --disable-gpu-sandbox disables its GPU sandbox. The Electron documentation explains that tradeoff. Do not add either switch to autostart as a routine repair. The 3.11.0 AppImage’s bundled desktop entry already contains Exec=AppRun --no-sandbox %U; check the command in any menu entry created from it. This differs from the DEB desktop entry. Launching with --no-sandbox does not validate normal sandboxed operation.

Blank screen or “eglInitialize OpenGL failed”

Capture the terminal error before changing network settings. Check your graphics driver through your distribution’s updates. If you use Wayland, quit the app and compare an X11 launch, provided XWayland is installed:

oblivion-desktop --ozone-platform=x11

Use the actual executable path for an archive. This is a one-run comparison; remove the flag to return to the previous behavior. If it helps, record the session type and GPU/driver with your report. If not, retain the new error rather than stacking more flags. A missing display server in SSH or a headless session also prevents a graphical launch.

The project’s OpenGL guide lists temporary sandbox-disabling workarounds, not a verified repair for every graphics failure. Electron 38 changed the default behavior on Wayland; Desktop 3.11.0 uses Electron 39.1.1.

GTK 2/3 and GTK 4 symbols, or SIGTRAP

If the fatal line says GTK 2/3 symbols detected alongside GTK 4, test this separately from a sandbox failure:

oblivion-desktop --gtk-version=3

Quit first and apply only that flag. Remove it on the next launch to undo the test. SIGTRAP describes how the process stopped; the earlier fatal line is more useful. A nearby punycode deprecation warning is not by itself evidence of the crash’s cause.

This workaround appears in Desktop report #974 and Electron’s GTK change notes. Those are historical contexts: the 3.11.0 source already selects GTK 3 when it does not find GTK 4. If your current build still crashes, include the actual fatal line and desktop version; do not uninstall GTK packages used by other applications.

GNOME and KDE System Proxy

Save your existing proxy settings before connecting. The 3.11.0 code uses GNOME gsettings or KDE kwriteconfig5/kwriteconfig6, sets SOCKS and clears some other proxy fields. Do not assume it will preserve a work proxy. Apps that ignore the desktop proxy may need their own proxy setting or a different network mode.

On KDE, inspect System Settings → Network → Proxy. The wiki’s kioslaverc workaround removes a configuration file, which can erase unrelated settings. Prefer recording and correcting the proxy in the UI. If a manual file reset is specifically needed, quit Desktop, back up the existing kioslaverc in your XDG config directory, and retain it for restoration; do not delete it without a copy.

Back up and restore an existing KDE kioslaverc file

With Desktop disconnected and closed, make a copy before any manual reset:

cp -ip "${XDG_CONFIG_HOME:-$HOME/.config}/kioslaverc" \
  "${XDG_CONFIG_HOME:-$HOME/.config}/kioslaverc.before-oblivion"

If the source file is absent, there is no existing file to back up. Keep a previous known-good backup instead of overwriting it. To restore that copy after an unsuccessful change, quit Desktop and run:

cp -ip "${XDG_CONFIG_HOME:-$HOME/.config}/kioslaverc.before-oblivion" \
  "${XDG_CONFIG_HOME:-$HOME/.config}/kioslaverc"

Reopen affected applications and retest. Restoring this file also restores its other saved KDE settings; it is not a connection test. Prefer the proxy UI when you only need to change a proxy value.

On GNOME, inspect Settings → Network → Network Proxy. An old beta report #337 involved stale HTTP/HTTPS fields; the current code differs, so match the settings you actually see.

Test a website before connecting, while connected, after disconnecting and after quitting. If access fails after exit, restore your recorded proxy configuration and follow connection recovery. TUN uses the helper instead of relying on apps to honor System Proxy; it is a separate choice, not a fix for a broken package.

Launch at login

The built-in launch-at-login control is disabled on Linux in 3.11.0, as shown in the Options code. Use your desktop’s Startup Applications/Autostart settings. For an installed DEB, the project also documents copying its menu entry into the user autostart directory:

mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/autostart"
cp -i /usr/share/applications/oblivion-desktop.desktop \
  "${XDG_CONFIG_HOME:-$HOME/.config}/autostart/oblivion-desktop.desktop"

Check the existing file before replacing it; cp -i asks before overwriting. Test normal manual launch first. For an archive/AppImage, use your desktop’s autostart UI with its stable absolute path. Startup after desktop login is not boot-time system service operation and does not guarantee automatic connection. To undo it, remove or disable only the entry you added. XDG autostart specification

Update or remove the app

Disconnect and quit before updating. Install the newer matching DEB/RPM with the same package-manager method. For AppImage/TAR.XZ, replace your saved copy and update any launcher pointing to its old path. Check the version after reopening. A manually downloaded package does not by itself establish an automatic update repository. See release changes.

Remove a DEB with sudo apt remove oblivion-desktop, or a Fedora RPM with sudo dnf remove oblivion-desktop, after reviewing the transaction. For an AppImage/archive, remove your app file/folder and its own autostart entry after quitting. These actions do not clear every saved setting. Verify internet access after disconnecting and restore any leftover proxy before removing the app.

For a settings backup, a reversible reset or full removal, follow the recovery and removal guide.

Raspberry Pi, ARMhf and Arch packages

Raspberry Pi needs a matching 64-bit userspace, not just a 64-bit-capable CPU. If uname -m says aarch64, check the package architecture too: on a Debian-based system, run dpkg --print-architecture. Use the ARM64 package only with an arm64 system. The release has no ARMhf/armv7 build. Do not install amd64/x64 or bypass architecture checks on a 32-bit Pi OS. ARM64 availability is not a test of every Pi model or desktop.

On Arch, an AUR recipe is maintained separately from upstream downloads. Inspect its PKGBUILD to see whether it compiles source or repackages a prebuilt binary. A webpack/npm failure during a source build does not show that the release AppImage/TAR.XZ is broken. Arch’s AUR documentation explains the workflow. Older community instructions for building Desktop on Arch are historical context; the package matrix above is the starting point here.

If it still fails

Keep the package filename, Desktop version, distribution/version, architecture, desktop/session type, launch command and first fatal error. The default log is ~/.config/oblivion-desktop/logs/main.log; custom XDG config locations can move it. If the window never opens, capture terminal output instead. Remove account keys, tokens, usernames and private network details before sharing.

Use the help hub for the next diagnostic step. The package checks cover x64, with a limited Ubuntu 24.04 X11 launch test. Fedora installation, ARM64 operation, GNOME/KDE proxy restoration and normal sandboxed operation have not been verified for this guide.

Back to top ↑