[Index] [TitleIndex] [WordIndex

Hulu Desktop

Hulu Desktop is great because it provides full access to both Hulu (regular) and Hulu Plus if you have a subscription.

Below is how to use Hulu Desktop with Freevo. For reference, here is my setup:

Ubuntu Hardy 32-bit running Freevo 1.9.0 AMD Athlon 64 x2 Dual Core 6000+ 4 GB RAM Nvidia 210 Video card

I will assume you already have Freevo up and running well. Here is how to add Hulu support.


First, you will need to install a few things to get setup.

Adobe Flash

On Ubuntu, you can do

sudo apt-get install adobe-flashplugin

If you are not on Ubuntu, you can either download it from Adobe's site or use your package management system. I highly recommend using the "nonfree" Adobe flash for good performance with Hulu Desktop. You need at least Flash 10.0.32 to work Once installed, no configuration needs to be done (although some things can be tweaked if you have issues, see the Tips section below)


RatPoison will be the window manager that will load behind Hulu Desktop. It is really lightweight and basically just give you a WM to run something else. On Ubuntu:

sudo apt-get install ratpoison

I then added the following /etc/ratpoisonrc config file:

msgwait 1
startup_message off
defborder 0
set padding 0 0 0 0
set bgcolor black
set bargravity southwest
exec xset -dpms
exec xset s off
exec xsetroot -display :0 -solid "#000000" 
exec xsetroot -cursor_name left_ptr

This will turn of the start up messages, make it fill the screen, set the background to black (in case Hulu doesn't completely fill the screen) and turn off the screen saver

In your Freevo local_conf.py add the following to configure ratpoison with Freevo:

COMMAND_SPAWN_WM = '/usr/bin/ratpoison &'
COMMAND_KILL_WM = 'killall ratpoison'

This will give it the commands needed to start and stop ratpoison as needed.

Hulu Desktop

Download Hulu Desktop from here:


Install it according to your distro. For Ubuntu, you would download it and then do:

sudo dpkg -i huludesktop_i386.deb

replacing i386 with amd64 if you are on a 64-bit install.

That is pretty much all that needs to be done for Hulu Desktop.

More Freevo Config

In your local_conf.py, be sure you have the 'command' plugin activated with a line similar to this:

plugin.activate('command', level=45)

also be sure to set your commands dir like this:

COMMANDS_DIR = '/etc/freevo/commands'

I keep mine in /etc/freevo, but it can be pretty much anywhere the user freevo runs under has execute privileges.

Next, add this line into your local_conf.py, after your plugin.activate command line:

plugin.activate('command.CommandMainMenuItem', args=('/etc/freevo/commands/hulu_desktop.fxd',),level=20)

Be sure to fix the directory path if your command directory isn't at /etc/freevo/commands

The FXD File

Now we need to create the FXD file. Open a text editor and create a new file in your commands directory called hulu_desktop.fxd I use emacs, so I would do this:

emacs /etc/freevo/commands/hulu_desktop.fxd

Now, put this in your text editor:

<?xml version="1.0" ?>
    <command title="Hulu Desktop">
        <nostdout />
        <stoposd />
        <spawnwm />
            <content>Hulu Desktop</content>

This will make the title Hulu Desktop, not bother with output, and start ratpoison for you

Restart Freevo and you should see a Hulu Desktop option on the start/main screen by Watch Movie. Select it and Hulu Desktop will load. You will need a full keyboard to log into your account the first time, but after that, you should be able to get by with a remote (I use a Harmony 300 that has a function programmed as a media center remote)


If video playback is choppy, first realize that Hulu/flash requires a decent CPU and graphics card. You can see by my setup, it isn't super high-end, but not terrible either. Here are some things you can try to help out if playback is choppy:

* Play a video in Hulu. Move the mouse over the video and right-click the video then left click Settings. Uncheck "Enable Hardware Acceleration". Go to the folder tab in the middle and move the slider all the way right to Unlimited

* I also had an issue where, for some reason, no matter what governor I used with my CPU, Hulu wouldn't hit the threshold and scale it up, leaving the video choppy. To overcome this, I created a small script file at /usr/bin/starthulu with the following content:

cpufreq-set -c 0 -f 3.0GHz
cpufreq-set -c 1 -f 3.0GHz
cpufreq-set -c 0 -f 1.0GHz
cpufreq-set -c 1 -f 1.0GHz

This puts both cores of my CPU at their max speed (3.0 GHz), starts Hulu, then sets them back to their min after Hulu closes. The governor still works for other things that cause load on my machine, even with these changes. To do this, you will need to know your min and max CPU speeds, which you can get from the command cpufreq-info

Final Notes

Hopefully this helps someone out. If you have questions or something is incomplete in the guide, feel free to email me at prestonh at gmail dot com.

2014-02-15 05:35