N900 Flash Plugin


Well, you atleast have this thread as reference of what (potentially useless) libs you've tossed in there

also, entire my entire /usr/lib/ folder, minus QT libs comes in about 40mb:

http://rwx.ca/websight/libspam.zip
 
haha yeah, i wanna get them all in there fast so we can see if it even works once all deps have been covered (if ever!)
if it does, ill figure out which are really needed, and see if im leet enogh to make a pnd.

btw, libtracker.so.0 :)

ah, saw your edit now, getting it.
 
As far as I know (and have been told many times now) it can be made to work.

It's still piracy though and Nokia no doubt would not be happy (if they care).
 
SomeGuy99 said:
I look forward to this torrent.

haha, good one :D

Edit: i got as far as adding these:

libosso.so.1
libhildonfm.so.2
libhildon-1.so.0
libhildonthumbnail.so.0
libhildonmime.so.0
libtrackerclient.so.0
libcanberra.so.0

then i get /usr/lib/libhildon-1.so.0: undefinedsymbol: hildon_ui_mode_get_type

whatnow? add the other hildon files with same name but different numbers as well?
 
Last edited by a moderator:
It seems the plugin is looking for some GTK definitions or something? The plugin seems dependent on the Maemo UI.

Too much for my knowledge.
 
yep, lets have a rest now, haha
google throws this: http://www.google.se/search?q=hildon_ui_mode_get_type
any clue, anyone? :)
 
Why not just run:
ldd [the .so]
and get list of dependencies instead?

If I had some time I would write a perl/bash script that would ldd every .so that came back till the dependency list didn't grow, then make a bz2 out of that list.

Update:

Ran this on my ARMv5 wall-wart and got:
libdl.so.2 => /lib/libdl.so.2 (0x40757000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x40762000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x4084e000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x40865000)
libz.so.1 => /lib/libz.so.1 (0x408bb000)
libcurl.so.4 => not found
libgstreamer-0.10.so.0 => /usr/lib/libgstreamer-0.10.so.0 (0x408d8000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x40994000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0x40ac2000)
libosso.so.1 => not found
libplayback-1.so.0 => not found
libhildonfm.so.2 => not found
libgnomevfs-2.so.0 => not found
libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0x40b23000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x40b5b000)
librt.so.1 => /lib/librt.so.1 (0x40b68000)
libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x40b77000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x40b9b000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40bd6000)
libhildon-1.so.0 => not found
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x40bf5000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x40f7f000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x41010000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x4102a000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x4109a000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x410ca000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x410e4000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x410f9000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x41172000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x411bb000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x41227000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x41259000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4129f000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x412ac000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x41369000)
libm.so.6 => /lib/libm.so.6 (0x41441000)
libc.so.6 => /lib/libc.so.6 (0x414ee000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4161d000)
/lib/ld-linux.so.3 (0x2a000000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x41632000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x41650000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x4165b000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x41669000)
libcap.so.2 => /lib/libcap.so.2 (0x41686000)
libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x41692000)
libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0x416a1000)
libpcre.so.3 => /lib/libpcre.so.3 (0x416f9000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x4172e000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x41740000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x4174a000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x4175c000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x4176b000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x4177b000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x41786000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x41790000)
libselinux.so.1 => /lib/libselinux.so.1 (0x4179d000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x417bc000)
libdirectfb-1.0.so.0 => /usr/lib/libdirectfb-1.0.so.0 (0x417f4000)
libfusion-1.0.so.0 => /usr/lib/libfusion-1.0.so.0 (0x4185a000)
libdirect-1.0.so.0 => /usr/lib/libdirect-1.0.so.0 (0x41868000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x41884000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x418ad000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x418b9000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x418c8000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x418eb000)
libuuid.so.1 => /lib/libuuid.so.1 (0x418f8000)
libattr.so.1 => /lib/libattr.so.1 (0x41905000)
but I am lazy
ldd libflashplayer.so | grep "not found"
libcurl.so.4 => not found
libosso.so.1 => not found
libplayback-1.so.0 => not found
libhildonfm.so.2 => not found
libgnomevfs-2.so.0 => not found
libhildon-1.so.0 => not found
 
Nod51 said:
Why not just run:
ldd [the .so]
and get list of dependencies instead?

If I had some time I would write a perl/bash script that would ldd every .so that came back till the dependency list didn't grow, then make a bz2 out of that list.

Update:

"..wall of text.."

but I am lazy
ldd libflashplayer.so | grep "not found"
libcurl.so.4 => not found
libosso.so.1 => not found
libplayback-1.so.0 => not found
libhildonfm.so.2 => not found
libgnomevfs-2.so.0 => not found
libhildon-1.so.0 => not found

on my pandora: ldd: Command not found :)
 
Last edited by a moderator:
GizmoTheGreen said:
Nod51 said:
Why not just run:
ldd [the .so]
and get list of dependencies instead?

If I had some time I would write a perl/bash script that would ldd every .so that came back till the dependency list didn't grow, then make a bz2 out of that list.

Update:

"..wall of text.."

but I am lazy
ldd libflashplayer.so | grep "not found"
libcurl.so.4 => not found
libosso.so.1 => not found
libplayback-1.so.0 => not found
libhildonfm.so.2 => not found
libgnomevfs-2.so.0 => not found
libhildon-1.so.0 => not found

on my pandora: ldd: Command not found :)

Then:

opkg install ldd


hopefully enough room on the NAND... currently Pandora-less.. works on my beagleboard running angstrom.
 
Last edited by a moderator:
htl2001 said:
http://smokescreen.us/

also, why is this depending on gvfs?

nope, ldd libflashplayer.so yields no errors
got all the deps it seems, just that the libhildon seems to not work on the pandora...
 
Last edited by a moderator:
agg sorry for the extremely long post, should have made it hidden but I had to check out of the hotel room in Texas and head back to Arkansas (and was reminded of the Pandora when I passed TI) and had never done hidden before.

ldd should not result in an error (other then it not being installed or wrong arch) but if you see any "not found" you need to report those here. for every .so you are given please do an ldd on it too and report any not found. It doesn't eliminate the "x.so is missing please send it" problem but it does allow more than 1 problem at a time.

I am a debian user but my OpenWRT router uses opkg (if it is the same one...) anyhow, try the following:

libcurl.so.4:
run: opkg search libcurl
if there are any matches run: opkg install [whatever looks like what has curl and a 4 in it, else guess]

libosso.so.1 => not found
run: opkg search osso
if there are any matches run: opkg install [whatever looks like it will provide libosso, in Debian there is a libosso1 package]

(from now on I assume you see a pattern so I will just comment)

libplayback-1.so.0 => not found
I didn't find this in Debian, but follow the run and if from above

lib.so.2 => not found
not found for me...

libgnomevfs-2.so.0 => not found
Debian has libgnomevfs2-bin, that might be it...

libhildon-1.so.0 => not found
Debian has libhildon-1-0

Please try to use the libs compiled for the Pandora OS as much as possible and the good thing is if those libs have dependencies opkg will automatically pull them in for you.

Now the ones I didn't find you may find on the Pandora and other way around. If you do not find them please get them from the N900 and ldd each of then to see what else is not found. Search opkg first, rinse and repeat till everything is found.

*cross fingers that there is no proprietary GUI lib tie in*
 
Poison_Apple9agDetail.png


Pictures are worth a thousand words. I really don't think we'll need flash for long, but I think it would be cool to watch hulu in the mean time. Hopefully Nokia doesn't get too mad.
 
sebt3 said:
Nod51 said:
*cross fingers that there is no proprietary GUI lib tie in*
... Like flash ?


OK --->[]

TBO supporting HTML5 over flash is one of the few things I side with Apple on. I am hoping with projects like http://smokescreen.us/demos/sb45demo.html that the flash player as we know it will die, but the flash format will live on in an 'open standard'. I have heard that Android went from one of the fastest mobile browsers to the slowest when flash was enabled. Still, I am just trying to help out fixing a problem while hitting f5 on my email and seeing one line posts about missing 1 shared object is possibly going to be very common problem here. When you use something like opkg to manage dependencies it 'should' pull in all the libs you will need. As much as I would like to make a opkg repository with the N900 flash .so that has a list of dependencies there is still a big legal issue. In the end I am hoping it can just be a bz2 + "run this command to install all dependencies into NAND" by the time my Pandora shows up.
 
Last edited by a moderator:
OSSO might be a bit difficult to work with, seeing as it's very OS specific. It might require most of Maemo to be present. LUCKILY it doesn't need much of libosso, and I'm thinking a lot of it's functionality can be faked to satisfy the library.

Here's a list of function calls it uses:
Code:
paul@yay ~ $ readelf -r libflashplayer.so | grep osso
0063d8fc  00006616 R_ARM_JUMP_SLOT   00000000   osso_hw_set_event_cb
0063da68  0000c116 R_ARM_JUMP_SLOT   00000000   osso_initialize
0063dae4  0000e016 R_ARM_JUMP_SLOT   00000000   osso_hw_unset_event_cb
0063dbac  00011316 R_ARM_JUMP_SLOT   00000000   osso_system_note_dialo
0063dc28  00013316 R_ARM_JUMP_SLOT   00000000   osso_display_blanking_
0063dc60  00014116 R_ARM_JUMP_SLOT   00000000   osso_hw_set_display_ev
0063ddcc  00019d16 R_ARM_JUMP_SLOT   00000000   osso_deinitialize
0063df0c  0001f016 R_ARM_JUMP_SLOT   00000000   osso_display_state_on
0063dfb0  00021a16 R_ARM_JUMP_SLOT   00000000   osso_mem_get_free

And here's an API reference: http://maemo.org/api_refs/4.0/libosso/index.html

It also doesn't use much from hildon either:
Code:
paul@yay ~ $ readelf -r libflashplayer.so | grep hildon
0063d804  00002716 R_ARM_JUMP_SLOT   00000000   hildon_note_new_confir
0063d810  00002a16 R_ARM_JUMP_SLOT   00000000   hildon_gtk_im_context_
0063db28  0000f116 R_ARM_JUMP_SLOT   00000000   hildon_file_chooser_di

Reference: http://maemo.org/api_refs/5.0/5.0-final/hildon/

EDIT:
I did a bit of research and libhildon should work just fine in xfce. It doesn't seem to do much else other than provide custom controls for GTK+. OSSO is a bit more platform-specific, though, so that one might not port over without a lot of modification.
 
fettouhi said:
Hasn't anybody tried gnash, swfdec or lightspark?

gnash is already included with the community codec package, I'll venture that swfdec support is on par with gnash (since it got abandoned) and lightspark requires a graphic card with glsl shaders and OpenGL (not ES) support.

Lightsparks looks promising though, I've always wondered why flash never got any type of hardware acceleration, considering animations and graphics are just vectors, gradients and a couple more of effects that a PS2.0 card should do with ease.

And please no apple/html5 zealots here. Html5 will take years before it actually becomes somewhat well supported and established instead of a mess of evangelists and changing specs. Until then, I'll be expectant of this thread.
 
Last edited by a moderator:
Back
Top