Difference between revisions of "Flash DRM content"

From ArchWiki
Jump to: navigation, search
(some style tweaks, it is expected that the user knows how to check if a package is already installed)
(rm outdated initscripts information, comply with Help:Style#Daemon operations)
Line 10: Line 10:
 
=== Running the HAL daemon ===
 
=== Running the HAL daemon ===
  
Once you have confirmed that hal is installed (as above), start the daemon.
+
The HAL daemon is managed by {{ic|hal.service}}, which can be controlled by [[systemd#Using units|systemctl]].
 
+
'''sysvinit:'''
+
# /etc/rc.d/hal start
+
 
+
'''systemd:'''
+
# systemctl start hal.service
+
 
+
You may also wish to enable the daemon at boot, either by adding '''hal''' to your '''DAEMONS''' array in /etc/rc.conf (if using sysvinit), or by running '''systemctl enable hal.service''' as root (if running systemd).
+
  
 
== Using the modified libhal stub ==
 
== Using the modified libhal stub ==
Line 30: Line 22:
 
=== Running UDisks ===
 
=== Running UDisks ===
  
Since the libhal stub passes its calls to UDisks, UDisks should be running before you attempt to play DRM-protected Flash videos. To verify udisks is running using systemd:
+
Since the libhal stub passes its calls to UDisks, UDisks should be running before you attempt to play DRM-protected Flash videos.
$ systemctl status udisks
+
  
If it isn't running, run these commands to start UDisks now and enable it on future restarts:
+
Make sure that {{ic|udisks.service}} is started, see [[systemd#Using units]] for details.
# systemctl start udisks
+
# systemctl enable udisks
+
  
 
== Remove Flash Player cached files ==
 
== Remove Flash Player cached files ==

Revision as of 16:54, 27 December 2013

If you try to watch Amazon Instant Video, you may see the following error: an error occurred and your player could not be updated. This likely indicates that the video is protected with DRM and that the Flash Player could not perform some of the functions required to securely deliver the protected content.

To deliver DRM-protected content, Flash calls several functions provided by the HAL daemon and its libraries. While Flash-based players remain popular, HAL has been deprecated and is not commonly installed on newer systems. To provide the necessary HAL functionality on such systems, you can either install the full HAL package and run the HAL daemon or install a modified HAL library 'stub' that uses the modern UDisks daemon instead.

Using the HAL package

Install the halAUR package from the AUR. You will need to install hal-infoAUR first as it is a dependency for halAUR.

Running the HAL daemon

The HAL daemon is managed by hal.service, which can be controlled by systemctl.

Using the modified libhal stub

As an alternative to installing all of HAL, you can install a modified version of the libhal library from the AUR that uses the modern UDisks daemon instead of the deprecated HAL. Note that this libhal provides just enough of the HAL functionality to meet Flash's needs for copy-protected delivery: if you have other programs that require HAL, this stub probably won't satisfy them and you should use the full hal package instead.

Installing UDisks and hal-flash

You will need to install hal-flashAUR from the AUR, which relies on UDisks.

Running UDisks

Since the libhal stub passes its calls to UDisks, UDisks should be running before you attempt to play DRM-protected Flash videos.

Make sure that udisks.service is started, see systemd#Using units for details.

Remove Flash Player cached files

To get a fresh start after installing the package(s), remove some Flash Player cached files:

$ cd ~/.adobe/Flash_Player
$ rm -rf NativeCache AssetCache APSPrivateData2

See Also