LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Removal of hal breaks amazon's drm for flash video (https://www.linuxquestions.org/questions/slackware-14/removal-of-hal-breaks-amazons-drm-for-flash-video-4175418058/)

Old_Fogie 07-22-2012 03:56 AM

Removal of hal breaks amazon's drm for flash video
 
Just a head's up, that if hal is not installed AND running then any DRM'd video from Amazon will not work. This means --current users and future slack. Don't shoot the messenger :) edit (add): which by the way I understand, and appreciate why hal is removed from Slackware. I'm just posting this in case someone is not aware of this.

disturbed1 07-22-2012 10:35 AM

Adobe's page about the requirements for playing protected content.
http://helpx.adobe.com/x-productkb/m...s-playing.html

273 07-22-2012 10:58 AM

Thanks both, I didn't know about this -- am using Debian so the instructions on Adobe's site worked perfectly.
Edit: though sadly because of corporate greed it's unlikely I'll be able to actually make use of it.

BCarey 07-22-2012 01:06 PM

Is there any way around this? I would be very disappointed to lose the ability to watch the Amazon videos. Can hal still function on slackware-current if it is rebuilt and reinstalled on our own?

Brian

EYo 07-22-2012 01:15 PM

HAL removed?
 
Hey Slackers, say isn't so!
I use Amazon Prime video streaming a lot.

After reading the link to the Gentoo discussion, and also struggling with the flash-plugin on AMD64, it's not going to happen.
Being so grateful to have streaming video on Linux, I'll forego my Slackware adventures for now.
Peace to all, and good luck.

disturbed1 07-22-2012 01:21 PM

http://forums.gentoo.org/viewtopic-t...04bc76d5476b42
Similar discussion from the Gentoo forum.

BlackRider 07-22-2012 03:24 PM

I suppose I am not being constructive, but when these kind of things happen, I stop/avoid using the services of the "Linux unfriendly" corporation.

Most of the times, they need customers more than customers need their services, so let them burn themselves if they don't fix it.

I used to say the same thing about Youtube, until they started implementing HTML5 video so many clips can be seen without flash at all.

Old_Fogie 07-22-2012 04:45 PM

@disturbed1 : thanks for the link

@Eyo: Why would you stop using Slackware for this? Unless I'm reading understanding you incorrectly.

EYo 07-23-2012 07:33 AM

@Old_Fogie: Just can't upgrade to -current. It's the "Being so grateful to have streaming video on Linux" part.

I have a local phone company and ISP. DSL here is slow, on the edge of the service area.
So tired of being abused by monopolies, I don't use cable or satellite TV. No cellular either.
And no proprietary OS. Flash is the only tech that streams okay without issue. For now.

@BlackRider: I subscribe to amazon because they were the first Linux-friendly streaming service <shrug>. I'm not pure.

BCarey 07-23-2012 10:49 AM

Quote:

Originally Posted by BlackRider (Post 4735332)
I suppose I am not being constructive, but when these kind of things happen, I stop/avoid using the services of the "Linux unfriendly" corporation.

Most of the times, they need customers more than customers need their services, so let them burn themselves if they don't fix it.

I used to say the same thing about Youtube, until they started implementing HTML5 video so many clips can be seen without flash at all.

This seems a little different. It is not the vendor who has changed something to make it no longer work on Slackware but Slackware which has removed the package which allowed it to function. I don't know what the technical issues are, I just hope there will be a way to build and install what is necessary to make this work.

Brian

ponce 07-23-2012 11:45 AM

sorry, I don't use it so I can't test it, but have you tried to install the hal package from the 13.37 repository and see if it just works?

Didier Spaier 07-23-2012 01:07 PM

Hal is dead, period.

Let me quote the warning on a pink background on its home page:
Quote:

HAL is in maintenance mode - no new features are added. All future development focuses on udisks, upower and other parts of the stack. See Software/DeviceKit for more information.
And last release date back 30-Nov-2009.

So, though some media providers didn't notice that already, not keeping it in an new Slackware release seems me a sensible decision.

P.S. Though being happy with that decision, I have no objection to somebody proposing a slackbuild for it as long as someone requests it ;)

T3slider 07-23-2012 02:30 PM

If you're looking to place blame I think the only logical choice is Adobe, which has abandoned Flash on Linux and will therefore certainly not be updating it to get rid of the HAL dependency. Amazon has two choices -- Flash with DRM or Silverlight with DRM, one of which worked before and will work only with hacks now and one which won't work at all. HAL does not belong in a default Slackware installation any longer and if you do need it for this I think it is better added manually...

ReaperX7 07-23-2012 02:31 PM

HAL is in it's last final stage basically, but it's not dead. It's not being developed, but several projects still utilize it where udev, and such have yet to effectively replace it.

As far as HAL's fate, even if some projects still utilize it, it could be moved into the /extra, or assigned to SlackBuilds for releases to lighten the load.

This is why some of us said before we transition out of HAL we should make sure NOTHING still utilizes it.

Truth be told HAL should have been merged into udev, udisks, upower, etc. rather than just abandoned. However, this goes along with the recklessness of what is being pushed on Linux users with systemd.

Didier Spaier 07-23-2012 02:40 PM

@ReaperX7: /pasture would be a better place than /extra then ;)

And if I follow your rationale, all software should stay forever in Slackware, as there is no way to make sure that no{thing,body} utilizes it any more.

If *you* need it just stay on 13.37 or try to re-use the Slackbuild it includes for hal, till somebody (may be you?) proposes one for 14.

ReaperX7 07-23-2012 02:57 PM

No it's about using common sense and added levels of testing to make sure projects are not just unused, but aren't utilized in ways that are duplicated. However, this is why -current exists, to test things and make sure things work as they should without problems.

Even if a media distributor uses it still in a project, if it's a well circulated project like Adobe Flash, it's technically still being heavily utilized as a dependency.

HAL isn't even duplicated yet by the likes of udev, upower, udisks, etc. which is not only problematic but concerning. Because HAL was deprecated by it's developers, they failed to realize it's subsystems should have been carried over and duplicated by the newer system tools.

This is the problem of removing parts of a system that aren't replaced or haven't be completely phased out. You take something out, and you break it, but have nothing to duplicate it's function, it's broken until the required dependencies can be re-added by some means.

Didier Spaier 07-23-2012 03:17 PM

If I understand well, flash does not need HAL but in case of DRM, see T3Slider's post above.

Other than that I can't but agree with you that "this is why -current exists, to test things and make sure things work as they should without problems."

So IMHO the most constructive thing to do at this point of time is test and alert or warn if something in -current does not work as expected, giving as precise information as possible about the pitfalls.

BCarey 07-23-2012 06:56 PM

Quote:

Originally Posted by T3slider (Post 4736151)
If you're looking to place blame

I'm not looking to place blame, I just would like to be able to stream the video
Quote:

HAL does not belong in a default Slackware installation any longer and if you do need it for this I think it is better added manually...
This was the type of solution I was hoping for. I'm not against hal being removed. I just haven't had time to test it myself yet, and was wondering if anyone had. There seem to be conflicting "opinions" on the other forums as to whether this is possible.

Brian

BCarey 07-23-2012 07:02 PM

Quote:

Originally Posted by Didier Spaier (Post 4736174)
If I understand well, flash does not need HAL but in case of DRM, see T3Slider's post above.

Other than taht I can't but agree with you that "this is why -current exists, to test things and make sure things work as they should without problems."

So IMHO the most constructive thing to do at this point of time is test and alert or warn if something in -current does not work as expected, giving as precise information as possible about the pitfalls.

So the skinny on flash is here. While removing support for Linux is hardly risky for Adobe (we are little fish in a big pond), removing support for Android and Mobile devices suggests that flash is not long for this world.

As to adding hal on top of the non-hal linux systems, I have seen conflicting reports and have not had the time to experiment on my own.

Brian

BCarey 07-25-2012 08:09 PM

So I was unable to build the old hal on current, but installing the 13.37 hal package allowed me to view the Amazon DRM content. I have not noticed (yet?) any problems arising from running hal on -current. So it seems this problem is not (for now).

Brian

ReaperX7 07-25-2012 08:23 PM

13.37 should have the build script in the /source directory. I had to build it also myself for the Flash media issue also. The Build script Patrick left works, but I do believe HAL has a dependency that needs to be resolved before you build it, but I don't remember what it was off hand.

BCarey 07-25-2012 08:32 PM

As I recall the error message was related to not finding videodev.h. Seems to be related to changes in video4linux.

Brian

ReaperX7 07-25-2012 08:34 PM

Yeah it's video4linux. It should be in your kernel-headers unless it was removed.

There are a few patches on the internet you might be able to find that may work with HAL if you build it manually. Google it and see if you have any luck.

BCarey 07-25-2012 08:39 PM

Now there is something called videodev2.h, which apparently is not the same thing.

Brian

ReaperX7 07-25-2012 10:07 PM

If you can try to rebuild HAL for the new system, try this patch:

https://launchpadlibrarian.net/64645...buntu1.debdiff

Not certain it will work (worked for me but I got tons of warnings), but copy the /sources/l/hal directory and all files to your folder and drop the file above into the /patches directory, and edit hal.Slackbuild to add these lines in the patches section:

Code:

# Patch HAL to use videodev2.h rather than videodev.h which is deprecated
# https://launchpadlibrarian.net/64645948/hal_0.5.14-5ubuntu1.debdiff
zcat $CWD/patches/hal_0.5.14-5ubuntu1.debdiff | patch -p1 --verbose || exit 1

It MAY work, but it might not. No support given on this one so you're on your own here.

BCarey 07-27-2012 10:46 AM

The debian patch was problematic to apply, but the one at https://build.opensuse.org/package/v...ect=KDE%3AKDE3 applied fine.

Unfortunately that just moved me on to the next build error involving glib. As long as the old hal solves my problem, I don't have any more time at the moment to spend on getting the build to work on 14.0.

Thanks for the help.

Brian

rinias 09-06-2012 02:03 PM

2 Attachment(s)
Since this is a touch near to my heart (I dunno, I just like my Amazon videos. If I can't use Linux for videos I want legally from a service I pay for, then I'm going to keep Windows around), I was befuddled when 14RC'n' started to give me errors with the streaming video on Amazon. "Adobe Flash Player crashed" was the error, nothing more.

So, I began to suspect hal. Originally, I simply installed the hal-0.5.14 from Slackware64-13.37, and it worked well. So figuring I needed to compile hal for this system, I popped over to my favorite mirror, and downloaded the source files, SlackBuild, patches, etc to build hal. (Note, you want to go to slackware-/slackware64-13.37/source/l/hal and copy the entire directory). As others have mentioned, there are various errors that one runs into.

The video4linux can be resolved by simply making a symlink:
Code:

# ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
Thanks markush! http://www.linuxquestions.org/questi...0/#post4732941

The next thing to overcome are the glib errors. I found this page : https://bugs.freedesktop.org/show_bug.cgi?id=45094#c0 which offers a patch for the issues. I put that file in the appropriate spot in the source and modified the SlackBuild, but to no avail; there were still add-on files referencing glib incorrectly.

So I made a patch myself, merged it with the one mentioned above, edited the SlackBuild and ran it. Success! After installing, a tour of Amazon's instant video confirmed that it was working.

Obviously, this is a messy way to be doing this, and it's probably (surely?) not a 'best practice.' I have no idea if it's secure or not and make no guarantees, but I hope that if you try it, you'll find that it works for you. Also, please go to Amazon and submit feedback! Suggest that they remove the hal requirement because the project is not longer supported, and that they find a different way to stream content. (Also mention that you appreciate their service and that they - somewhat - support Linux!)

Oh! I also thought I should mention that this is all on Slackware64-current using AlienBob's flash package with seamonkey 2.12.

Riri

- Please copy fix_glib-headers.diff.txt to the patches folder in your hal sources. Remove .txt from the end and run gzip fix_glib-headers.diff Something like:
Code:

mv /path/to/fix_glib-headers.diff.txt /path/to/hal/patches/fix_glib-headers.diff
cd /path/to/hal/patches
gzip fix_glib-headers.diff

- Please remove .txt from the end of hal.SlackBuild.txt and replace the hal.SlackBuild in your hal sources with that file. You may need to chmod +x hal.SlackBuild in order to run it. Something like:
Code:

mv /path/to/hal.SlackBuild.txt /path/to/hal/hal.SlackBuild
chmod +x hal.SlackBuild


Woodsman 09-06-2012 02:41 PM

I would not mind seeing hal supported in /extra. Going cold turkey does affect a handful of apps.

I have successfully built hal on Slackware 14 with two patches. The glib patch is similar to the one already posted and I use a patch for video4l:

Code:

commit ae13d96fa2a0612b6000f4b8f6ed9d3564035703
Author: Michael Biebl <biebl@debian.org>
Date:  Sun Apr 10 14:54:53 2011 +0200

    Build hald-probe-video4linux on current kernels again

    The hald-probe-video4linux prober supports both v4l1 and v4l2. Support for v4l1
    has been removed from Linux kernel 2.6.38. Instead of disabling the prober
    altogether, #ifdef the v4l1 parts when building on a newer kernel.

    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>

diff --git a/hald/linux/probing/probe-video4linux.c b/hald/linux/probing/probe-video4linux.c
index 7bc13e8..b055720 100644
--- a/hald/linux/probing/probe-video4linux.c
+++ b/hald/linux/probing/probe-video4linux.c
@@ -30,7 +30,9 @@
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
+#ifdef HAVE_LINUX_VIDEODEV_H
 #include <linux/videodev.h>
+#endif
 #include <linux/videodev2.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -50,7 +52,9 @@ main (int argc, char *argv[])
        int ret = -1;
        char *udi;
        char *device_file;
+#ifdef HAVE_LINUX_VIDEODEV_H
        struct video_capability v1cap;
+#endif
        struct v4l2_capability v2cap;
        LibHalContext *ctx = NULL;
        LibHalChangeSet *cset;
@@ -107,7 +111,9 @@ main (int argc, char *argv[])
                        LIBHAL_FREE_DBUS_ERROR (&error);
                        libhal_device_add_capability (ctx, udi, "video4linux.radio", &error);
                }
-        } else {
+        }
+#ifdef HAVE_LINUX_VIDEODEV_H
+        else {
                HAL_DEBUG (("ioctl VIDIOC_QUERYCAP failed"));

                if (ioctl (fd, VIDIOCGCAP, &v1cap) == 0) {
@@ -134,6 +140,7 @@ main (int argc, char *argv[])
                        HAL_DEBUG (("ioctl VIDIOCGCAP failed"));
                }
        }
+#endif

        LIBHAL_FREE_DBUS_ERROR (&error);
        libhal_device_commit_changeset (ctx, cset, &error);

Although I built hal on 14, I have not (yet) tested in any meaningful manner. Soon, I hope. :)

Didier Spaier 09-06-2012 03:34 PM

In /extra or in /pasture... ;)

saulgoode 09-06-2012 04:01 PM

Quote:

Originally Posted by Woodsman (Post 4774403)
I would not mind seeing hal supported in /extra. Going cold turkey does affect a handful of apps.

Is there someplace where HAL-dependent applications are being reported?

For what it's worth, the Thoggen DVD ripper program will not compile on -current owing to HAL dependencies.

ReaperX7 09-06-2012 08:57 PM

Udev isn't perfect in what it handles, which is why hald might still be needed, yet optional. I would say if you need them, grab the hal and hotplug packages from 13.37 and keep them handy just in case something asks for them.

rinias 09-07-2012 07:44 AM

Quote:

Originally Posted by ReaperX7 (Post 4774598)
Udev isn't perfect in what it handles, which is why hald might still be needed, yet optional. I would say if you need them, grab the hal and hotplug packages from 13.37 and keep them handy just in case something asks for them.

Hal doesn't work with -current now, at least for Slackware64; that's why I posted instructions for compiling it.

It seems that if you need hal (and hotplug?), you should keep a copy of 13.37 itself, since it was included in the system for that release.

rinias 09-07-2012 07:50 AM

Quote:

Originally Posted by Woodsman (Post 4774403)
I use a patch for video4l:

Just out of curiosity, and perhaps because I am becoming aware that I generally tend to just sloppily hack things together, is there an advantage to patching hal's v4l probe over making the symlink? Is one more secure than the other? Or less prone to bugginess?

BCarey 09-07-2012 11:51 AM

Quote:

Originally Posted by rinias (Post 4774961)
Hal doesn't work with -current now, at least for Slackware64; that's why I posted instructions for compiling it.

The 13.37 hal package DOES work for -current 32 bit, at least in so far as it enables you to watch the Amazon Prime videos.

Brian

Woodsman 09-07-2012 01:12 PM

Quote:

Just out of curiosity, and perhaps because I am becoming aware that I generally tend to just sloppily hack things together, is there an advantage to patching hal's v4l probe over making the symlink? Is one more secure than the other? Or less prone to bugginess?
I don't know. For me, I dislike creating sym links that are not part of an original package scheme. No harm, I just prefer using the package system.

rinias 09-07-2012 05:09 PM

Quote:

Originally Posted by Woodsman (Post 4775170)
I don't know. For me, I dislike creating sym links that are not part of an original package scheme. No harm, I just prefer using the package system.

Good point; I had'nt thought of that. Thanks!

rinias 10-16-2012 05:43 PM

Quote:

Originally Posted by Woodsman (Post 4775170)
I don't know. For me, I dislike creating sym links that are not part of an original package scheme. No harm, I just prefer using the package system.

Ha! Well, I harmed myself with my silly sym-link! I wasted hours trying to figure out why mjpegtools wouldn't compile (for wxcam) and came up with no answers. then I remembered the sage advice and skepticism of dear Woodsman, removed the sym-link, applied the patch for hal instead, et voilą ! mjpegtools compiles without a problem.

Lesson learned... Phew.

Thanks again.

rob.rice 10-17-2012 11:35 PM

Quote:

Originally Posted by ponce (Post 4736022)
sorry, I don't use it so I can't test it, but have you tried to install the hal package from the 13.37 repository and see if it just works?

there may be a library mismatch
it would be better if he built it from source with the 13.37 slackbuild script so that it links to the libraries installed on the system

chess 04-05-2013 09:57 PM

Sorry to bump an old thread, but I just wanted to thank those who posted here, especially rinias and Woodsman. I was able to compile hal on Slackware64-14.0 using the glib and video4linux patches and now I can watch Amazon video again. Thanks all!

rinias 06-25-2013 09:13 PM

FYI, I found out the other night (and much to my chagrin), that Google Play is also relying on HAL for their DRM support. (Yes, yes, maybe I'm like way late, but I was still irked!)

Does anyone know of a similar service that will work on Slackware without using HAL? And the pirate bay doesn't count!

Watch, they'll announce a new udev dependency to get rid of hal about a month after everyone's deprecated that. Oy vey.

ReaperX7 12-02-2013 08:48 PM

I updated my post above, sorry.

xj25vm 12-03-2013 02:54 AM

Here is a similar thread I started recently, where two solutions have been posted (installing 13.37 HAL packages and scripts to compile libhal against 14.1) - for those who might need HAL on 14.1:

http://www.linuxquestions.org/questi...-a-4175486435/


All times are GMT -5. The time now is 12:59 AM.