Adobe software on Linux

This is the first in a series on things that don’t work right.

Fedora 7 is the latest release of Linux in the Red Hat line. It includes the 2.6.21 kernel, which has kernel-resident KVM virtual machine support, Firefox 2, and the latest versions of the Gnu toolchain and all that. It’s the first Linux that’s seemed to me like a credible alternative to Windows for general-purpose desktop use, but it’s got some problems. My first shot at installation was on an Asrock ConRoe1333-DVI/H R2.0 motherboard, which uses an Intel chipset and has on-board video with DVI, in the form of the Intel Graphics Media Accelerator 950. Intel is alleged to be super-supportive of open source, so I expected this configuration to work even though it breaks the one-year rule (never install Linux on hardware less than one year old.) Installation was smooth, but when the system booted I got a black screen.

So no problem, I put Windows on that machine and moved on to an MSI K9AGM2-FIH motherboard. Like the Asrock, it has on-board video and support for a dual-core CPU, but it uses the AMD/ATI Radeon X1250 graphics controller. Both motherboards support HDCP so they’ll be usable with the new Blu-Ray drive from Pioneer that’s supposed to be here any day now. Installation on the MSI was easy, and unlike the Intel motherboard, it actually ran. The system doesn’t know what to do with the Radeon yet, but that’s another story.

As soon as you have an operating system, the next thing you want to do is get to the web, and that’s where things get interesting. Like most people, I use Adobe Acrobat and the Adobe Flash player, but neither of them is up to snuff for Linux.

Acrobat has a bug that makes it go hard loop on any computer with the latest version of GTK, one of the graphics libraries it uses. It’s a simple bug to fix, requiring a one-character change in the /usr/bin/acroread script, but Adobe hasn’t figured out how to do it and in fact has re-released the same bug several times. It’s simply a matter of changing this line:

echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]\)00.
\([0-9]*\)\|\(.*\)/\1\2\3/g'

to this line:

echo $mfile| sed 's/libgtk-x11-\([0-9]*\).0.so.0.\([0-9]*\)00.
\([0-9]*\)\|\(.*\)/\1\2\3/g'

Can you see the difference? right after the middle of the line there’s an extra ‘*’ after one of the [0-9]’s. That’s not too hard, is it? Of course not, any moron can fix that.

Now the situation with the Flash player is a little more interesting. These new AMD and Intel processors have 64-bit instructions, so Linux has both 32-bit versions and 64-bit versions. For most applications, supporting 64-bit Linux is simply a re-compile with the 64-bit flag turned on. This is too much for Adobe to handle, so they only offer Flash in a 32-bit version. Since this is the tool that plays YouTube, it seems like a nice thing to have. But what happens if you install the Flash plugin for Firefox on 64-bit Linux is interesting: Firefox doesn’t see it, and you’re nagged to install it again, and again, until your patience runs out.

It turns out the issue here is that Fedora 7 includes both the 32-bit and the 64-bit versions of Firefox, in different locations. The basic /usr/bin/firefox is a script, and it runs code out of /usr/lib or /usr/lib64 as appropriate. The Flash plugin goes into the 32-bit code library, but as you’re running the 64-bit code you never see it. So the solution is to erase Firefox from your system:

sudo yum erase firefox*

and install the 32-bit version only:

sudo yum install firefox.i386*

Then your Flash install will work (after you repeat it), but now you’ve got yet another problem, as all the plugins that have real 64-bit versions aren’t going to run, so you have to play more games to get things like Java running under a 32-bit plugin. …install a nice little wrapper that allows you to run 32-bit plugins under 64-bit binaries.

More on that later, but for now Adobe is officially inept at Linux.

One thought on “Adobe software on Linux”

Leave a Reply

Your email address will not be published. Required fields are marked *