Setting up Kodi on an Asus Chromebox (Celeron 2955u)

I recently bought an Asus Chromebox with the intention of making it into an HTPC which should also be capable of Steam in-home streaming. While this was mostly working within a day, fixing the niggling issues took about a week. Hopefully this post can help to shorten that time for someone.

Operating System

My experience here is probably not typical. I started off with Linux Mint 17.1, and switched to xfce from Cinnamon after realising that Cinnamon was a CPU hog on the Chromebox’s modest hardware. I noticed this when attempting to play a game on Steam in-home streaming. The video would not decode fast enough, causing it to stutter. Having a look at CPU usage showed not only the Steam process using a lot of the processor, but Mint’s default desktop environment Cinnamon using up to 80%.

Switching to xfce immediately solved this problem, but brought others with it.

screen tearing

Xfce doesn’t seem to sync up well, by default, with the display’s refresh rate. This causes horizontal tearing artifacts which are especially noticeable during gaming and panning and action scenes in movies.

I tried a bunch of fixes. The most commonly-suggested one was to disable the default compositor and use one called compton instead. This, for whatever reason, didn’t work for me.

What did work was an X config setting called TearFree. Here’s my 20-intel.conf, from /usr/share/X11/xorg.conf.d

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "AccelMethod"  "sna"
    Option      "TearFree" "true"
    Option      "Hotplug" "false"

Display Blanking

The next problem, described in this bug, meant that whenever I turned off the TV I was greeted with a blank, unresponsive screen when I turned it back on. There’s some talk of killing the xfce settings daemon in that thread, but I was able to solve it with less drastic action. Simply set the “Hotplug” option to false in the “Device” section of X’s config, as you can see in the snippet above.

Xbox 360 Controller Support

For wireless controllers at least, the built-in xpad kernel module has a particularly annoying issue. The green LEDs in the middle of the controller continue to flash after it’s connected. The solution here is either to use the userspace xboxdrv driver or, the one I eventually used: Valve’s patched xpad module.

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

The result

Is a pretty nice HTPC set up, which cost very little money indeed (1890SEK or about £150). Usable with the excellent Yatse android app, but better with the addition of an Xbox 360 controller for games (and video playback control) plus a wireless keyboard with a built-in touchpad.

I’m still waiting for my Xbox 360 media remote control to arrive – bought since it uses the same receiver as the controller – but when it does, I’ll probably update this post with the stuff I had to fiddle with to get that working.

Setting up Kodi on an Asus Chromebox (Celeron 2955u)