When using XILINX JTAG software like Impact, Chipscope and XMD on Linux, the proprietary kernel module windrvr from Jungo is needed to access the parallel- or usb-cable. As this module does not work with current linux kernel versions (> 2.6.18) a library was developed, which emulates the module in userspace and allows the tools to access the JTAG cable without the need for a proprietary kernel module.
The library uses libusb to access USB devices and the ppdev interface to communicate with parallel cables. The parallel part currently only supports Parallel Cable III mode (and PCIV in PCIII compatibility mode) as the faster PCIV modes use another kernel module which is not emulated by this library. So you are limited to a 200kHz JTAG clock when using Parallel Cable IV with this software. The USB cable is supported at full speed.
Experimental support for FTDI 2232 based devices has been added. They are seen by Impact as a Parallel Cable III. These devices are currently significantly slower than every other supported cable.
The library is called libusb-driver as it was developed to support the USB cable, but later extended to also support parallel cables.