How to use AppImages on Bazzite

March 19 2025 11:49pm • Est. Read Time: 3 MIN

AppImage is a portable application format that bundles an entire program and its dependencies into a single executable file. This makes it easy to run software on various Linux distributions without installing packages or dealing with library conflicts. On Bazzite, which uses an immutable, atomic base system, AppImages offer a convenient way to run applications without modifying the underlying OS. Additionally, Gear Lever provides a graphical interface to manage AppImages, handle permissions, and streamline integration with your desktop environment.


Why Use AppImages on Bazzite?


Bazzite emphasizes stability and security by managing its core system immutably via bootc and rpm-ostree. However, users often need the flexibility to run additional software that isn’t part of the base image or available through Flatpak, rpm-ostree layering, or other channels. AppImages can fill this gap by:

  • Portability: A single AppImage file contains all necessary libraries and resources, making it easy to move or share.
  • Zero Installation: Running an AppImage typically requires no installation process—just make it executable and launch it.
  • Isolation from the Base System: Because Bazzite is read-only at its core, AppImages can reside in your home directory without affecting the OS.
  • Easy Updates: Many AppImages support built-in update mechanisms, or you can replace them manually when new versions become available.


Downloading and Running AppImages


1. Download the AppImage

Obtain an AppImage from the software vendor’s website or a trusted repository. For example, you might download an application named ExampleApp-x86_64.AppImage to your ~/Downloads folder.

2. Make the AppImage Executable

Before running the AppImage, mark it as executable. In a terminal:

chmod +x ~/Downloads/ExampleApp-x86_64.AppImage
  

Alternatively, you can use your file manager’s “Properties” dialog to enable the “Allow executing file as program” option.

3. Launch the AppImage

Once executable, run the AppImage by double-clicking it in your file manager or by using a terminal:

~/Downloads/ExampleApp-x86_64.AppImage
  

The application should start without requiring installation or root privileges.

Using Gear Lever for AppImage Management

Gear Lever is a graphical utility on Bazzite that simplifies the process of running, updating, and integrating AppImages. It helps you manage file permissions, create desktop entries, and ensure a seamless user experience. With Gear Lever, you can:

  • Browse for AppImages: Easily locate AppImages on your system.
  • Set Executable Permissions: Mark an AppImage as executable with a few clicks.
  • Desktop Integration: Create menu entries or shortcuts so you can launch AppImages from your native application launcher.
  • Check for Updates: Some AppImages include update functionality, and Gear Lever can help you keep track of new versions.

Steps to Manage AppImages via Gear Lever


Gear Lever for managing Flatpaks

  1. Open Gear Lever: Launch it from your application menu.
  2. Add or Scan for AppImages: Point Gear Lever to the directory where your AppImages are stored (e.g., ~/Applications or ~/Downloads).
  3. Enable Permissions: Gear Lever will detect if an AppImage lacks executable permissions and allow you to set them.
  4. Create Menu Entry: Use the integrated feature to add an AppImage to your system menu, enabling easy launching from the desktop environment.


Permissions and Security


AppImages, by default, run with the permissions of your user account. Because they are self-contained binaries, you should only download them from trusted sources. If you want additional sandboxing or isolation:

  • Firejail: Some users run AppImages inside firejail for extra security.
  • SELinux / AppArmor: Bazzite’s security framework can help restrict what AppImages can do, depending on your system’s policy configuration.

Remember that AppImages do not undergo the same scrutiny as packages from official repositories, so always exercise caution and verify the source.


Comparing AppImages to Other Package Formats


FormatCharacteristicsIntegration on Bazzite
AppImageSingle-file, portable, self-contained applicationsRun from user space, optional desktop integration, easily managed via Gear Lever
FlatpakSandboxed, repository-based with runtime dependenciesManaged natively by Bazzite, often integrated into software centers
rpm-ostree layeringAtomic updates at the system levelUsed for persistent system-wide packages on Bazzite


How AppImages Differ from a Virtual Machine or Container


While AppImages bundle an application and its dependencies, they do not provide a full operating system environment. Unlike a VM or container (such as those managed by Distrobox), AppImages rely on the host system’s kernel and do not isolate the application to the same degree:

  • Lightweight: No virtual hardware or separate OS is required, resulting in minimal overhead.
  • Less Isolation: Apps run with the user’s permissions and can access host resources, unless additional sandboxing is used.
  • Single-File Simplicity: Users can easily download and launch an AppImage without installing a container engine or hypervisor.


Summary


AppImages provide a convenient, portable way to run software on Bazzite without modifying the immutable base system. By simply downloading an AppImage, marking it as executable, and running it, you can quickly access a wide range of applications. Gear Lever further streamlines this process by handling permissions, desktop integration, and potential updates, ensuring a seamless user experience.