Skip to content

Linux

freemkv provides a native GTK4 desktop app and a command-line interface on Linux. Both use the same ripping engine. Choose a package from the Download page.

  • The desktop packages are x86_64 only and need GTK 4.10 and libadwaita 1.4 or newer: the .deb targets Ubuntu 24.04 and Linux Mint 22, the AppImage Ubuntu 24.04+ or Fedora 40+, and the Flatpak brings its own GNOME runtime.
  • The standalone CLI is a static binary for x86_64 or ARM64 with no GTK dependency.
  • An optical drive. See OEM (stock) drives and Unlocked drives for drive support.

The desktop packages include both the desktop app and the CLI. Snap Store and Flathub listings are not currently available; the downloads below work independently of those submissions.

For x86_64 Ubuntu 24.04 and Linux Mint 22, download freemkv-amd64.deb, then install it from your download directory:

Terminal window
sudo apt install ./freemkv-amd64.deb
freemkv --version

APT installs the required desktop libraries. This package uses normal host drive permissions and has no application sandbox. Compatibility with other Debian-based distributions has not been validated.

The x86_64 Flatpak is available directly from GitHub Releases. Install Flatpak using your distribution’s package manager, then add Flathub for the GNOME runtime:

Terminal window
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Download freemkv-x86_64.flatpak, then run:

Terminal window
flatpak install --user ./freemkv-x86_64.flatpak
flatpak run org.freemkv.FreeMKV

The bundle can access devices and your Videos and Downloads folders. Host device permissions still apply.

For x86_64 Ubuntu 24.04+ or Fedora 40+, download freemkv-x86_64-linux.AppImage:

Terminal window
chmod +x freemkv-x86_64-linux.AppImage
./freemkv-x86_64-linux.AppImage

Keep the file wherever you prefer. The AppImage bundles GTK4 and libadwaita.

Download the standalone binary matching your CPU. For x86_64:

Terminal window
chmod +x freemkv-x86_64-linux
./freemkv-x86_64-linux --version

For ARM64, use freemkv-aarch64-linux instead. These static binaries have no desktop interface. With the .deb installed, freemkv is already on your PATH; for the Flatpak, use:

Terminal window
flatpak run --command=freemkv org.freemkv.FreeMKV --version

Running freemkv gui from a desktop package opens the desktop interface. See the CLI reference for ripping commands and options.

The AppImage and the standalone binaries on GitHub Releases each have a matching .sha256 file; the .deb and Flatpak bundle do not. Compare the hash of your download with the line for the same file name:

Terminal window
sha256sum freemkv-x86_64-linux.AppImage
cat freemkv-x86_64-linux.AppImage.sha256

To start the desktop app:

  1. For the .deb or Flatpak, open freemkv from your application menu. For the AppImage, run the downloaded file after making it executable.
  2. Open a disc, image or folder and select the titles and tracks.
  3. Choose an output location and press Rip.

If your system cannot mount an AppImage, try:

Terminal window
./freemkv-x86_64-linux.AppImage --appimage-extract-and-run
Installation Update Remove
.deb Download the new package and repeat sudo apt install ./freemkv-amd64.deb sudo apt remove freemkv
Flatpak bundle Download the new bundle and repeat flatpak install --user ./freemkv-x86_64.flatpak flatpak uninstall --user org.freemkv.FreeMKV
AppImage or standalone CLI Close freemkv and replace the downloaded file Delete the downloaded file

There is no freemkv APT repository yet. Direct Flatpak bundles also require manual app updates; flatpak update updates installed runtimes but does not fetch new freemkv bundles from GitHub. Settings and ripped movies are separate from program files, so updating or removing freemkv leaves them in place.

What Location
Desktop settings $XDG_DATA_HOME/freemkv/gui-settings.json, normally ~/.local/share/freemkv/gui-settings.json; for the Flatpak, ~/.var/app/org.freemkv.FreeMKV/data/freemkv/gui-settings.json
Desktop diagnostic log log.txt in the same folder, written only when the app’s log level is Verbose or debug messages are on
Finished movies The output location you choose before ripping; the desktop app suggests your XDG Videos folder
AACS keys See Decryption Keys
CLI diagnostic log Off by default; --log-level 3 writes log.txt in the current folder

To capture a CLI log at a specific path:

Terminal window
freemkv info disc:// --log-level 3 --log-file "$HOME/freemkv-log.txt"

Use the path to your downloaded binary, or the Flatpak CLI command above, if you did not install the .deb.

Both interfaces use SCSI generic devices at /dev/sg*. Installing a package does not grant host device permissions. If access is denied, check the device owner, group and session ACLs. On systems where the drive belongs to cdrom, membership in that group may be required; sign out and back in after changing groups.

Close other software using the disc and check the drive connection before retrying.

For automatic ripping through a browser, use autorip’s Linux binary or Docker image. See autorip Service for setup, data locations and a Compose example.

The Docker configuration needs access to the optical devices. The supplied example uses privileged: true and a /dev:/dev bind mount; keep its persistent configuration and output mounts when updating the container.

  • Permission denied when opening the program: make the standalone binary or AppImage executable with chmod +x.
  • AppImage cannot mount: try the extraction command under First launch.
  • No drive is available: check the connection, close other disc software and review Drive access. For Docker, also check the device configuration.
  • A movie is missing: check the output location selected for that rip.