During the development of high speed Pupil and Pupil Binocular eye tracking headsets we really started to feel the limitations of our current setup for talking to UVC cameras via the OS supplied driver:
Luckily we discovered
libuvc by
ktossel, a library to directly access to UVC devices using
libusb1.0. After initial testing, we found that we could modify the library for our needs. We then went on to write a Python binding for libuvc (similar to pyvl42) that we call
pyuvc. This will give us a new, superior experience with Pupil:
- One unified backend for all platforms -- Pupil will be the same no matter what platform it runs on.
- We essentially ship our own driver. This means, no operating system imposed limitations and no need for patching.
- Unprecedented performance and low level access.
You can imagine that we are super excited about this news as it has some really cool implications for the Pupil project:
- We can give true support for Windows with its own bundle.
- Pupil Hardware will soon ship with single usb clips, by default, as they now work everywhere without modifications!
- Pupil high speed will run on all platforms when we start selling it next month!
This work is currently in the
development branch and will be merged after more testing in the next few days. We will make pre-release bundles for you to test out. We will start updating the Wiki accordingly to reflect changes in the next couple of days.
Best regards,
Pupil Dev Team