v0.3.6

kevinraymond/fosforav0.3.6Feb 27, 2026by github-actions[bot]

AI Summary

Fixes PulseAudio capture frequency issues and adds comprehensive audio diagnostics.

Key Highlights

  • Fix PulseAudio capture frequency (~2x/sec)
  • Runtime-load PulseAudio to prevent crashes on systems without libpulse
  • Add `--audio-test` CLI flag
  • Add audio health logging

New Features

  • Audio diagnostics
  • PulseAudio improvements

Full Release Notes


### Fixes
- Fix PulseAudio capture delivering audio only ~2x/sec (set explicit fragsize=4096, was using PA default ~88KB)
- Runtime-load PulseAudio via dlopen — release binaries no longer crash on systems without libpulse installed
- Truncate long audio device names in UI to prevent panel width blowout

### Added
- `--audio-test` CLI flag: standalone audio diagnostic (no GPU, works over SSH)
- Periodic audio health logging (reads/s, latency stats, throughput) every 5s
- `PHOSPHOR_AUDIO_DEBUG=1` env var for per-read verbose logging
- `AudioSystem::Drop` for clean thread shutdown on exit

### Changed
- Skip cpal device enumeration when PulseAudio is active (eliminates JACK "cannot connect" noise)
- CI no longer requires `libpulse-dev` build dependency

## Downloads

| Platform | File | Notes |
|----------|------|-------|
| **macOS** | `.dmg` | Universal binary (Apple Silicon + Intel) |
| **Linux x86_64** | `.tar.gz` | glibc 2.35+ (Ubuntu 22.04+, Debian 12+) |
| **Windows x64** | `.zip` | Windows 10+ |

## Getting started

**macOS**: Open the DMG, drag Phosphor.app to Applications (or run directly). Signed and notarized.

**Linux / Windows**: Extract, run `phosphor` from the extracted directory. The `assets/` folder must be next to the binary.

## Requirements

- **GPU**: Vulkan (Linux/Windows) or Metal (macOS)
- **Audio**: Built-in mic or line-in for audio-reactive visuals
- **NDI®** (optional): [NDI® SDK runtime](https://ndi.video) for network video output
- **Video playback** (optional): `ffmpeg` on PATH for media layers

---
NDI® is a registered trademark of Vizrt NDI AB.