Platform Support
Supported Platforms
We have tested ngscopeclient on the following platforms and ship official binaries for them.
- Windows 11 (x86-64)
- MacOS 13 or newer (x86-64)
- MacOS 15 or newer (Apple Silicon / arm64)
- Linux
- Arch (x86-64)
- Debian 12 "Bookworm" (x86-64)
- Debian 13 "Trixie" (x86-64)
- Fedora 42 (x86-64)
- Ubuntu 22.04 (x86-64)
- Ubuntu 24.04 (x86-64)
Unsupported client platforms
We have not tested on ARM Windows or Linux, or Linux distros not listed as supported. We welcome test results, successful or otherwise, if you compile from source on these platforms.
Instrument Support
Check the PDF or online user manual for details on driver feature limitations, which drivers support each model, etc.
A "slow" marking indicates that the device is supported, but known to have poor performance due to instrument firmware
limitations. (Many benchtop scopes, even relatively high end ones, are not well optimized for remote control. Delays of hundreds of milliseconds between the trigger and the API reporting availability of data, and multiple seconds to actually download waveform data, are not uncommon on entry level instruments)
Quick summary of known working models (other similar ones may work but are not tested):
- Agilent: DSO5000, DSO6000/MSO6000, DSOX1200, MSOX-2000, MSOX-3000, MSOX-3000T (slow)
- Alientek: DP100
- Andy Haas: Haasoscope Pro
- ASEQ Instruments: LR1
- Copper Mountain: Tested on S5180B, all other models use same host software and should also work
- Digilent: Analog Discovery 2, Analog Discovery Pro
- edy555: NanoVNA
- EEVengers: ThunderScope
- Erik Kaashoek: TinySA Ultra
- Ettus Research: UHD-based SDRs (receive only)
- Generic: CSV streaming data over socket, Linux socketcan
- GW Instek: GPD-X303S
- Keysight: MSOX-2000, MSOX-3000, MSOX-3000T (slow), DCA 86100A
- Kuaiqu: SSPS-S, SPPS*D, SPPS-D, R-SPPS
- Microphase: AntSDR (running UHD firmware, IIO not supported)
- MultiLane: ML4039-BTP
- Owon: XDG 2000/3000, XDM1041/1241
- Pico: 3000D, 6000E, PicoVNA 106/108 (using PicoVNA 5 software)
- Riden: RD series
- Rigol: DG4000, DS1100D/E (slow), DS1000Z (slow), MSO5000 (slow), DHO800 (slow), DHO900 (slow), DP832/832A
- Rohde & Schwarz: HMC8012, HMC804x, RTM3000 (partial), RTO6
- Siglent: SDG2000X, SDL1000X/X-E, SDS1000X-E (slow), SDS2000X-E (slow), SDS800X HD (slow), SDS1000X HD (slow), SDS2000X+ (slow), SDS2000X HD (slow), SDS3000X HD (slow), SDS5000X (slow), SDS6000A, SDS7000A, SPD3303X/X-E, SSG5000X
- Simulator: oscilloscope, power supply
- Tektronix: MSO5/6 (slow, instrument firmware occasionally crashes)
- Teledyne LeCroy: DDA5000A, HDO9000, SDA 8Zi, WaveRunner Xi/8000/9000, WaveSurfer 3000 tested and known to work. All MAUI-based scopes use the same remoting API and are very likely to work but we didn't have access to every model to test. The WaveSurfer line have underpowered CPUs and are significantly slower for remote operation than higher end models.
What's New
Everything is new, this is the first official release!
Known bugs and issues
It's not perfect, but if we waited until it was we'd never ship. Here's a few of the most notable quirks you might run into.
- Toolbar icons for "single trigger" and "force trigger" are not visually distinct (#791)
- Area-under-curve filter is missing proper Y axis grid lines
(#891) - Docking anchors act funny on MacOS (#871)
- Title bars of free floating dock spaces have too-large fonts (#869)
- Node title bars in filter graph look weird on high-DPI (#868)
- Newly added channels can spawn in plots which are not currently visible making them hard to find (#657)
- Newly added filters may not have same gain/offset as the plot they spawn in (#652)
- Eye patterns forget color ramp setting when dragged to a new plot (#556)
- GUI light mode is impractical to use. Many color defaults are set assuming dark mode and have poor contrast when light mode is selected unless dozens of preferences are individually updated to match, and toolbar icons don't have light mode variants (#526)
- Filter graph nodes are reference counted and should (occasionally this does not happen due to dangling reference bugs) self-delete when all consumers of their output (waveform views, filter inputs, etc.) are removed. This is non-ideal from a user experience perspective, but can't be fixed without substantial refactorings (planned for v0.2) and we didn't want to delay shipping v0.1 any further. v0.2 will eliminate the homegrown reference counting in favor of std::shared_ptr which should completely eliminate this class of bug, as well as making the filter graph bidirectionally traversable which will enable manual deletion of filters and many optimizations such as not computing filter block outputs which are not being displayed or used in computations (ngscopeclient/scopehal#992).
- OS integration including drag-and-drop to open files, double clicking files to open, etc. is incomplete on some platforms (#890)
- Menu bar on MacOS is attached to the application like on other OSes, rather than at the top of the screen in the native menu (#510)