Unfortunately BlueZ which is otherwise the commonly used Bluetooth stack on Linux didn't provide the stability, features and responsiveness that we would like for Flic. That's why we made our own direct implementation. It will use one HCI device, so if you want to use Bluetooth for something else you can add an extra dongle. If you want to share one Bluetooth controller you can always implement the Flic 2 protocol yourself for your chosen Bluetooth stack, according to our protocol at https://github.com/50ButtonsEach/flic2-documentation/wiki/Flic-2-Protocol-Specification.