How to Install Nomacs on Ubuntu (26.04, 24.04, 22.04)

Nomacs is a free, open-source image viewer that handles common image formats including RAW and PSD files. The application offers batch processing, metadata viewing and editing, synchronized multi-instance viewing for image comparison, and a thumbnail navigation bar for browsing large collections. By the end of this guide, you will have a working Nomacs installation on Ubuntu, ready to view, organize, and perform basic edits on your image files.

Choose Your Nomacs Installation Method

Ubuntu offers several ways to install Nomacs, each with different trade-offs between version freshness, update management, and system integration:

MethodChannelVersionUpdatesBest For
APTUbuntu ReposDistribution defaultAutomatic via apt upgradeMost users who prefer distro-tested packages
FlatpakFlathubLatest stableAutomatic via flatpak updateUsers wanting newest features with sandboxing
SourceGitHubLatest stableManual recompilationDevelopers and users needing custom builds

For most users, the APT method is recommended because it provides automatic security updates and integrates with Ubuntu’s package management. Choose Flatpak if you need the latest Nomacs release (3.22) with features like color management and improved HiDPI support. Compile from source only if you need custom build flags or want to contribute to development.

This guide covers Ubuntu 26.04 LTS, 24.04 LTS, and 22.04 LTS. The APT repository version varies by release, while Flatpak and source compilation provide the same version across all supported releases. Commands shown work identically unless noted otherwise.

Install Nomacs via APT

The default Ubuntu repositories include Nomacs, making installation straightforward. The version depends on your Ubuntu release:

  • Ubuntu 26.04 LTS: Nomacs 3.21.1 (Qt6-based)
  • Ubuntu 24.04 LTS: Nomacs 3.17.2282
  • Ubuntu 22.04 LTS: Nomacs 3.12.0

Install Nomacs from the Ubuntu repositories:

sudo apt update
sudo apt install nomacs

Verify the installation by checking the package status:

apt-cache policy nomacs

Example output on Ubuntu 26.04 LTS:

nomacs:
  Installed: 3.21.1+dfsg-1
  Candidate: 3.21.1+dfsg-1
  Version table:
 *** 3.21.1+dfsg-1 500
        500 http://archive.ubuntu.com/ubuntu resolute/universe amd64 Packages
        100 /var/lib/dpkg/status

Install Nomacs via Flatpak and Flathub

Flatpak provides the latest Nomacs release (3.22) with sandboxed execution. This version includes color management, improved HiDPI rendering, and better ZIP archive support not available in older repository versions.

If Flatpak is not installed on your system, follow our Flatpak installation guide for Ubuntu to set up the framework and add the Flathub repository. This typically takes under five minutes.

Add the Flathub Repository

If you have not already added Flathub, run:

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install Nomacs from Flathub

Install Nomacs using Flatpak:

sudo flatpak install flathub org.nomacs.ImageLounge -y

Verify the Flatpak installation:

flatpak list | grep -i nomacs

Expected output:

nomacs - Image Lounge	org.nomacs.ImageLounge	stable	system

Install Nomacs from Source

Compiling from source gives you the latest Nomacs release with all features enabled. This method requires Qt6 and several development libraries. The build process takes 5-15 minutes depending on your system. Ubuntu 26.04 and 24.04 provide full source build support, while Ubuntu 22.04 has some dependency limitations noted below.

Install Build Dependencies

The required packages differ between Ubuntu versions due to Qt6 package naming changes:

Ubuntu 26.04 LTS and 24.04 LTS:

sudo apt install qt6-base-dev qt6-tools-dev qt6-svg-dev qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev libquazip1-qt6-dev build-essential git cmake

Ubuntu 22.04 LTS:

sudo apt install qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev qt6-l10n-tools qt6-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev libtiff-dev build-essential git cmake libgl-dev

Ubuntu 22.04 does not provide libquazip1-qt6-dev in its repositories. The build will succeed, but QuaZIP support (browsing images inside ZIP archives) will be disabled. For full QuaZIP functionality, use Ubuntu 24.04 or newer, or install Nomacs via Flatpak.

Clone the Repository

Fetch the latest stable version tag from GitHub and clone the repository at that version:

NOMACS_VERSION=$(curl -s https://api.github.com/repos/nomacs/nomacs/tags | grep -oE '"name": "[0-9]+\.[0-9]+\.[0-9]+"' | head -n 1 | cut -d '"' -f4)
echo "Latest Nomacs version: $NOMACS_VERSION"
cd ~
git clone --branch "$NOMACS_VERSION" --depth 1 https://github.com/nomacs/nomacs.git
cd nomacs
git submodule init
git submodule update

The command fetches the latest stable tag from the GitHub API when you run it, ensuring you always compile the current release.

If the API request fails due to rate limiting or network issues, check the Nomacs tags page for the latest version and clone manually, replacing the version number in git clone --branch [VERSION] https://github.com/nomacs/nomacs.git.

Configure and Compile

Create a build directory and run CMake to configure the build:

mkdir build
cd build
cmake ../ImageLounge -DCMAKE_BUILD_TYPE=RelWithDebInfo

CMake displays which features are enabled. A successful configuration shows:

-- nomacs - Image Lounge 3.22  <https://nomacs.org>
--  Qt version: 6.x.x
--  nomacs will be compiled with OPENCV support .................. YES
--  nomacs will be compiled with LIBRAW support .................. YES
--  nomacs will be compiled with extended TIFF support ........... YES
--  nomacs will be compiled with plugin support .................. YES
--  nomacs will be compiled with Translations .................... YES
-- Configuring done
-- Build files have been written to: /home/user/nomacs/build

The Qt version varies by Ubuntu release: 6.9.x on Ubuntu 26.04, 6.4.x on 24.04, and 6.2.x on 22.04.

Compile Nomacs using all available CPU cores:

make -j$(nproc)

Compilation completes when you see:

[100%] Built target affineTransformPlugin

Install the Compiled Binary

Install Nomacs system-wide to /usr/local/:

sudo make install
sudo ldconfig

The ldconfig command updates the shared library cache so the system can find Nomacs libraries.

Verify the source-compiled installation:

which nomacs
/usr/local/bin/nomacs

Launch Nomacs

Launch from Terminal

For APT or source installations, launch Nomacs directly:

nomacs

For Flatpak installations:

flatpak run org.nomacs.ImageLounge

Launch from Applications Menu

Open your application menu (Activities in GNOME, or search in your desktop environment) and search for “Nomacs.” Click the Nomacs icon to launch the image viewer.

Getting Started with Nomacs

Nomacs includes several features worth exploring once installed:

Navigation and Viewing

  • Browse images: Use Left Arrow and Right Arrow to move through images in the current folder.
  • Zoom: Press Ctrl + + to zoom in and Ctrl + - to zoom out.
  • Full screen: Press F to toggle full-screen mode.
  • Thumbnail bar: Enable the thumbnail preview from Panels > Thumbnails to quickly navigate large image collections.

Metadata and Editing

  • View EXIF data: Open Panels > Metadata Info to see camera settings, date taken, and GPS coordinates if available.
  • Basic edits: Access crop, resize, and rotation tools from the Edit menu.
  • Batch processing: Select multiple images and apply bulk operations like rename, resize, or format conversion from Tools > Batch Processing.

Image Comparison

Nomacs can synchronize multiple viewer windows for comparing images side by side. Open two images in separate Nomacs windows, then enable Sync > Synchronize with to link zoom and pan actions between them. This feature is useful for comparing before/after edits or selecting the best shot from a series.

Manage Nomacs

Update Nomacs

APT installation:

sudo apt update
sudo apt install --only-upgrade nomacs

Flatpak installation:

sudo flatpak update org.nomacs.ImageLounge

Source installation: Keeping a source-compiled installation current requires recompiling when new versions are released. The update script below automates this process by:

  • Checking prerequisites: Verifies that required build tools (curl, git, cmake, make) are available before starting.
  • Detecting versions: Compares your installed version against the latest GitHub release to skip unnecessary recompilation.
  • Providing progress feedback: Displays status messages at each stage so you know the script is working.

Create the Update Script

Create an update script in /usr/local/bin so you can run it from any terminal location:

cat <<'EOF' | sudo tee /usr/local/bin/update-nomacs
#!/bin/bash
set -e

BUILD_DIR="$HOME/nomacs"
VERSION_FILE="$BUILD_DIR/.nomacs-version"

# ─── Check required build tools ───────────────────────────────────────────────
for cmd in curl git cmake make; do
  if ! command -v "$cmd" >/dev/null 2>&1; then
    echo "Error: $cmd is required but not installed."
    echo "Run: sudo apt install build-essential git cmake curl"
    exit 1
  fi
done

# ─── Detect installed version ─────────────────────────────────────────────────
if [ -f "$VERSION_FILE" ]; then
  CURRENT_VERSION=$(cat "$VERSION_FILE")
else
  CURRENT_VERSION="none"
fi

# ─── Fetch latest version from GitHub ─────────────────────────────────────────
echo "Checking for latest Nomacs version..."
LATEST_VERSION=$(curl -s https://api.github.com/repos/nomacs/nomacs/tags | grep -oE '"name": "[0-9]+\.[0-9]+\.[0-9]+"' | head -n 1 | cut -d '"' -f4)

if [ -z "$LATEST_VERSION" ]; then
  echo "Error: Could not fetch latest version from GitHub."
  echo "Check your internet connection or try again later."
  exit 1
fi

echo "Installed version: $CURRENT_VERSION"
echo "Latest available:  $LATEST_VERSION"

# ─── Skip if already current ──────────────────────────────────────────────────
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
  echo "Already up to date."
  exit 0
fi

echo ""
echo "Updating Nomacs from $CURRENT_VERSION to $LATEST_VERSION..."
echo ""

# ─── Download and prepare source ──────────────────────────────────────────────
echo "Downloading source code..."
rm -rf "$BUILD_DIR"
cd ~
git clone --branch "$LATEST_VERSION" --depth 1 https://github.com/nomacs/nomacs.git
cd nomacs
git submodule init
git submodule update

# ─── Configure and compile ────────────────────────────────────────────────────
echo "Configuring build..."
mkdir build && cd build
cmake ../ImageLounge -DCMAKE_BUILD_TYPE=RelWithDebInfo

echo "Compiling (this may take 5-15 minutes depending on your CPU)..."
make -j$(nproc)

echo "Installing..."
sudo make install
sudo ldconfig

# ─── Record installed version ─────────────────────────────────────────────────
echo "$LATEST_VERSION" > "$VERSION_FILE"

echo ""
echo "Update complete: Nomacs $LATEST_VERSION installed."
EOF

Mark the script as executable so you can run it as a command:

sudo chmod +x /usr/local/bin/update-nomacs

Run the Update Script

Since the script is in /usr/local/bin (a directory in your PATH), you can run it by name from any terminal location:

update-nomacs

Example output when already current:

Checking for latest Nomacs version...
Installed version: 3.22.0
Latest available:  3.22.0
Already up to date.

When an update is available, the script downloads the new source, recompiles, and installs it automatically. You will see progress messages at each stage.

Run this script manually rather than automating it with cron. Compilation can fail due to dependency changes, network issues, or disk space. Running manually lets you monitor the output and fix problems before they affect your system.

Remove Nomacs

APT installation:

sudo apt remove nomacs
sudo apt autoremove

Nomacs stores user preferences in ~/.config/nomacs/. Remove this directory to delete saved settings:

rm -rf ~/.config/nomacs

Flatpak installation:

sudo flatpak uninstall org.nomacs.ImageLounge -y

Flatpak stores application data in ~/.var/app/org.nomacs.ImageLounge/. To remove this data along with the application, add the --delete-data flag to the uninstall command.

Source installation:

Remove the installed files from /usr/local/:

cd ~/nomacs/build
sudo make uninstall
sudo ldconfig

The following command permanently deletes the Nomacs source directory. If you modified source files or created patches you want to keep, back them up first.

Remove the source directory:

rm -rf ~/nomacs

Remove user preferences:

rm -rf ~/.config/nomacs

Remove the update script:

sudo rm -f /usr/local/bin/update-nomacs

Troubleshooting

Nomacs Cannot Find Shared Libraries

If running a source-compiled Nomacs produces “error while loading shared libraries,” the library cache needs updating:

sudo ldconfig

If that does not help, check that /usr/local/lib is in your library path:

cat /etc/ld.so.conf.d/*.conf | grep local

If /usr/local/lib is not listed, add it:

echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig

RAW Files Not Loading

Nomacs requires LibRAW for RAW format support. For APT installations, this is included automatically. For source builds, verify LibRAW was detected during configuration:

grep -i libraw ~/nomacs/build/CMakeCache.txt

If LibRAW is missing, install libraw-dev and reconfigure:

sudo apt install libraw-dev
cd ~/nomacs/build
cmake ../ImageLounge -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j$(nproc)
sudo make install

Conclusion

Nomacs provides a lightweight yet capable image viewer for Ubuntu with RAW support, batch processing, and synchronized multi-instance viewing. The APT method offers stability with automatic updates, Flatpak delivers the latest features, and source compilation provides full customization. With Nomacs installed, you can efficiently browse, compare, and perform basic edits on your image collection.

Leave a Comment

Let us know you are human: