Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am unable to play "protected" flash video, such as Amazon Prime Instant Video. From what I've read and uncovered, this seems to be due to a lack of HAL being installed on my computer. Confirmation that it is required for protected video can be seen towards the beginning of

However, hal is not in the gentoo portage tree, and in any case has been deprecated and replaced by udev. How can I go about getting Amazon Prime Instant Video to work again? I was considering grabbing the source from but the links there won't load, and trying to install it from old ebuilds or from overlays which claim to still support it (e.g. kde-sunset) result in a compilation error:

In file included from addon-generic-backlight.c:38:0:
/usr/include/glib-2.0/glib/gmain.h:21:2: error: #error "Only <glib.h> can be included directly."

Has anyone else solved this issue?

share|improve this question
up vote 2 down vote accepted

emerge hal-flash

That's all you gotta do these days as it is in portage. WFM

share|improve this answer
@Chenmunka this actually solves the issue perfectly. Since it's addition into portage (the Gentoo package manager), simply installing it via the emerge command indicated solves the problem without having to manually download, patch, compile, install and configure HAL code -- I'm changing the accepted answer to this one as it more correctly reflects the current state of affairs. – Mala Dec 4 '13 at 21:42

For anyone in my shoes who needs to get this installed, grawity's comments to his answer hold the key on how to do it. For an explicit step-by-step:

Step 1: Grab the code

# git clone
# git clone

Step 2: Install hal-info

# cd hal-info
# ./
# make && make install
# cd ..

Step 3: Fix the hal code

To do this, replace all instances of #include <glib/gmain.h> with #include <glib.h>. You can do that with a command like:

# find hal -name "*.c" -print|xargs sed -i 's/#include <glib\/gmain\.h>/#include <glib\.h>/g'

For some reason, that missed one reference (I'm not really a regexp / sed guru) so I just did a grep -r "#include <glib/gmain.h>" * and fixed it manually.

Step 4: Install hal

# cd hal
# ./ --disable-policy-kit
# make && make install

Step 5: Don't forget the dbus config!

# cp hal.conf /etc/dbus-1/system.d/

That's it! Now just run it with hald (/usr/local/sbin/hald)

share|improve this answer

HAL works on top of udev; it has never been "replaced by" it completely; those features that were can be disabled in hal (such as ACL management). There shouldn't be any conflicts as long as Flash Player is the only user of HAL.

share|improve this answer
awesome, i'll try compiling and installing and see how it goes. I thought it had been replaced from – Mala Apr 23 '12 at 3:15
gosh getting HAL to compile / install is harder than one would think – Mala Apr 24 '12 at 5:40
@Mala: Try using similar build options to the Arch Linux package -- in particular, disable the features that were moved to udev. The udev.patch may help as well. – grawity Apr 24 '12 at 5:53
Thanks for checking back :) I'm having the darndest time -- no ebuilds will compile, and all the release / git links on HAL's official page seem to be broken. I'll check out the AUR page and see if I can glean anything from there – Mala Apr 24 '12 at 6:09
No, it's not happy with changes to GLib... try replacing all #include <glib/gmain.h> with #include <glib.h> – grawity Apr 24 '12 at 14:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .