Looking to switch from Basler Pylon


I am developing a somewhat large GTK4/OpenGL application that today uses Basler Pylon.
Pylon is mostly OK except that I cannot use address sanitizer to check my code and I cannot (software) trigger the camera when while an image is being transferred, so exposure time and image transfer time are serialized. Internal trigger works with the standard “overlapped grab” as Basler calls it but I need trigger control because the software controls other hardware that needs to move or be still accordingly.

Sorry for the long intro but my question is, does aravis support stuff like events and callbacks and streaming like overlapped grab with a software trigger?

This library would be like hand in glove for me as my own application is glib/gtk4/libusb1. Not being able to use address sanitizer has been a major pain in the b…t for years but days on days with Basler support to no avail.


Hi Jarek,

Thanks for your interest in Aravis.

I can not say for sure Aravis is able to do what you want, but if not it should be possible to make it work for your use case. Stream reception happens asynchronously in a dedicated thread. You should be able to send a software trigger whenever you want.

GigEVision or USB3Vision events are not supported yet.


Hi Emmanuel,

Thanks for responding. Is reading the GenICam docs the way to get into this development or would you suggest something else? I’ve looked around the forum but failed to find any suggestions.



We are not allowed by the A3 to use the GigEVision and USB3Vision specification documents. But we can use the Genicam documents and the wireshark dissector source files.