opera 12 issues

just installed opera 12, and rolled it back right away. this is not a stable version.
issues: toolbars (specifically main-menu), multimedia (flash videos), indic fonts (malayalam?)

opera 12.00 starts up with a useless empty bar on top with just one button, wasting screen estate. see image below.

don't bother trawling through the opera forums, as opera developers seem to be windows kiddies. after eating some more of my leftover hair, i find a workaround. go to

Opera -> Settings -> Preferences -> Advanced -> Tabs -> Additional Tab Options -> Show close button on each tab (enable)

this is not ideal, as now every tab has an unnecessary " x" at the end. but is better than an empty line of wasted screen estate.

the next issue is flash. i just can't play any videos. instead i see an empty static black box, where the video is supposed to be. no buttons, no clicks, ...nothing. like this

opera 12 has "Experimental hardware acceleration WebGL support" which need to be activated by enabling two settings in opera:config, ie set them to 1 (autodetect), or 2 (on). they are initially set to 0 (disabled).
opera:config#UserPrefs|EnableHardwareAcceleration and opera:config#UserPrefs|EnableWebGL

i play with different combinations of these settings wondering if these were the cause of my youtube problems. but every permutation i try gives me the same static black box in youtube.

back to opera forums "Opera for *nix - Linux/FreeBSD", and the first sticky is this post: Flash problems on Linux?
it seems a bit dated for 14/12/2009, but as opera lists this at the top, i expect this to be current. so i trawl through this, and do what it asks:

$ find / -name 'libflashplayer.so' 2> /dev/null

$ ldd /usr/lib/flashplugin-nonfree/libflashplayer.so
linux-vdso.so.1 => (0x00007fff560a7000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fda2350f000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fda232fc000)
libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007fda23094000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fda22df5000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fda22bbe000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fda229a1000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fda22799000)
libgtk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 (0x00007fda22158000)
libgdk-x11-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 (0x00007fda21ea3000)
libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007fda21c80000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007fda21a55000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007fda21834000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007fda21627000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fda2132c000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007fda210de000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fda20e8e000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fda20c8a000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fda20992000)
libssl3.so => /usr/lib/x86_64-linux-gnu/libssl3.so (0x00007fda20751000)
libsmime3.so => /usr/lib/x86_64-linux-gnu/libsmime3.so (0x00007fda20524000)
libnss3.so => /usr/lib/x86_64-linux-gnu/libnss3.so (0x00007fda201e7000)
libnssutil3.so => /usr/lib/x86_64-linux-gnu/libnssutil3.so (0x00007fda1ffc1000)
libplds4.so => /usr/lib/x86_64-linux-gnu/libplds4.so (0x00007fda1fdbd000)
libplc4.so => /usr/lib/x86_64-linux-gnu/libplc4.so (0x00007fda1fbb7000)
libnspr4.so => /usr/lib/x86_64-linux-gnu/libnspr4.so (0x00007fda1f978000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fda1f774000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fda1f4f1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fda1f16a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fda24d48000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fda1ef4a000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fda1ed42000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fda1eb27000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fda1e910000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fda1e6e5000)
libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007fda1e4e3000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fda1e2e1000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fda1e0da000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fda1dd88000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fda1db86000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fda1d97c000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fda1d77a000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fda1d56a000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fda1d362000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fda1d158000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fda1cf30000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fda1cca9000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fda1caa5000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fda1c89b000)
libffi.so.5 => /usr/lib/x86_64-linux-gnu/libffi.so.5 (0x00007fda1c68d000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fda1c450000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fda1c24c000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fda1c047000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fda1be42000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fda1bc21000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fda1ba0b000)

at this point, i give up on that post and go back to troubleshooting on my own.

http://youtube.com/html5 tells me this:

What does my browser support?
Video tag [y], h.264[!], WebM [!]

Note the answer to the above question, when a few lines above it says that Opera 10.6+ supports WebM. What does [!] mean?

opera:plugins lists all plug-ins and their status.

then i wonder, if youtube has any other issues. so i uninstall opera 12.00, reinstall opera 11.64, and try youtube. voila... it works! so it has to be opera 12 and not anything else on my system!

update: for now, i have installed opera 12.00 & 11.64 side-by-side on the same system. i don't seem to have the above issues on 11.64. so i guess, i'll continue using 11.64 for now.

i'm still sticking with opera, as i find it to be lean, small & fast, when all the others are going bloatware. i only use iceweasel (firefox, for the uninitiated ;-) when opera doesn't suffice. for eg, when i need to work with indic fonts, which opera won't render properly.

reclaiming android foss

i am gradually removing google apps, as they continue to bloat.

if you are looking to buy a new phone, i will only recommend those phones which have a sizable open-source developer community behind it. if you don't want to end up with a paperweight, do not buy any phones, which can't be hacked!

cyanogenmod logo
the first thing i do when i get an android phone is to remove the stock android firmware, wipe it and replace it with a custom mod. all spurious apps and bells n whistles like wallpapers, bootanims, startup music are purged. no wallpapers, black background, set most apps with black background. any apps becoming bloatware are immediately replaced with smaller, leaner & more focussed apps.

this should make your battery last a lot longer. note that, you have to remove/purge these default apps to get any benefit. always keep backups!

f-droid logo
google play store is simply not suitable for a phone, perhaps for a desktop or even a tablet. use foss alternatives, which supply foss apps. you will have apps with vetted source codes. no hidden surprises in code.

android foss repository has a client app. download fdroid.apk and install it. it lists each app version with size, and allows you to install any (older) version. if an open source app is not listed in the f-droid repos, you can suggest it to be added. you can also add custom repos, and/or disable the default f-droid repos.

for eg. to add the guardian project's repo. do
Menu -> Manage Repos -> New Repository -> https://guardianproject.info/repo/
Menu -> Update

some other bloatwares can be replaced as under:

google maps: navfree world, waze
google books: wordoholic reader (ebooks from pg)
gmail: k9-mail
google calendar: calendar pad
browser: zirco browser, opera mini
google drive: skydrive for android
gallery: quickpic
google reader: sparse rss
facebook: browser (no app)
twitter: cheepcheep, tweetsride

android roadmap?

i'm not sure which way google are going, but they seem to want to turn the android into a desktop os, rather than a handheld os. google are doing to android, what microsoft did to windows.. make it bloatware & proprietary locking everyone out, till people give up on it.

i can still install and use windows 95 on that old hardware. i might not be able to install the latest software versions, but i can install those versions which came along at that time, and use them just fine. but like newer versions of windows demanding ever increasing hardware requirements just to exist, every android release seems to demand bigger and more expensive hardware. and any older hardware would just not function.

google's sustainability strategy is not translating into actual practice!

google market has been replaced with google play store, mimicking apple store. the older market app which came on your phone will not work. market started out as a small and sleek app, which progressively kept growing bigger, and the newer google toys will not even install on older android phones. and if it does fit, you would need to delete all your other apps to make space for this google garbage. why would anyone even think of watching movies on an old android phone? if only google allowed the older market app versions which came on the older phones to connect, people could continue using those older android phones. but google, in it's infinite wisdom will not allow even their own older apps to function, rendering all older android devices useless.

don't get me wrong, i am not saying that all the older phones should work with the latest apps. but the phones, which we bought a few years ago, should work as they did at that time. but google won't allow them to connect to market, maps, contact, calender, and anything else on the network. so you could use them, but not as a smartphone. which begs the question, why would you not rather use a non-smartphone, if you only need to make calls/sms, as they would have much better battery life.

the only silver lining here is the google strategy remaining officially open source. the bad news is none of their apps are. google apps have become proprietary closed-source bloatware. from initial app size of a few kb to the current many mb, google apps are growing without restriction. and this is hitting a crunch point.

my mobile phone does not have unlimited disk space, memory or battery. although i have unlimited net, at some point it will not be, and i need to prep for it. so i need lean focussed apps, than all-in-one behemoths running in the background all the time without my explicit permission.

google maps started out so well, that i was using it to the point of excluding everything else. now google maps is more focussed on bells n whistles than making its core functionality more efficient. bells n whistles that i have no need of. so, out goes google maps from my phone. likewise with gmail, google play store, etc. market was a lean app, which has now become play store with books, movies and billboard advertisements. do i really need that on my phone?

android permissions are out of control. seemingly any app can request and is allowed any permissions it asks for, not necessarily what the app actually needs, or the user would actually want to allow. and the user has no idea. there are apps which start at boot (read almost all), and want to keep running all the time. user be damned! in a mobile phone, the most important resource is the battery. anything that can potentially drain it, is malware!

i look forward to more choice on my mobile phone, like on my computer. the primary requirement is open source, using minimal diskpace & memory. idle battery use should be ~nil, which would preclude covert background tasks/activities. i still wait for emdebian to mature.

mobile linux is gaining momentum, but i don't think they are on the right road. if their starting point is firefox, gnome and/or ubuntu, they are a long way ahead from being lean. firefox bloatware used so much space, that i promptly removed it from my phone. i have no idea what kind of hardware the developers work with! perhaps they use their pc for development/testing and expect their apps to behave the same of phones with much lesser hardware specs...

most popular posts