Featured image of post PipeASIO: ASIO-Bridge für PipeWire in v1.7.0 veröffentlicht, jetzt mit ARM64 Support

PipeASIO: ASIO-Bridge für PipeWire in v1.7.0 veröffentlicht, jetzt mit ARM64 Support

PipeASIO, eine ASIO-Bridge für PipeWire unter Linux (primär für Wine), wurde in der Version v1.7.0 veröffentlicht.

Neu ist die ARM64-Unterstützung: Es gibt jetzt native ARM64-Windows-Frontends (aarch64-windows und arm64ec-windows) für ARM64-Hosts sowie für x86_64-Hosts, die Wine mit FEX nutzen. Dafür wurde der 64-Bit-Treiber auf eine PE-Frontend-plus-unixlib-Struktur umgestellt, die dem Modul-Layout von Wine entspricht. Der bisherige Single-ELF-Build entfällt. Wichtig: Wer von v1.6.0 oder älter aktualisiert, muss pipeasio-register in jedem Wine-Prefix erneut ausführen - alte Stubs scheitern sonst mit Fehlercode c0000135.

Added

  • ARM64 front ends (#23): aarch64-windows/pipeasio64.dll for native ARM64 Windows hosts and arm64ec-windows/pipeasio64.dll for x86_64 hosts under Wine with FEX, over the one aarch64 unixlib. BUILD_ARM64 (default on) builds each when clang, lld and Wine’s <arch>-windows import libraries are present. Untested against a real audio host on ARM64 hardware.

Changed

  • The 64-bit driver is built as a PE front end plus a unixlib, the layout Wine uses for its own modules and the only one aarch64 and arm64ec Wine load (#23). Until now it was a single winegcc ELF (pipeasio64.dll.so) behind a fake PE stub. Measured against the single-ELF build at 128 frames: same round trip, same xrun count.
  • The PE half is linked by winegcc the way Wine links its own modules. Building needs a cross compiler: the MinGW gcc and g++ for x86 targets, or clang with lld for any target. The Wine library root is probed rather than assumed.
  • Upgrading from 1.6.0 or older: run pipeasio-register again in every prefix. Those installs staged a 2 KB stub into system32 that looks for the .dll.so, which the new install no longer ships; until re-registered the driver fails to load with c0000135.
  • The unixlib ABI is at version 4: the host’s callback buffer pointer is carried as a 64-bit value so the x86_64 front end fits the same unixlib as the i386 one.

Install

Prebuilt for Arch Linux / CachyOS (x86_64). User-local: tar -xzf pipeasio-v1.7.0-archlinux-x86_64.tar.gz -C "$HOME/.local", then run pipeasio-register. Proton / Faugus: extract to $HOME/.local and set WINEDLLPATH=$HOME/.local/lib/wine.

PipeASIO Panel Settings

Quelle: GitHub

PlayingTux – Playing Games on Linux - since 1995.