For testers
Installing on Linux
Block’s published releases today are Windows. When a Linux archive is attached to a release, it is a portable tarball: extract and run, nothing to install as root. You can also build from source. The notes below match the upstream Linux packaging; tell us what breaks on your distro.
Requirements
- A 64-bit PC (x86-64) and a graphics card with a Vulkan driver.
- A recent distribution: the viewer is built on Ubuntu 24.04 and needs glibc 2.39 or later (Arch, CachyOS, Manjaro, Fedora 40 or later, Ubuntu 24.04 or later, Debian 13…).
- X11 or Wayland, and PipeWire, PulseAudio or ALSA for the sound. When a
PipeWire (with
pipewire-pulse) or PulseAudio server runs, the viewer plays and records through it, so its own sinks and sources appear in Preferences; otherwise it uses ALSA directly. No extra package is needed.
1. Install the system packages
The viewer itself needs Vulkan, the sound and the windowing libraries. Web pages, YouTube and video on media faces also need the libraries of the built-in browser and GStreamer for video, as in the Legacy Viewer.
Arch Linux, CachyOS, Manjaro
sudo pacman -S --needed vulkan-icd-loader alsa-lib libxkbcommon wayland libx11 libxcursor libxrandr libxi \
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav \
nss nspr at-spi2-core libcups libxcomposite libxdamage mesa pango cairo
Debian, Ubuntu
sudo apt install libvulkan1 libasound2t64 libxkbcommon0 libwayland-client0 libx11-6 libxcursor1 libxrandr2 libxi6 \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav \
libnss3 libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libgbm1 libpango-1.0-0 libcairo2
Plus the Vulkan driver of your graphics card if it is not there yet:
vulkan-radeon (AMD), vulkan-intel (Intel) or the NVIDIA driver on Arch;
mesa-vulkan-drivers or the NVIDIA driver on Debian and Ubuntu.
2. Download and extract
From the latest release,
download Block-Viewer-vX.Y.Z-linux-x64.tar.gz and its .sha256 file into
the same folder, then:
sha256sum -c Block-Viewer-vX.Y.Z-linux-x64.tar.gz.sha256
tar -xzf Block-Viewer-vX.Y.Z-linux-x64.tar.gz
The archive holds one folder, Block-Viewer-vX.Y.Z-linux-x64, with the
viewer (block-viewer), its desktop entry and icon, its licences and the
README. Move it where you like, for example ~/.local/opt/block-viewer.
3. Start the viewer
cd Block-Viewer-vX.Y.Z-linux-x64
./block-viewer
To start it from your desktop’s menu, with its icon in the panel and the dock, install the desktop entry and the icon of the archive, from its folder. The entry gets the viewer’s real path, quoted and escaped as the desktop entry specification asks, so a folder name with spaces or symbols works:
install -Dm644 block-viewer.svg ~/.local/share/icons/hicolor/scalable/apps/block-viewer.svg
mkdir -p ~/.local/share/applications
exe=$(printf '%s' "$PWD/block-viewer" | sed -e 's/[\\"`$]/\\&/g' -e 's/\\/\\\\/g' -e 's/%/%%/g')
EXEC="\"$exe\"" awk '/^Exec=/ { print "Exec=" ENVIRON["EXEC"]; next } 1' block-viewer.desktop > ~/.local/share/applications/block-viewer.desktop
Run the last two lines again if you move the folder. Avoid a % in the
folder’s path: GNOME and other GLib desktops then refuse the entry. The
window identifies itself as block-viewer (Wayland app_id and X11
WM_CLASS), the name of the entry and its StartupWMClass: that is how
the desktop puts the window under the entry’s icon. Compositor rules can
match it too (Hyprland: class:^(block-viewer)$; KDE: window class
block-viewer).
Web pages and video
The first time a web page or a video needs them, the viewer asks before it
downloads the media plugins (about 200 MB), once; “Not now” leaves a
Download button in Preferences › Sound and voice › Media and where the page
would show, and the same row shows the progress. They go to
~/.local/share/auroraviewer/media-plugins.
- Video does not play: check that the GStreamer packages of step 1 are
installed (
gst-libav/gstreamer1.0-libavfor H.264 and AAC). - A web page stays blank: this command lists the browser libraries that are missing; install their packages.
bash
ldd ~/.local/share/blockviewer/media-plugins/*/llplugin/libcef.so | grep "not found"
- The built-in browser runs without Chromium’s sandbox, as in the Legacy
Viewer, unless
chrome-sandbox(in the samellpluginfolder) belongs to root and has the setuid bit.
Updates
The viewer tells you when a new version is out, but it cannot replace itself on Linux yet: its “Open the release page” button leads to the new archive. Extract it as in step 2, in place of the old folder or next to it. Your settings, cache and logs are kept: they are not in the viewer’s folder.
| What | Where |
|---|---|
| Settings | ~/.config/blockviewer |
| Cache | ~/.cache/blockviewer |
| Logs, media plugins | ~/.local/share/blockviewer |
Second Life links
Preferences › Language and updates › “Open SLURL and Hypergrid links in
Block” makes Block the handler of secondlife://, hop:// and
x-grid-location-info:// links for the current user. It writes a hidden
desktop entry, ~/.local/share/applications/block-viewer-slurl.desktop,
and makes it the default for the three schemes in ~/.config/mimeapps.list;
the rest of that file is kept. Turning it off removes both. A link opened
while Block runs goes to that viewer over the session bus instead of
starting a second one. Wayland does not let it bring its window to the
front, so the window stays where it is (X11 is not tested yet).
A desktop-specific list (~/.config/<desktop>-mimeapps.list, such as
kde-mimeapps.list) comes first: if it names another program for these
links, Preferences names that program instead.
xdg-open (from xdg-utils) cannot start a program whose path holds a
space or a symbol such as ', & or (: it then opens the link in
another viewer. Keep the viewer’s folder path plain, or open links through
your desktop (GNOME, KDE and other GLib desktops read such paths).
Not on Linux yet
- Automatic installation of updates (above).
- The crash window right after a crash: it opens at the next launch instead, and a native crash (a signal) leaves no trace in it.
- Preferences › Sound and voice › “Mute when minimised” on Wayland: the compositor does not tell a window that it is minimised, so the sound keeps playing. Under X11 the viewer reads the window manager’s hidden state (X11 is not tested yet).
Building from source
sudo pacman -S --needed git base-devel rustup cmake clang pkgconf alsa-lib libxkbcommon wayland libx11 libxcursor libxrandr libxi vulkan-icd-loader
rustup default stable
git clone https://github.com/ape-squared/Block-Viewer block-viewer
cd block-viewer
cargo build --release -p block-viewer
./target/release/block-viewer
On Debian and Ubuntu, the build packages are build-essential cmake clang
pkg-config libasound2-dev libudev-dev libxkbcommon-dev libwayland-dev, with
Rust from rustup.rs.
Reporting a problem
See Reporting bugs, and say that you are on Linux, with your distribution and graphics card.
Experimental VR scene viewing
See the cross-platform VR setup and limitations guide. Linux uses the native Vulkan/OpenXR path; start WiVRn and connect the headset before launching Aurora. Quest 3 / WiVRn 26.9 / RTX 3090 is the human-validated configuration. The guide covers toolbar entry, Esc restoration, recording, dependencies and viewing-only limitations, plus Windows and experimental macOS setup.