Skip to content

pcbview 1.23.0 — Linux

Choose a tag to compare

@github-actions github-actions released this 16 Aug 19:28
· 20 commits to main since this release

Linux

pcbview now builds and runs natively on Linux. Developed and verified on
Arch/CachyOS under Wayland on RADV; anything with Qt 6.5+, Vulkan and a
recent Mesa should work.

Everything came across: the raster view, ray-traced shadows/AO, the full
path tracer with Open Image Denoise, CPU rendering, measurement, net
highlighting, exploded view, printing, screenshots — and video recording,
which pipes frames to the system ffmpeg instead of Media Foundation,
same H.265-preferred/H.264-fallback behaviour.

The one deliberate exception is VR, which stays Windows-only: it was
developed against a PSVR2 over SteamVR, and that headset has no Linux
path today. The OpenXR code compiles everywhere and is gated by a single
CMake option (PCBVIEW_ENABLE_VR), so if that ever changes it is a
rebuild, not a port.

Two Linux binaries are attached, both CI-built:

  • pcbview-1.23.0-x86_64.AppImage — portable: chmod +x and run on
    any current 64-bit distro. Qt and the render libraries are bundled;
    component bodies additionally want KiCad + its 3D model library
    installed (the app says so if they are missing).
  • pcbview-1.23.0-1-x86_64.pkg.tar.zst — native Arch/CachyOS
    package: pacman -U, dependencies resolved by pacman, launcher entry
    included. The -debug package is its split debug symbols; most people
    do not need it. Building it yourself instead is one command:
    cd packaging/linux && makepkg -si — which also offers the optional
    pieces (KiCad + models, vulkan-swrast for CPU rendering, ffmpeg
    for recording) with the reason each is wanted.

Other distributions: see Building from source in the README.

Missing requirements now say so

Component bodies need KiCad's kicad-cli and its 3D model library,
and on Linux those are separate packages — an export without the models
succeeds with an empty file, which used to surface as an unexplained
"no components". pcbview now recognises that failure and names the fix
per platform, and no longer caches the empty export, so installing the
models heals an already-opened board on reload. The Windows installer
likewise now offers the KiCad download page when no install is found.

Fixed

  • Single-digit frame rates on integrated GPUs. Ray-traced lighting
    defaults on whenever the GPU reports ray_query, and the "fast
    movement drops to raster" option's default was written when a
    ray-query GPU meant a discrete card. An iGPU can report the feature
    and still pay ~25–40× raster for it (measured on a Radeon 8060S:
    5.5 ms raster vs 24–213 ms with RT on — single-digit fps through every
    view transition). Fast movement now defaults ON for integrated GPUs,
    as it already did for the CPU device: 181 fps through the same
    transitions, shadows restored the moment the camera rests. Persisted
    choices are untouched, and PCBVIEW_PERF_LOG=1 prints the status
    bar's frame-cost line to stdout — it is how these numbers were taken.
  • The path-tracer descriptor pool was undersized — it undercounted
    storage images after three bindings were added to the layout. Windows
    drivers do not enforce pool limits so it never failed there; RADV
    enforces them strictly and refused the tonemap set on the first Linux
    frame.
  • The last frames of a recorded video were silently dropped on every
    platform: the encoder was finalised before the drain that writes the
    tail of the capture ring, so every drain write failed. The drain now
    runs first — and an aborted recording is finalised too, leaving a
    short playable file rather than one with no index.
  • A first-ever run that went straight to PCBVIEW_RECORD sat behind
    the one-time support notice and never wrote a frame; the notice now
    counts that hook among the headless runs it must not interrupt.