Flash 9 environment
Forum: DSL Ideas and Suggestions
Topic: Flash 9 environment
started by: jpeters
Posted by jpeters on Mar. 31 2008,03:21I wonder if it's possible to create an extension without the 2.6 kernel that would support a flash 9 plugin. Necessary dependencies appear to be:
libdl.so.2 ............ libc6
libpthread.so.0 ....... libc6
libX11.so.6 ........... libx11-6
libXext.so.6 .......... libxext6
libXt.so.6 ............ libxt6
libfreetype.so.6 ...... libfreetype6
libfontconfig.so.1 .... libfontconfig1
libgtk-x11-2.0.so.0 ... libgtk2.0-0
libgobject-2.0.so.0 ... libglib2.0-0
libglib-2.0.so.0 ...... libglib2.0-0
libm.so.6 ............. libc6
libc.so.6 ............. libc6
libasound.so .......... libasound2-dev
libssl.so ............. libssl-dev
Edit: I just collected all the files from a mepis cd...(although they're all updated with links to the above list)....
Edit2: Well, I tried it, and it didn't work out too well....crashed, like before.
Posted by jpeters on Mar. 31 2008,20:43Adding libs didn't help much with DSL-N, either.
Posted by Juanito on April 01 2008,04:43...perhaps the libs need to be compiled on dsl rather than copied?
Posted by jpeters on April 01 2008,05:51
I guess that means there's no way around updated packages?
Currently Installed DSL packages:
libc6...version 2.3.2.ds1-10 GNU C Library. (Conflicts with libpthread0)
(doesn't have any the libs listed above)
Posted by u2musicmike on April 03 2008,02:43Does gnash work as good as flash 9?
< http://www.gnu.org/software/gnash/ >
Posted by jpeters on April 03 2008,04:41
It's in beta, and doesn't support Flash 9, if that's what you mean.
Posted by WDef on April 05 2008,11:08That's not quite correct.
It does support a number of Flash9 features last time I checked, though it couldn't do navigation within the media. That might have been fixed by now.
Posted by jpeters on April 05 2008,15:21
According to the user manual, Gnash is mainly focused on Flash 7, and has more problems then navigation. It does appear to play some, particularly older, Flash 9 videos, however I don't know if any would work in the current DSL environment.
Posted by Jason W on May 25 2008,11:49Has anyone else had any experience with nspluginwrapper on DSL? It is what the BSDs use to run flash 9. I have been watching about an hour of Youtube videos without any crashes or hangs on my Debian Sarge 2.4 kernel build host with Firefox 22.214.171.124. I am using nspluginwrapper version 0.9.91.5, but on DSL I get the video grey screen (when using flash 9 build 115) that has been reportedly fixed in version 0.9.91.6. I am having a little trouble building version 0.9.91.6 due to undeclared glib thread stuff, but I will keep trying. Another solution would be to use the next earlier build of flash 9. I was just curious if anyone has had good luck with thix, or has versions 0.9.91.6 built.
Posted by curaga on May 25 2008,12:14There's also a beta of Flash 10 available, it might bring things better (or worse..)
Posted by Jason W on June 01 2008,04:04Not to beat a dead horse, but after much testing it seems to me that flash 9 with nspluginwrapper might fail on DSL for the same reasons wine did in this post:
< http://damnsmalllinux.org/cgi-bin....t=19197 >
It does not seem to be DSL's smp kernel, nor the lack of Linux 2.6 since Sarge runs flash 9 without fail with a 2.4 smp kernel. Neither Sarge or DSL links npviewer.bin to anything in /lib/tls, but I have a hunch that the glibc thingy mentioned in the above link may be the culprit. FreeBSD has to use Linux NPTL emulation features to get flash 9 for Linux to work with it. The thread local storage support may or may not be what makes flash work on Sarge, but it is the only straw left to grasp.
Since I am tying fishing flies part time for money I like to be able to watch an instructional Youtube video every now and then for pointers. But to be honest, flash is a horrible waste of bandwidth and CPU cycles. And most flash is just useless advertisements - spam. I think of the lack of flash in DSL to be more of a blessing than a curse. I would rather download the particular video I want and play it in my favorite movie player than to by default have to suffer through every junk flash ad there is out there. In other words no flash 9, no big deal.
But I did try to get it to work. Of course if anyone has a workaround/solution, that would be great.
EDIT: It is still so easy to download Youtube/GoogleVideo videos with Firefox GTK1 and play them without bothering with Flash/GTK2. See this link:
< http://www.downloadyoutubevideos.com/ > (Just beware the .)
And that is the only reason I would want flash is to play Youtube videos. I do not blame Adobe for upping the requirements/features of flash player. That is "progress". But how sweet it would be for webmasters to think that there is a large market of folks out there that have no use for their bloated flash spam that only wastes our time and resources. And that we would flock to sites that do not deluge us with that crap. Then the progress instead may be "keep it simple, stupid".
Posted by curaga on June 01 2008,08:17I prefer the script for downloading them, and don't have flash on any machine just for the 98% ads.
Full support for you and your rant.
Posted by jpeters on June 01 2008,09:03I'll have to respectfully disagree on this one. Check out any decent publication, such as the Wall Street Journal, and you'll find an increasing amount of content in video format (and without ads, unlike TV viewing).
Also, there are plenty of tutorials coming online. They all use Flash 9. So far, ad blockers have knocked out most of the spam, so I haven't noticed an increase for having Flash working.
Even tiny packages with 2.6 seem to work flawlessly not only with Flash 9 but for other Apps such as Skype (which gives you high quality unlimited phone service for $2/month from any computer you log on with) .
Posted by Juanito on June 01 2008,09:27This is in no way contributing to the topic in question, but anyway...
Posted by Jason W on June 01 2008,12:51I normally try to keep blogging/rambling here to a minimum, but I had a couple of beers before last post (couple != 2). Of course there are useful things out there that are built around flash 9. And I wanted it to make it work with present DSL, despite the odds. I guess I don't deal well with frustration.
Posted by curaga on June 01 2008,12:55
Name one. I for sure can't.
Posted by lucky13 on June 01 2008,13:14
I've only run into a couple sites that require Flash 9 for anything. Flash 7 is adequate for youtube and most other sites. With increased complexity (9>7) comes increased vulnerability. Not that Flash 7 is the epitome of security -- far from it, which is why I follow a similar recommendation to what's in the second link (I also move it to another directory). Same Flash 9 vuln in both links.
< http://www.us-cert.gov/cas/techalerts/TA08-149A.html >
< http://www.kb.cert.org/vuls/id/395473 >
Posted by curaga on June 01 2008,14:09Some sites do require it, or flash in general, but the question was something useful, not something that it's not required for but still used because of someone's stupidity.
Posted by Jason W on June 01 2008,14:52
Stupid is as stupid does. I haven't used flash 7 in a while and thought that things like Youtube required 9 by now. I am a bear of little brain, and have been called worse.
Posted by curaga on June 01 2008,15:13Not you
The ones who insist on requiring flash when their content could be accessible otherwise too.
Posted by meo on June 01 2008,15:21Hi Jason W!
To me it seems just to be a matter of preferences or what you like. I wouldn't mind having flash 9 working with DSL. But that's just my opinion and I'm pretty sure that I'm entitled to have my own opinion about that!
Have fun and be productive (if you want) with DSL,
PS Jason I have also been tying fishing flies and selling them although it was quite a while ago now. Nowadays I don't tie so much. Just when I run out of a certain fly that the trout likes. I probably have more than a thousand flies and most of them I don't use and I have material enough to make a couple of thousands more DS
Posted by Jason W on June 01 2008,15:29curaga,
Ok, I misread. But I wasn't offended.
I am having to order more supplies to remake my batch of woolly buggers that I messed up. They were the first flies I tied, started a week or so ago. I haven't even attempted the hare's ear nymph. I have to make 12 of each for my first batch and hope they pass inspection. Like anything, it will take time and practice.
Back on topic, even though DSL 5.x is around the corner I will still work quietly with nspluginwrapper to see if it can be made to work with Flash 9 and DSL. I get the _exact_ same errors that 2.6 kernels get that are solved with some patches to nspluginwrapper. One good thing is that Firefox does not crash or lock up when flash/nspluginwrapper crashes. If it can work, I will post an nspluginwrapper extension.
Posted by WDef on June 01 2008,15:29I have been able to get away with Flash7 mostly well enough thus far, but that is changing rapidly. Lately I am hitting more and more sites than insist on a newer flash version. Adobe Flash really has a huge dissemination in the marketplace (installed on the vast majority of PCs) and is the de facto standard for a lot of this web media stuff, whether we like it or not.
Google docs recently told me it wanted a newer flash for the chat program, but otherwise worked ok.
Adobe have recently opened up a lot more of the flash code base and I believe they have dropped fees to purchase the source code, probably partly in response to the need to get flash running on different CPUs like Atom. Previously vendors who wanted to get Flash running on their platform when it didn't already had to pay Adobe lots of money and then do the port themselves.
Flash9 also has a big problem with hardware video acceleration on some platforms making it lousy for full screen playback. I don't know if Flash10 fixes that yet, it certainly doesn't on Atom/Poulsbo since I know that has been tried and by who.
The place to check on progress in Gnash is their changelog/news, not the user docs. That is where I learned 12 months ago that they already supported many features of Flash9.
Jason sounds like he might possibly be a correct bear about NPTL, which for the mainline kernel means 2.6.xx.
Googling suggests that Red Hat had a patch for NPTL for 2.4.21, but there does not seem to be a patch for 2.4.31.
< http://linux.derkeiler.com/Mailing-Lists/Kernel/2005-10/5912.html >
Jason: what version is your Sarge 2.4xx kernel - can you look it up and work out if it has been patched for NPTL?
Posted by Jason W on June 01 2008,16:07Wdef,
It is the regular 2.4.27-4-686 kernel that comes with Sarge. I first thought it was the SMP kernel in DSL that was making the issue. But in Sarge flash 9 works flawless with both the regular and SMP 2.4.27 kernel. So it does not seem to be the SMP kernel. I am using Sarge's GTK2 environment as well so I will try Sarge with the gtk+-2.12.9 extension and see if it is a gtk issue. I will try Sarge with our 2.4.31 kernel when I get home and see how that goes too. I am not yet going to chalk this one up to glibc differences, that was just a hunch.
I had given a go this week at compiling gnash and swfdec. They have a lot of dependencies but an open source flash player would be nice to have in the extension area. At work, gotta go.
Posted by jpeters on June 01 2008,17:49
Still, it's rather amazing how far its come in a few years. You can play streaming video in a 5.25" window perfectly synced on an old Dell Laptop with no buffering pauses in full color resolution. Remember the distorted 1.5" videos that paused every few seconds for buffering with the mouth gestures a second behind the sound ?
Posted by WDef on June 01 2008,21:11
What I meant was Debian usually patch their kernels. They're not vanilla kernels. They might (?) have applied an NPTL patch, but they will have documented this somewhere so it should be possible to determine if that is so.
Posted by WDef on June 01 2008,21:30Done a quick google, can't find any reference to that kernel in Sarge having NPTL, seems unlikely.
That might be a red herring I think.
Hopefully you can work out what the difference between the two systems vis a vis Flash.
Building a gnash extension sounds useful though.
btw, I had a a Sarge install years ago, maybe it was a respin, but I thought I had a 2.6.xx kernel.
Posted by Jason W on June 02 2008,14:54Update:
Flash 9 works perfectly in Sarge with our 2.4.31 kernel and the gtk+-2.12.9 extension. And nspluginwrapper has nothing to do with it, flash 9.0.124 is stable without it in Sarge. And obviously NPTL/TLS is not the culprit. So the 2.6 kernel may not be so much what helps, just that 2.6 systems have mystery lib(s)/app(s) that are more up to date and are compatible with flash 9. And glibc that is built with support for 2.6 kernels only makes use of those threading features when actually running a 2.6 kernel if I read up on it right.
Flash 9 works in DSL now for some images and animations that are not streamed. Streaming video is where the heart of the problem lies. Nspluginwrapper was crashing because flash was in that circumstance. I used the Xorg/XFree extensions to no avail, so X and its libs do not seem to be the problem.
Pretty much I will update libs one at a time on a DSL HD install until I find the culprit if my hunch is correct. I will make an extension for nspluginwrapper anyway, since it is good insurance to keep Firefox from crashing like it normally would in case flash dies.
Posted by Jason W on June 03 2008,09:29Well, the culprit was glibc after all. I made a .dsl out of Sarge's libc6 and now I am watching youtube videos to my hearts content with flash 9.0.124 and Firefox 126.96.36.199. The glibc in Sarge is of course the same version number as in DSL (2.3.2), but with all the gazillion patches that have been applied to it by now I reckon somewhere in there was the added stuff to be compatible with the latest flash. The exact package is libc6_2.3.2.ds1-22sarge6_i386.deb. Either making it into a .dsl or simply using "dpkg --force-all -i libc6_2.3.2.ds1-22sarge6_i386.deb" works the same. It is a bit of a hack, but nothing appears to be broken by doing this. And the glibc related commands seem to work ok. I do not get any system errors with anything I do so far.
The extensions needed besides libc6 are dsl-dpkg.dsl, gnu-utils.dsl, alsa4dslv2.dsl, and one of the full size gtk2 extensions. Even though all seems well with this approach, try first with a live cd before using it on a hard drive install.
Posted by lucky13 on June 03 2008,11:54
I'm curious if you've tried running other things that should, might, or are already known to break against the version of glibc DSL has, such as more recent (Sarge+) apps from Debian or recent builds of GTK1 Firefox/Bon Echo from lamarelle.org.
I'm a little surprised by this -- an uncompressed difference of only ~14kb for libc itself despite a "gazillion" or however many patches it has had. This is what DSL currently has:
-rwxr-xr-x 1 root root 1230864 Jun 25 2005 /lib/libc-2.3.2.so
...and this is in the Sarge version you said you used:
-rwxr-xr-x 1 root root 1244752 Mar 5 2007 libc-2.3.2.so
Much of the rest of it is also appears to be fairly close to the same size of the DSL versions, at least what I looked at. I'll double check the sizes and play around with it more later today, maybe test on my hard drive install since I've decided to reinstall with 4.4 when it hits release anyway.
Posted by Jason W on June 03 2008,12:17I noticed the very small size difference between DSL's libc6 files and the ones from Sarge too. I will revisit some of the other apps that were unable to run for me on DSL such as BOINC (it was spitting out a lot of strange errors when I tried it a couple weeks ago). And perhaps some other newer debs or source compiles may work that didn't before. Libc6-dev may well be needed for the compiling.
I was only able to test drive libc6 for about 30 minutes before going to work but I did not see the first error with any apps/commands or while watching flash videos the whole time. I will play with this more when I get home tonight but hopefully it will just work as it seems to.
EDIT: I am sure compiling against Sarge's libc6 will be the real test.
Posted by curaga on June 03 2008,12:29Wow, their patches total to 1.8MB gzipped, 8.6MB unpacked..
Posted by jpeters on June 03 2008,18:19So how do you install the deb file? I unpacked it, and get two files: control.tar.gz and control.tar.gz What now? Thanks.
Posted by ^thehatsrule^ on June 03 2008,18:29jpeters: read jason's post to install it or convert it
Jason W: nice work on figuring that out!
I think most of us had the suspicion that it was glibc but never actually tried to install it though.
I wonder if this is the cause of various other problems...
If doing this doesn't break currently working things, then maybe it should be replaced in the base. If not, maybe doing something like LD_LIBRARY_PATH, etc. for the browser would be fine.
Posted by jpeters on June 03 2008,19:04
I tried "dpkg ..... " and got no packages available.
I ran deb2dsl which created a dsl extension from the deb package (if that is the way to do it?) , but FF still crashed with flash 9.
Edit: Okay...flash 9 is running, but without sound (it needed alsa4 to stop crashing). I'll keep experimenting.
Posted by curaga on June 03 2008,19:51Even with the far-away Debian roots I'd prefer 2.3.6 vanilla compiled rather than 2.3.2 patched here, there and a little over as a binary..
Or we could just wait for the tiny core
Posted by Jason W on June 03 2008,19:57jpeters,
Flash should not fail or crash just because alsa is not set up, it will just play video silently. At least that is what I have read as well as experienced.
Also, you did have the .deb installed before you ran the deb2dsl script, right? If not, it will not work right. In fact, since files of the same name that are in the libc6**.deb are already in the base system, the script will probably just package up the files from the base system into the .dsl rather than from the .deb. That is since the script fetches the files from the system and not from the .deb. The simple way I do it is this, and it is in the book I believe as well. Starting in the same directory as my libc6**.deb file:
# mkdir 1
# dpkg -x libc6**.deb 1
# cd 1
# find . > /tmp/libc6.list
# tar -T /tmp/libc6.list -czvf /tmp/libc6.dsl
I am sure there are other/better ways of doing that, and I am away from my machine and such but that should work if memory serves.
Of course, this is a quick and dirty hack to get flash playing. Making an updated glibc for an extension would need to be done the right way with a much more thought out process, even if this does just work.
Posted by lucky13 on June 03 2008,22:04
I did basically what you did with a temp directory and dpkg -x. Then I tarred the following from within my temp directory:
I included zoneinfo just to err on the side of caution because its size was different from what's in DSL; I wonder if that can be left out altogether or if there's anything linked that would break (I presume the tz-data you use should be valid as long as it's in the same place regardless of libc -- anyone know for sure?). I left out man, docs, etc. FWIW:
% du -h --max-depth=1 usr/share
DSL's zoneinfo is:
% du -h --max-depth=0 /usr/share/zoneinfo
-rw-r--r-- 1 dsl staff 4358395 Jun 3 07:18 libc-sarge.dsl
I'd really like to remove zone data if I can to get it smaller -- might experiment with it if nobody tells me I either need it or don't. Haven't had time to test yet, might get to later tonight or in the morning before work.
Posted by jpeters on June 03 2008,23:27
..that and all the docs, man files, etc. Also probably good to delete directory files from the find list. Mine still crashes, however. I think I did better just copying over lib files; at least it wasn't crashing before I rebooted. I think I'm out of luck anyway, because ALSA has always shut down my sound card.
Posted by lucky13 on June 03 2008,23:43
Quoting myself: "I left out man, docs, etc."
Posted by Jason W on June 04 2008,00:04jpeters,
I had a typo, should be
# find . -not -type d > /tmp/libc6.list
I snuck in my post at work and didn't list all the steps. Here is the .dsl that works here if anyone who is new to DSL would like to give it a try. It is basically the full package minus any empty directories if there were any:
EDIT: Use the libc6-2.3.2-22sarge6.dsl extension in the testing area.
Posted by jpeters on June 04 2008,04:03For some reason, I get a crash unless ALSA is loaded...thus I suspect it contains libraries that flash 9 requires. Unfortunately, alsa conflicts with my soundcard, so the tradeoff is no sound.
Posted by Jason W on June 04 2008,04:15I know this is a very simple question, and I am sure you already have covered these bases, but did you boot with the alsa cheatcode, or remove the loaded oss modules first before running alsaconf? I have not had flash crash due to lack of sound, but I do not have your hardware configuration either. Also, which sound card do you have?
EDIT: Actually, I did have a freeze when I opened Firefox to play a Youtube video when I already had Xine running. But that was the only circumstance that Flash has even hiccuped so far.
Posted by jpeters on June 04 2008,05:45I have a maestro-3i soundcard in a Dell latitude laptop. I tried removing the ac97_codec module, but it was busy; I reloaded anyway with modprobe.
Yes, I booted with "alsa" which reported "alsa(autodetect)". I also loaded the oss emulator, and at least xmms works now (it didn't previously). I'm getting a lot of alsa snd-function lib errors when running flash 9, because it can't find the files or directiory.
alsaconf reports it can't find the card database.
There's probably a way to set this up correctly, but I'll have to put it on back burner until I have time to do more research.
Edit: It appears the ESS driver is problematic (such as allowing only one stream), although there is a maestro3 alsa driver. Maybe it's not in the alsa4 extension?
edit2: can't find any of the snd modules: ie, modprobe snd-card-maestro3, snd-mixer-oss, snd-seq-oss, etc.)
"modinfo soundcore" correctly lists core sound module.
Posted by Jason W on June 04 2008,10:34One more thing, if you are using DSL 4.x are you using the alsa4dslv2.dsl that is in testing? Because the one in the system area has bad permissions in /lib/modules and will probably not work as is, at least it did not for me. That is why it was updated recently.
Posted by jpeters on June 04 2008,13:14yes...
Posted by Jason W on June 04 2008,22:12I just now saw that there is a libc6.dsl in the extensions area. version 6_2.3.2.ds1-22_i386.deb. I am curious if that is the one that is now in the base system. I will try it out when I get home, it was right there and I didn't see it. I am going to build glibc 2.3.2 vanilla and see how it works, to see if these errors and such are just simply from 2.3.2 being an older release, which is probably the case.
EDIT: The installed version in DSL seems to be libc6-ds1-10, also a debian package. And I have not had a good experience using the libc6.dsl from the extension area, I was going to test it with Firefox/Flash but xterm would not launch when I had the same gtk2/alsa extensions loaded that work ok otherwise.
Posted by curaga on June 05 2008,14:45Perhaps this sheds some light:
< http://forums.gentoo.org/viewtopic.php?p=285261 >
According to it when glibc 2.3.2 came it broke a lot of stuff. Because of this, Jason you should try 2.3.6 instead, it's at least known to be working fine in several distros.
Posted by Jason W on June 05 2008,15:45Thanks curaga. I had stopped at building 2.3.2 from source since your last post is not the first time that I read of 2.3.2 being buggy in and of itself. And with the 2.3.2 in base DSL appears to be a Debian package, it surely has some patches and fixes that the bare source would not. Just evidently not as much patching/fixing as in the latest Sarge version updated as of last year. And this latest Sarge version seems to have bugfixing that has been backported from the later releases of glibc.
If I make a go at building a glibc I will build 2.3.6 since by all accounts it seems pretty mature and stable. But Sarge's 2.3.2 is only a few kilobytes larger than the libc6 in base DSL. And with Flash, BOINC, and the compiling that I have done the last couple days, Sarge's libc6 seems very solid and compatible with some newer things. I have put my machine to the test and I have not seen any issues arising from the updated libc6.
It would be nice to see how 2.3.6 would perform, and perhaps I will build it in the next coming weeks to test drive. It would be nice to keep around for those apps that would require it and no less.
EDIT: Getting off topic, but I am running Firefox 3 RC2 now that I also installed a couple of other Sarge debs - libgcc1, and libstdc++6. Some newer stuff could be run with these libs, but Swiftfox requires a newer glibc. But the gtk1 build of Firefox from lamarelle.org does work. And those two .deb packages are only about 400kb compressed, with the docs and man pages and all. I think an extension of these libs would be handy.
Posted by WDef on June 07 2008,10:24$0.02: If it doesn't appear to break anything, I think it would be great if dsl's glibc was replaced with Sarge's.
I only wish someone had worked this out earlier. Thanks Jason.
Posted by jpeters on June 07 2008,15:30
Yes, definite improvement. Now if I can only get some sound. It seems alsa4 doesn't load my alsaconf.cards, so there's no /var/tmp directory (which alsaconf looks for).