Wednesday, April 3, 2013

32-bit Ghost Still Haunts on Linux Desktop

People hear something about computers and repeat it mindlessly without understanding the world around them. One such example is the support for 32-bit architecture. For them a home desktop performs better on any 32-bit OS + native 32-bit applications than their 64-bit counterparts, and the user should restrict to it. It's somewhat true if that mythical user never goes beyond web browsers, word processors and media players. That's very much it. If he/she jumps into some database work, media encoding and some other CPU-intensive task, the power of 64-bit shows. It almost revolves circles around 32-bit thingy.

So, what's holding 64-bit arch from replacing everything 32-bit? There are many reasons; the two most important ones are - 1) there are many 32-bit hardware still scattered around, and 2) very crucial of all, people have developed an adamant inertia for 32-bit. They'll keep sticking to it. That's why some popular software come in 32-bit only, such as Skype, Teamviewer (I know there's a 64-bit version, but inside it's still 32-bit, 64-bit is only the wrapper) and AnyConnect. Good news is - on Windows 64-bit one can easily enjoy the mix of 64-bit and 32-bit applications.

 #1 Windows is targeted squarely by all the ISVs at its vast userbase, and
 #2 Microsoft through its skilled developer base is able to feed and keep alive an old dinosaur of 32-bit libraries and compatibility layers inside 64-bit OS versions to support both the arches ensuring that point-n-click usability.

On Linux desktop, 64-bit architecture has it's own set of irritants. And when you try to run a mix of 64- and 32-bit apps it misbehaves. There are some endeavors like multi-arch in Debian, but it's still not there.

On my CentOS-Windows (both 64-bit) dual-boot home pc, it was an uphill task to install some 32-bit-only applications on CentOS, whereas on Windows it was like a breeze.

32-Bit (Un)Success story and some How-To's

Showstoppers: Cisco AnyConnect, Teamviewer, Skype

Unresolved: Cisco AnyConnect. It installs quite well, but doesn't work at all. Looking for a workaround using OpenConnect. You may suggest your fixes, if any.
Installed/Fully resolved: Teamviewer (yum localinstall Teamviewer.rpm or whatever the name of that 32-bit rpm, it will pull in a few 32-bit dependencies)
Partially resolved: An old version of Skype (thanks CentOS Wiki, resolved partially, because you never know when the next update will break it all.

Skype installation procedure:

The latest version doesn't work. Please download a bit older static build (mentioned below) that's still available.

     yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXrender.i686 fontconfig.i686 pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686 libv4l.i686

        cd /tmp

        cd /opt
     tar xjvf /tmp/skype_static-
     rm /tmp/skype_static-
     ln -s skype_staticQT- skype
     ln -s /opt/skype /usr/share/skype
     ln -s /usr/lib/ /usr/lib/
     ln -s /opt/skype/skype /usr/bin/skype
     LD_PRELOAD=/usr/lib/libv4l/ /opt/skype/skype

That's it!

Share your thoughts