質問: FreeBSDに限らずメジャーなBSD(NetBSD,DragonFlyBSD,OpenBSD,FreeBSD)において、Linuxの/dev/fb0のようにユーザープログラム(デーモンも含む)からでも操作可能なフレームバッファへのアクセス方法はありませんか? Linuxと同じようにデバイスファイルを利用する方法やAPIを使う方法などなんでも構いませんのでご存知でしたら教えてください。 フレームバッファにアクセスしたいのは起動完了後です。
回答: ネットでいろいろ検索してみましたが、全然情報が見つからないですね...。 かつては Linux jfbterm の FreeBSD 移植版があったようなので、ソースコードが見られればと思ったのですが、残念ながら、もうサイトにはアクセスできなくなってます。 * [FreeBSD-users-jp 91522] jfbterm for FreeBSD 0.5.0 をリリースしました。 * [FreeBSD-users-jp 91630] jfbterm for FreeBSD 0.5.1 をリリースしました。 代わりに GitHub 上で、参考になりそうな C プログラムを2つ見つけました。FreeBSD 向けですが、古い(数年前のもの)なので、いまでも動くかは不明です。 * `/dev/mem`(解説) のファイルディスクリプタを取得し、VRAM のエリアを `mmap` でユーザープロセスのメモリにマップして、操作しているようです。スクリーン解像度などの情報は、`ioctl` で取得しているようです。 * `/dev/tty`(解説) のファイルディスクリプタを取得し、`mmap` でユーザープロセスのメモリにマップして、操作しているようです。スクリーン解像度などの情報は、`ioctl` で取得しているようです。