Friday, June 26, 2009

My Perfect Linux Setup

I have been using Linux for a few years, now. What I really like(d) about linux is
  • It can be customized to a very great extent compared with Windows. I can download the latest kernel from kernel.org and compile it myself.
  • No need to run additional anti-virus. ( Atleast I don't run )
  • No need to worry about malware, spyware.
  • Linux very well co-exists with other Unixes. I need this to login to my work.
  • Pretty much all the applications I use, are available on Linux.
  • If I get bored with the UI, i have plenty of themes to choose from. (I can even change the DE from xfce, gnome, kde)
  • Linux gives me a feeling that I have better control over the system than Windows. Everything is documented
  • Reliable and Stable. (Not that I had any stability problems on windows for my use, but a journal file system is any day better than a non-journal one)
  • My family can use this system to surf web, watch flash movies with out having to worry about virus & worms.
Choose a distro

One has to choose an appropriate Linux Distro according to the needs and liking. My hardware is not latest and greatest. It is 4 - 5 years old. I needed the best performing distro on it which not only need to meet all my requirements and also need to have all the applications I use.

Debian Lenny

To begin with, I installed debian lenny, just because it was just released at that time. I really liked it. It was clean and fast. It had gnome as the DE. I had always used KDE before and KDE 4 is little slow on my system. Hence I went with gnome. There are a few things I didn't like in Lenny, but I could live with those. For example, I didn't like the fact that firefox was renamed to iceweasel for whatever reason. I think the true credit was not given to firefox because of that. Iceweasel also had problems with some of the websites I visit, while firefox worked perfect. Just for this I had to use firefox from Mozilla. I didn't like this because i had to manually update firefox when there is a new release.

I used vpnc to connect to my work, which didn't play very well with network-manager. Since my computer was also wired to network all the time, network manager was not even needed and I removed it

Debian Lenny did not have a pre-emptive kernel by default. I could really notice it when playing music or watching flash video. Both audio and video would jump, pause and skip

Other than that Debian Lenny worked great and I was pretty happy with it. I had been using Debian Lenny for few months until I started to notice that my system was beginning to lag behind others in terms of latest software and hence features. I have been reading about the new releases of Ubuntu, Fedora and OpenSuSE and the truck loads of new feature they bring. One thing that really caught my attention was the fast boot. I needed this because i shut down the computer when I don't use it to conserve energy.

Ubuntu

When i had to decide which distro to pick from Ubuntu, Fedora, OpenSuSE (I like all three distro's), I decided to go with Ubuntu 9.04 because I've got used to apt-get and deb's.

I installed ubuntu 9.04 on my system. It boots really fast. But the applications, gnome, firefox, thunderbird are all very slow compared with debian lenny. I didn't like the fact that the system now functions slow. Also the metacity window manager doesn't even do smart placement of new windows which annoyed me. I wanted to explore my options.

Xubuntu

Xubuntu looked promising. Light weight, fast and efficient. So, I ended up installing Xubuntu. Xubuntu team has customised xfce so much to look like gnome. While it is lightweight, it didn't feel really fast over gnome. I removed the xubuntu customisations including usplash ('aptitude remove usplash' removed usplash and all the dependent xubuntu customisations) To my surprise the system responded much better. I also very much liked the vanilla xfce. I can only wonder why Xubuntu team put in all these customisations that really slow down the system. I also removed the firefox customisations like ubufox, firefox-gnome-support, firefox-xxx-branding. Firefox also worked snappy afer this. Woo hooo

Customization
  • Removed network-manager, as this system was wired to network all the time.
  • Installed open office
  • Instaled Sun's JDK
  • Installed additional system tools like system-config-printer, ntfs configuration tool (to mount ntfs partitions) partition-editor, services-editor, shared folder (to configre samba, nfs), gnome-network-admin (to configure network)
  • disabled unwanted services at start time through the service editor.
  • install a text editor that has syntax highlighting for C and java (gedit)
  • install flash (add the repo "deb http://archive.canonical.com/ubuntu jaunty partner" and do "aptitude install adobe-flashplugin")
Optimizations

My system had intel i80 graphics chipset, which performed badly on Ubuntu 9.04 Googling for solutions, I found that the intel driver needed an update

So, i added this repo "deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu jaunty main" and updated the driver. But still full screen flash video was skipping frames and very slow.

Someone suggested to try the latest 2.6.30 kernel image from "http://archive.ubuntu.com/ubuntu/pool/main/l/linux". Installing the latest kernel (2.6.30-9 as of now) flash performance improved very much. It is possible to watch full screen video now. I was not interested in kernel modsetting.

Finally, I had to replace xfce-terminal with rox term, since there were problems with xfce-terminal. I also installed chrome. Though it is no where near feature complete on linux, it is lightning fast and stable.

I'm now very happy with the current setup. System feels responsive, light-weight and useful. I still use Windows once in a while because linux doesn't have driver for my creative webcam and I video chat with my family. Also the Video editing software I use, works only on windows. Though there are many video editing solutions on linux, I haven't found one that is easy, simple and feature rich as the one I use (Pinnacle Studio) on windows.

Useful Links

Ubuntu KMS : https://wiki.ubuntu.com/X/KernelModeSetting
Kernel Builds : https://wiki.ubuntu.com/KernelMainlineBuilds
Latest intel drivers : https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
Chrome for Ubuntu : http://dev.chromium.org/getting-involved/dev-channel