RaspberryPi, FreeBSD and ioquake3

Update: support for keyboard/mouse has been added After New Year I got back to hacking the VCHIQ stuff (thanks to adrian@ for prodding). Since last time I touched NetBSD folks got it merged to main tree, syncing with latest upstream code and fixing some stupid bugs in my codebase. So I partially merged things back, spent some time on fixing more bugs introduced by yours truly, merged userland bits from latest Broadcom’s bits (and fixing some bugs introduced by them). And as a result VCHIQ got stable enough to run ioquake3d on raspberry pi. Well, you can’t play it because there is no sound and no mouse support and keyboard support is severely crippled but you can navigate menus and watch demoes. ...

January 7, 2015 · 2 min · 322 words · Oleksandr Tymoshenko

VCHIQ drivers work again

I synced both vchiq-freebsd and userland to latest and greatest. As I mentioned earlier - OS compatibility shim was removed from upstream sources so I had to create Linux KPI implementation layer which turned out not that awful task because I managed to reuse a lot of code from Max Khon’s DAHDI port. I had to implement (in somewhat hackish fashion) kthread API, re-implement semaphores support using condvar and mutex in order to get _interruptible part of API working properly and create dumb implementation of rather small subset of Linux list.h API. ...

January 13, 2013 · 1 min · 212 words · Oleksandr Tymoshenko

FreeBSD on Pi: more stuff

Long overdue update on how the things are going with FreeBSD on Raspberry Pi. We’ve made some good progress so far: Hans Petter Selasky fixed low-speed interrupt endpoints problem which means we have working USB keyboard now GPIO driver by Luiz Otavio O Souza. So now you can blink OK LED (gpioctl -f /dev/gpioc0 -t 16). Not the most productive activity though. Kernel now obtains information about display resolution, memory layout, MAC address from firmware Framebuffer/syscons support added Some stability fixes for SDHCI/li> Initial port of VCHIQ interface (vchiq-freebsd) Port of userland libraries (userland) Overall stability and performance is still a problem, but it’s what we’re going to work on next. ...

November 29, 2012 · 2 min · 422 words · Oleksandr Tymoshenko