Tested on the RPi, it mostly works