HTPC: FreeBSD for your TV


by ross at 06:14:54 on November 8, 2012

My HTPC box


You can see cairo-dock on the top with (left to tight): system menu, xbmc, firefox, virtual keyboard and xterm.

The background is conky over a wallpaper.

If you wonder how xbmc looks like here are the skins. Firefox and the keyboard are there.

The hardware

The first thing is the TV of course. You won't face problems with video if you have an HDMI TV as it will describe its capabilities to nVidia driver and will be autoconfigured to native resolution automatically.

HDMI sound on the other hand requires a little tweaking. But will probably work. You can google if the video card's HDMI sound works in FreeBSD before buying to be sure.

Just in case you still use an old TV you might find useful my “tv-out” xorg.conf I used to use in the past.

You will also need either a VDPAU-capable video card or a decent CPU for decoding video. I went VDPAU-way and used an nVidia GT610 (it was GT210 at first but it then died for unknown reason).

And of course you will need a PC. I built mine out of old spare PC parts I had lying around. I only had to buy an HTPC case and a low-profile video card.

Controlling the HTPC

This box is mainly used for watching torrents and online TV. Xbmc could be controlled using mouse but it's not the most convenient way. So I bought the first remote control I stumbled upon.

It was LogicFox LF-X06D-IR. Never heard about this company before but, to my surprise, it was working with FreeBSD out of the box. I had to enable uhidd though to get all the keys working.

This is the only PC remote I've seen so I can't really advise you on this matter, but I believe an USB remote that does not have and does not require Windows drivers is the way. It simply attaches USB “keyboard” and “mouse” devices so FreeBSD wouldn't need a specific software too.

There is also a radio mouse on the coffee table which I turn on when I surf Internet occasionally. And I wrote a simple virtual keyboard to replace the real one.

This is basically all you need to create an HTPC.