Install bobview

bobview runs on x86_64 and aarch64 Linux (including the Android 16 Linux Terminal, Debian 13), on macOS 11 or later (Apple silicon or Intel), and on x86_64 Windows (see below). install.sh picks the release build to match the machine. To build it from crates.io with Cargo instead, see Install from crates.io.

Install the prerequisites

On Debian and Ubuntu:

sudo apt install libxkbcommon0 libwayland-client0 libegl1 libgl1-mesa-dri

On RHEL, Rocky, Alma and Fedora:

sudo dnf install libxkbcommon libwayland-client libglvnd-egl mesa-dri-drivers

None are needed on macOS.

Install the release

curl -sSfL https://raw.githubusercontent.com/gilesknap/bobview/main/install.sh | bash

This installs into ~/.local:

filewhat
bin/bobviewthe viewer
bin/bobview-sshruns the viewer with software OpenGL, for ssh -X and machines whose GPU can't be used; see Choose bobview or bobview-ssh
bin/bobview-testioca pure-Rust IOC serving the example-services BL01T PVs
bin/bobview-probeprints live PV values from the command line
bin/bobview-serverserves bobview to browsers, see Deploy bobview-server
share/bobview/displays/test screens; index.bob opens by default
share/bobview/web/the browser build that bobview-server serves

The Linux binaries are linked against glibc 2.28, so they run on RHEL 8+, Ubuntu 20.04+ and Debian 10+.

Put it on your PATH

On macOS ~/.local/bin is not on PATH by default; add this to ~/.zshrc:

export PATH=$HOME/.local/bin:$PATH

Upgrade or remove

Run the install command again to upgrade; it replaces the binaries and the displays and web folders. To remove bobview, delete the bin/bobview* files and share/bobview from ~/.local.

Windows

The Windows build is new, and has not yet been tried against real IOCs.

Download bobview-x86_64-windows.zip from the latest release, unzip it anywhere, and run bin\bobview.exe. Nothing else needs installing. The zip holds the same files as the table above, as .exe, without bobview-ssh and install.sh; add its bin folder to PATH to run the commands from a terminal. To try it against the simulated beamline, in PowerShell:

Start-Process bin\bobview-testioc.exe
$env:EPICS_CA_ADDR_LIST = "127.0.0.1"
bin\bobview.exe

Windows may ask to let bobview-testioc and bobview through the firewall: Channel Access and PV Access search for PVs over UDP.

bobview draws with OpenGL, which a GPU driver provides. A virtual machine or remote desktop session without one has only Windows' built-in OpenGL 1.1, which is too old, and bobview fails to start. There, put Mesa's software opengl32.dll (llvmpipe, for example from mesa-dist-win) beside bobview.exe, and it draws on the CPU instead.

Layouts are saved in %APPDATA%\bobview\layouts (in %XDG_CONFIG_HOME%\bobview\layouts if that is set). DLS launcher scripts, which are shell scripts, are not run on Windows, so their command actions do nothing (see How BOY screens are translated). To remove bobview, delete the unzipped folder and %APPDATA%\bobview.