ccrma / chuck

ChucK Music Programming Language
http://chuck.stanford.edu/
GNU General Public License v2.0
799 stars 127 forks source link

preliminary FreeBSD support: it is treated like Linux in every respect #431

Closed rhaberkorn closed 5 months ago

rhaberkorn commented 6 months ago

This will need some discussion.

FreeBSD is compatible with Linux for all relevant APIs, so we simply define __PLATFORM_LINUX__. The HID devices do not currently work, even though FreeBSD also supports evdev and I have everything set up for root-less access to evdev-devices. I am writing my own audio programming environment with evdev support, so I know it's working equally well on Linux and FreeBSD. Is chuck --probe supposed to list the evdev devices as well?

I have tested only the Jack backend (linux-jack).

I will probably use ChucK only for some benchmarking, so I do not expect to work with it elaborately. However, some FreeBSD support is better than nothing.

rhaberkorn commented 6 months ago

HID devices are now detected on FreeBSD. I had to remove the major/minor device id checks. I think these checks should be removed altogether. Unfortunately, HID events are still not detected.

gewang commented 5 months ago

Thank you for this! admittedly, we don't have much/any FreeBSD experience among the team on the ground here and we are currently getting chuck more up to speed on various Linux systems. Since this seems strictly additive, we will merge in this PR. If you'd like, please keep us posted on any further FreeBSD issues / if you somehow get HID events to work on FreeBSD. Thank you! cc @nshaheed