In order to use libsigrok (via a sigrok frontend) on Windows, you need to install the proper driver for the respective device.
If your device is connected through a (virtual) COM port, libsigrok don't need a special driver. Please install the driver as provided by the manufacturer. If you are unsure, you can check if your device appears at the "Ports (COM&LPT)" section of the Windows Device Manager.
Device specific USB driver
The device specific USB driver shipped with the vendor software is not going to work in almost all cases.
For installing the drivers you can use the zadig executable from the libwdi project. There are two versions, one for Windows XP (zadig_xp.exe), and another one for all other (Vista or higher) supported Windows versions (zadig.exe). Both 32 and 64 bit Windows versions are supported. The sigrok-cli and PulseView installers ship with both zadig executable files for convenience (they're located in the installation directory of the respective application).
Devices where libsigrok uses libftdi (asix-sigma, chronovu-la8, ikalogic-scanaplus) will need the libusb-win32 driver, devices where libsigrok uses libusb-1.0 will need the WinUSB driver (all other USB devices).
If you already installed the vendor driver previously, you need to run Zadig and switch to the libusb-win32 or WinUSB driver (see above). There's no need to uninstall or deactivate the vendor driver manually, Zadig will handle all of this.
See also the Zadig wiki page for more information.
The Windows installers ship with all firmware files that are either open-source or where we have permission from the vendor to distribute them. Some devices will need other firmware which we cannot redistribute though. See the wiki page for the respective device on how you can extract those firmware files from the vendor's software.
You'll need to copy the extracted files into the firmware subfolder of the respective installation directory of sigrok-cli or Pulseview, e.g. C:\Program Files\sigrok\sigrok-cli\firmware or C:\Program Files\sigrok\PulseView\firmware.
These files can be used to conveniently test various frontend features and protocol decoders, and so on.
Limitations and TODOs
The table below lists some of the known remaining issues.
|fx2lafw||There seems to be some issue causing frontend hangs (bug #343). Needs to be investigated (could be a libsigrok driver issue, or libusb issue, or USB/thread code issue, or something entirely different).|
|link-mso19||Doesn't compile due to libudev dependency (Linux-only). TODO: Make libudev optional.|
|openbench-logic-sniffer||Serial port portability fixes required (bug #205).|
|serial port code||There may be an issue still in the serial port handling on Windows (bug #341). Needs to be investigated.|
|sysclk-lwla||Users reported issues on Windows (bug #328). Needs to be investigated. May or may not be related to (or have the same cause as) bug #343.|
|uni-t-dmm||HID-based, we need to use HIDAPI.|
|victor-dmm||HID-based, we need to use HIDAPI.|
Building from source
Note: This should generally not be necessary for users, please just use the provided nightly installers (see above).
If you really want to build from source, we recommend you use the sigrok-cross-mingw script from the sigrok-util repository to cross-compile the Windows binaries on a Linux system.
Native builds are not supported by us! Yes, they can work in theory, but it means a lot of hassle compared to a cross-compile using the above script. If you want to do native builds, go ahead and have fun, but don't expect any help from us.