Tuesday, December 26, 2006

reprint of "Howto: Install Firefox 2 and various plugins on Debian Etch"

Okay, this one is old. But I thought I would reprint it here just for my own reference. The original thread is posted on LinuxForums.org
I don't know if anyone is interested, but I found that Debian Etch comes with Firefox 1.5 rather that Firefox 2.0. There has been some talk about Firefox 2.0 rendering pages faster and generally working better than Firefox 1.5. It took me some time to figure out everything needed to get Firefox 2.0 and various plugins installed and running. Here's how I did it.

Bookmark this page

We are going to need some additional repositories other than the basic ones used by a fresh Debian Etch Install. Start your Root Terminal and give roots password. Gnome users click Applications - Accessories - "Root Terminal". You should now have a nice pretty white window that says Terminal at the top.

I found a very easy to use editor for novices, it has a complete menu of all available options. To install this editor type:

debian:/# apt-get install ee
now we are going to edit our sources.list

debian:/# ee /etc/apt/sources.list
The important parts are in bold:

deb http://ftp.us.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free

# Debian Multimedia Repositories

deb http://www.debian-multimedia.org etch main
Now update apt

debian:/# apt-get update
Now that our sources.list has the required repos lets start with Firefox 2.0.

Firefox 2.0 depends on libstdc++5

debian:/# apt-get install libstdc++5

Firefox 2.0 may be available from the debian unstable repo as Iceweasel. However, I elected to go with the official Firefox 2.0. I am in the US and speak English so I use the en-US version of Firefox. Other versions can be found at ftp://ftp.mozilla.org/pub/mozilla.or....0/linux-i686/ pick your locale and substitute into the following code:

debian:/# cd /tmp
debian:/# wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0/linux-i686/en-US/firefox-2.0.tar.gz
Now we need to unpack the archive:

debian:/# cd /opt
debian:/# tar -zxvf /tmp/firefox-2.0.tar.gz
I have seen some warnings that some Firefox 1.5 plugins (namely totem) are supposed to mess with Firefox 2.0. I have not found this to be the case. I have found that some plugins in the Firefox 1.5 directory are simlinks that break if you just copy the files over to the 2.0 directory. Aside from that, dpkg will still install your plugins to the old 1.5 directory. So let's recycle all those plugins from the previous Firefox 1.5 install. We are going to create a symbolic link from the installed Firefox 1.5 plugins directory to our new Firefox 2.0 plugins directory.

debian:/# cd /opt/firefox
debian:/# rm -R plugins
debian:/# ln -s /usr/lib/firefox/plugins /opt/firefox
Now we need to tell debian where to find the new Firefox 2.0

debian:/# ln -sf /opt/firefox/firefox /usr/bin/firefox
debian:/# ln -sf /opt/firefox/firefox /usr/bin/mozilla-firefox
debian:/# ln -sf /opt/firefox/firefox /usr/bin/mozilla
That is all there is to installing Firefox 2.0. You should now be able to click on your Firefox panel icon and find that firefox 2.0 is up and running.

Now let's install some standard plugins.

Sun's Java

Type the following command to install Java from debians contrib repo. You will be asked to accept Sun's license agreement.
debian:/# apt-get install sun-java5-jre sun-java5-fonts sun-java5-plugin
According to Sun's website (https://jdk-distros.dev.java.net/debian.html) "...you may need to choose the Sun JRE as the default with:"

debian:/# update-java-alternatives --set java-1.5.0-sun
After the install is done, you will need to restart Firefox and test the plugin here -> http://java.com/en/download/installed.jsp

When I tested mine the plugin didn't work so I created a link from Sun's Java plugin to Firefox's plugin dir.

debian:/# ln -s /usr/lib/jvm/java-1.5.0-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox/plugins/libjavaplugin_oji.so
Now restart Firefox and retest here -> http://java.com/en/download/installed.jsp

Adobe's Flash Player 9

Now lets install Flash player 9. This install has been made painless by a package thats available in either the contrib or non-free repos.

debian:/# apt-get install flashplugin-nonfree
Restart Firefox and test Flash here -> http://www.adobe.com/go/tn_15507 You should see a version number in the 9,0,21,78 range.

Adobe Acrobat Reader

There is an official Adobe Acrobat plugin for firefox in either the Debian contrib or non-free repos. You can install it using:

debian:/# apt-get install acroread acroread-escript acroread-plugins mozilla-acroread
Restart your browser and test the plugin here -> http://www.opa.ca.gov/help/pdf/testpage.pdf

Mplayer and mp3 stuff

If your like me, you get tired of going to sites and finding out that you can't view or listen to some video or music file because they used a format thats not open source. Debian-multimedia.org has fixed this for us. If you followed this howto exactly the repository is already setup. Simply do the following:

debian:/# apt-get install mplayer mplayer-skin-blue mozilla-mplayer w32codecs mplayer-doc
Restart Firefox and test the plugin with your favorite multimedia site. If you want to see every plugin you now have available to you then type
in the Firefox url bar.

Optional Firefox Configuration

I don't like having to manually select urls in the url bar to navigate to a different site. I also like having the tab bar up all the time. I don't like the bookmarks bar up all the time. And all those security warnings talking about entering and leaving encrypted pages really don't make any sense to me. Also, by default Firefox doesn't use http.pipelining. pipelining allows the browser to use more available bandwidth to download pages quicker. If you agree with all of the above then you can fix it by following all of the following instructions:

Bookmarks toolbar

Click View - Toolbars - "Bookmarks Toolbar"

Tab bar

Click Edit - Preferences - Tabs - "Always show the tab bar"

DOM Inspector

I don't know what it does, except slow down Firefox. But there is an addon running by default called DOM Inspector. The Description says that it "Inspects the structure and properties of a window and its contents." You can turn it off by clicking Tools - "Add-ons" under the heading "DOM Inspector" click Disable. Voila, Firefox is now a lot faster (at least on my old eMachine).

Urlbar, pipelining, security warnings

Now we are going to get into the actual Firefox Configuration. In the Firefox url bar type about:config


In the Filter bar type urlbar. The second item listed should be browser.urlbar.clickSelectsAll. Under the Value column right click on false then click toggle. The value field should now say true.


In the Filter bar type pipelining. The first line will say network.http.pipelining right click on false and click toggle. Now the third line will say network.http.proxy.pipelining right click on false and click toggle.

security warnings
In the Filter bar type security.ui. The only option is security.ui.enable. Right click on true and click toggle. (edit: i've been told firefox never actually used this setting)

Restart Firefox for all the new settings to take effect. Now you are rid of all the annoying things that cause people to not use firefox. Hopefully you will get as much enjoyment from all the new features and plugins as I do. Enjoy using Firefox 2.0.
- OSS is not a religion, it's the solution to buggy irresponsible coding -

Wednesday, May 24, 2006

I've created a theme for GDM that pleases me. For anyone interested in it I have posted it here. This theme is not for everyone. But I liked the pic. I based on a stock theme included in GDM. I'm sorry I don't remember which theme I based it on. Should someone recognize it, please post a comment with the details. I will be happy to include credit.

Fell free to tell me how you feel about this theme.

Monday, May 8, 2006

Is IBM's Cell Broadband Engine worth the wait?

The short answer: Yes

The long answer: Cell is a revolutionary idea put together by the folks over at Sony and engineered by IBM, Sony and Toshiba. The idea is simple, the chip is not. One “modified” Power Processor Element (PPE) sits on top of eight (thats not a typo) proprietary Synergistic Processor Elements (SPE). Each PE will run at or around 3.2 ghz with 4.0 ghz possible. Cell doesn't use a cache, instead each SPE has it's own 256k local store. Each SPE can only access it's own local store, preventing cache overwrites.

Ok, so multi core chips aren't revolutionary. That comes in the way they talk to each other. The PPE, mostly, assigns work to each of the eight SPEs. This also allows the PPE to locate other Cells on the network and assign work to them. Thats right, beowolf in a chip. Lets say you have 16 web servers. All 16 servers usually carry a medium traffic load. One of your customers becomes an overnight success and the virtual server they are on suddenly gets more traffic than it can possible handle. The other 15 servers are just sitting there, not really working hard, but doing whats asked of them. Well, if those servers are running your typical dual core x86 chips then the one server is SOL. However, if those servers are running dual Cell chips, the Cell thats in trouble will start sending work over to the other Cells on the network. Automatic, integrated load balancing designed into the chip from the beginning.

The real benefit will be for graphics farms. Setting up a large scale graphics farm will be easier than ever. Each Cell is capable of 256 GFLOPS at 4ghz. For comparison the Nvidia GeForce 6800 Ultra has reached 40 GFLOPS and the typical 3ghz Pentium 4 can do around 6 GFLOPS. Each Cell in the farm will be linked with every other Cell on a level never before seen. To demonstrate it's graphics capabilities, Toshiba showed a single Cell decoding 48 standard definition MPEG 2 streams to a single HDTV screen. One of the SPEs was left idle while this was happening. I'll leave further explanation of the Cell's graphics rendering capabilities to those that know more about that industry, but it sounds to me like this chip might just be a rendering farm on 1 chip.

All this power is not completely wasted on the desktop. Aside from the gaming possibilities, most desktop apps could be easily modified to take advantage of the Cells 8 SPEs. Currently I'm running 3 instances of firefox with about 4 tabs each, OOo Writer and listening to my favorite G'n'R cd. Just the audio stream alone could be broken across several SPEs to deliver extremely high quality audio replay. Firefox could hand large jpegs off to an SPE to decode leaving the PPE to fetch the next element of the page's I'm viewing. Flash web content is becoming more popular everyday. Flash could be passed from one SPE to the next for decoding and processing to provide the smoothest animations ever seen. The possibilities for tweaking desktop apps are endless.

There has been some concern about the Cell not having “out-of-order” hardware on the PPE. OOO is supposed to allow speed bursts of up to 3 Instructions Per Cycle being processed. From what I have been able to determine, OOO realistically results in about 1.6 Instructions Per Cycle being processed. The Cell's PPE has been built with a Dual Channel design allowing it to process 2 Instructions Per Cycle, every cycle. Without the OOO hardware, Cell uses less power allowing it to “run faster”, reaching potential 4 ghz or more. More instructions per cycle and more cycles per second means faster processor.

IBM has already ported the Linux kernel to run on Cell. Sony ported the GNU Tools. The Cell port has been incorporated into the main Linux tree as of v. 2.6.16. The rest of your OS will have to be recompiled to run on and take advantage of Cell. IBM already has AIX and OS/400 up and running. I expect the big Linux Distros to follow shortly after Cell is available to the public.

According to various articles and IBM's website, Cell will be available from more than just IBM, Sony and Toshiba. The 3 developers apparently have some agreement that 3rd party distribution will be allowed. Right now there are no plans for a desktop version, with the exception of Sony's Playstation 3 (which is powered by an 8 core Cell instead of the 9 core used by IBM).

Now, the really good news. Sony is expected to offer some form of Linux kit (similar to the one offered for Playstation 2). The PS3 will accept a laptop hard drive and should accept usb keyboard and mouse, making it the perfect $500 server. “Though sold as a game console, what will in fact enter the home is a Cell-based computer“ - Ken Kutaragi

IBM has Cell Blade Centers available by bid now and expects to ship the the general public around 3rd quarter 2006. Sony plans to ship the Cell powered PS3 in November 2006.

I'll be watching the development of Linux on Cell and will keep you posted as to new developments as I learn of them.