Speeding up my Linux Laptop

Linux Format Magazine Issue #72 had, appropriately enough, 72 speedups for a Linux computer. I really don’t need it for my desktop computer as it has a modern processor and 512 MB of RAM, but my laptop is a 600 Mhz 128 MB RAM geezer. The most important thing for me with the laptop is the startup time. I use it for pretty simple tasks since it is so slow and so I don’t mind perhaps giving up some ameneties to make it startup faster. After all, on a laptop, the longer it takes to start up, the less battery time I have to use when it’s up!
I chose the following speedups:

#7 – Switch off Graphical Boot

and, depending on how much that improves things,

#4 Boot into text mode

and, finally – although I use WindowMaker, a very light and fast Window Manager,

#13 mentions using FVWM – so I will check that out depending upon how much help the others give.

I don’t have a stopwatch so my way of measuring how fast things are going is to use the date command on this computer when I turn on the laptop then date again when it gets there. That shows the difference down to the second. So, let’s get started.

Original boot time before any changes (on a stock Fedora Core 4 install): 2 minutes 46 seconds from boot to GDM load where I can type in my username and password. Login time for Window Manager: 10 seconds so we’ll see how long FVWM takes.

Ok, so let’s switch off graphical boot. It says in LXF to remove rhgb from kernel lines in /boot/grub/grub.conf I will just comment it out instead of removing it. I decide it is better to just remove it, because of where it is in the command and just make a backup of the file in case something goes crazy. I made the changes and shut down the computer. I didn’t want to just reboot, in case that skips some step by already being on. So here we go!

Time without graphical boot: 2 minutes 41 seconds. Hmm…that wasn’t really much of a boost, now was it? Now, it DID take 20 seconds from the login prompt until GDM was booted up. However, when I use my computer on the airplane, it’s usually to watch movies, although ocassionally to do some programming. For now I will leave it alone and not do tip #4. However, I wll go ahead and see if I can find fvwm via yum. Didn’t find it via yum, but the main fvwm site has rpms. Only needed to download libstroke to satisfy the dependencies. Ok, that’s done – time to try this out.

Darn, it didn’t automatically update GDM. Time to go into the config files! How to do this:

1. Navigate to /etc/X11/gdm/Sessions

2. Add a file that contains:

exec /etc/X11/Xsession fvwm

3. go to /etc/X11/dm/Sessions/ and add a file there for fvwm, easiest to copy one of files there and modify it as necessary

In my sessions menu of GDM I have a LOT of Window Managers/Desktop Environments. The beauty of Linux is that it is fee as in beer to try as many different ways to experience your desktop as you want. My list is currently:

Gnome

Windowmaker

Blackbox

Fluxbox

fvwm

Hackedbox

KDE

XFCE4

I must say that fvwm is the ugliest desktop I’ve ever seen! At least the default is. It’s nowhere near as nice-looking as a bare fluxbox. But, time to go back to gdm and see how long it takes to load. It took about 8 seconds, so only 2 seconds shorter than Fluxbox. I’ll have to work on customizing it later, but right now it hurts my eyes to look at it!

Communist, eh?

As happens every once in a while, this article tries to spread the FUD that the FOSS movement is a communist movement. That is completely untrue as the developer is free to charge for value-added services. For example, Novell makes a boxed product that sells for $100. You could download it for free, but if you pay the money you get a manual and support. Likewise, Madriva is free to download, but you can pay for the priveledges to get the downloads first by being part of the Mandriva Club. FOSS requires a paradigm shift and some are scared and can’t see how to make money this way so they call it communism. It’s ok, most people are afraid of new things.

Here’s a better refutation than I could muster, as my mind is full of other things right now.

KDE 4 – The Revolution

In my KDE 3.5 post, I mentioned it was the final release of KDE before KDE 4. According to this interview on O’Reilly with a KDE developer, there are some BIG changes a’ comin’! It looks like KDE will be going through some paradigm shifts in the way they think about the desktop. Interestingly enough, it is tentatively slated to come out in Fall of 2006, around the time that Windows Vista with IT’S paradigm shift in desktop philosophy should be coming out. It will be interesting to see where this goes. Both KDE and MS seem to be moving towards Apple’s chic desktop concepts.

Up until now KDE has always looked like an enhanced mutant (in the X-Men sense of the word) version of the Windows 95 desktop. Sure, there was a K instead of a Start button, but it was all based around the same paradigm. Although I don’t know about Gnome’s origins, ever since I’ve used it, it’s had more of a Macintosh approach to things (at least the way Macs were when I was in school). They had a menu at the top of the screen and, like Macs, the system shutdown command was in a logical place. As a Windows developer’s mother famously asked, “why do I have to click on START to STOP the machine?”

Here are some of the excerpts I found most interesting:

replacing the desktop and panels with a new application called Plasmae

designing applications so they are able to be optimized better. For example, the desktop and panels are being merged into one app, which also provides for functionality now only available in Superkaramba. The resulting design allows us to much more efficiently share application launch, graphics, and geometry coordination data while also avoiding the overhead of multiple processes where just one will do quite fine. This will allow people to have quite flashy desktops (or even simple plain ones) that are snappier and take fewer resources.

I think one of the general aims has been to make the whole thing “lighter” and faster.

I think the last two points (which are basically the same thing in longer and shorter versions) are the most important and will cause many more people to reconsider KDE! Many people have gone to Fluxbox, XFCE, and other window managers because they love to customize, but they hate the bloat of KDE! I think that this time of redesigning the whole thing (even though it will break binary compatibility) will be a GREAT chance to really make some important changes to KDE and, as the desktop I first loved, I will be excited to see where it goes.

On a quick footnote, I wonder if things will change to much that there will be a fork for people who want to keep the old KDE around, but I’m not sure.

New Civ4 Game Started

I’ll post my file from my last game soon. Just started a new civ4 game with 2 new elements. First of all, I’m playing pangea so boats are irrelevant. Second, I’m playing Germans which have some differences from previous civs I’ve played (Japanese and Chinese). One primary difference is that the German special unit comes much later in the game. The Chinese get theirs very early, allowing me to kill the Japanese very early on before wars take too long. Japanese get their Samuarai mid-game which can be good as you’re trying to expand that last bit of land. But I chose Frederick because of his creative side which gives extra culture (I’m a big culture person and always win a bunch of cities from the opposition on culture) and philosophical which helps in Wonders. Execellent! I’m still Cheiftan, but I think next game I will go to War Lord. I still won my last game by a large margin.

Yay for Monkeys!

The title of this post is, of course, a play on words. The company Ximian has developed Mono, an open source competitor to MS’s .NET. Mono is spanish (and probably latin) for monkey. The reason I’m excited is that according to Gnomedesktop.org , Fedora Core 5 will have mono! This means we’ll get great new programs being coded in Mono such as F-Spot, a photo organization program, and Beagle, an AMAZING search tool on par with the search tool in the latest Macintosh. Basically, it indexes the file system in such a way as to be able to look through not only filenames, but also tags in photos, music, and documents. Beagle even searches through AIM logs created by Kopete and Gaim. But the COOLEST thing is that, unlike the search in Windows which takes forever, this is instantaneous since it’s always indexing your computer. In fact, there are demos you can see by clicking on the beagle link on the right-hand side of my blog, that show a search being conducted and as the author write stuff in his IMs, it appears in the search. I can’t wait for this to be available to us Fedora users!

Success!

I was successful in sharing the drive with my windows computer and have tested that I can create files and delete them in Windows. I followed this tutorial. I did everything as they said to setup Samba, which communicates on the Windows smb protocol. They only thing different was to uncomment the line security = user. That has to be set to security = share. Now I’m trying to adapt their NFS to work for me for sharing with Linux. It was working before I formated the drive from FAT32 to ext3. (I reformatted because FAT32 has no ability to set file permissions. Shame on you BGates!) If/When I figure it out, I’ll probably post what I did differently on here. Stay tuned!

Mounting an external USB Harddrive

In Fedora Core 4 (and earlier Cores) when the user is in Gnome or KDE, the HAL daemon will automatically recognize when a USB drive is attached to the computer. It will then create an fstab entry and all will be good in the world. I’m not sure if this happens in Debian, but I’m using Debian as a print/file server so I don’t have any GUIs installed. So I will go over my learning process for others who may be having the same difficulties.

On of the first commands you learn when you first enter the Linux world is dmesg. This command is essential to master in order to get help in the forums or IRC chatrooms. When you type it, you are given all of the system messages. These are important when plugging in new devices in order to debug them. First I type dmesg before plugging anything in to see what it currently says. This can be very important because if it looks exactly the same after plugging in the device, it means that Linux didn’t detect it. The second time I type dmesg, I get:

a bunch of stuff followed by –

drivers/usb/class/usblp.c: usblp0: out of paper
drivers/usb/class/usblp.c: usblp0: ok
usb 4-1: new high speed USB device using address 4
scsi2 : SCSI emulation for USB Mass Storage devices
Vendor: MAXTOR 6 Model: L040J2 Rev: AR1.
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sdb: 78177792 512-byte hdwr sectors (40027 MB)
sdb: assuming drive cache: write through
/dev/scsi/host2/bus0/target0/lun0: p1
Attached scsi disk sdb at scsi2, channel 0, id 0, lun 0
USB Mass Storage device found at 4
First of all, you will notice the message from before, that my printer had run out of paper. I left it in as an example of things you can find in dmesg. As you can see, it has not only detected the hard drive, but correctly identified it as a Maxtor. Looks like I have 40 GB on this drive. The most important detail for us to glean out of this is that it has been assigned to device sdb. This means usb device b. What was a? Probably the printer. Now we know that important info, so what’s next?

First we need to go root. (This is always represented by # instead of $ for good tutorial writers)

e@printman-eevet:~$ su –
Password:
printman-eevet:~#

Now need to mount the sucker and tell the computer where to mount it. If we just wanted to mount it this once, it would be a command like:

mount -t vfat /dev/sdb1 /mnt/your_mount_point

But we want to load up and be mountable by anyone so we will edit the /etc/fstab file.

# vi /etc/fstab

# /etc/fstab: static file system information.
#
# proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda5 none swap sw 0 0
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/hdd /media/cdrom1 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
/dev/sdb1 /media/external vfat rw,user 0 0
The bottom is the part I added. So I decided to mount!

e@printman-eevet:~$ mount /dev/sdb1
mount: mount point /media/external does not exist
What’s this? I guess you can’t just make up a directory, it has to already exist. So I’ll make that directory and see what happens. Success! (BTW – I had to be root to make that directory!)

e@printman-eevet:/media$ mount /dev/sdb1
e@printman-eevet:/media$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 6.6G 494M 5.8G 8% /
tmpfs 62M 0 62M 0% /dev/shm
/dev/sdb1 38G 530M 37G 2% /media/external
e@printman-eevet:/media$

So there it is! The quick and EZ way to mount a USB hard drive. Now that wasn’t as hard as it sounds, was it? My next task is to make it so that this hard drive, partitioned in Windows FAT32, accessible to all of my computers (Windows and Linux alike) for saving.

Building the computer

Here is the abbreviated commentary on my building of my new computer.
Above are the new computer parts I used. In addition to these, I scavanged my DVD-ROM, DVD+-R, and hard drive from my old computer. I actually didn’t use the firewire ports as my motherboard has one in back and a connection for one in the front. I only use firewire for my video camera, so that was enough for my needs. I’m hanging on the to the firewire card for future potential projects.

The Motherboard
The Motherboard

Here’s the Asus motherboard with the Pentium chip and heatsink/fan already installed. I didn’t think of taking one without the heatsink until it was already on and I didn’t want to take it off for no reason. As you can see, there is an AGP 4/8x slot and 5 expansion slots.

The case, ready to go
The case, ready to go

Here’s the case all nice and neat before I got into it to mess around. You can see here there are 3 cages for harddrives. Each holds 2 for a total of six hard drives. Of course, that would mean 2 SATA and 4 PATA, leaving me without the ability to have a DVD-ROM.

Motherboard seated
Motherboard seated

Here I have finally set the motherboard. This was a pain in the butt as the holes didn’t line up with the spots to connect it to the case.

Front buttons connected
Front buttons connected

Here I have connected the front controls and lights to their locations on the motherboard.

hard drive cage
hard drive cage

Here’s a shot of the hard drive cage out of the case so that I could attach the screws that hold the hard drive in place. This makes it a LOT easier than having to screw it in while it’s in the case.

hard drive cage installed
hard drive cage installed

I put the hard drive back in, but haven’t connected it up yet.

hard drive connected
hard drive connected

The hard drive is all connected up.

System powered up
System powered up

Here it is from the front all LEDs glowing, but you can’t tell with the flash from the camera going off. I tried to take a shot without the flash and it came out too blurry. However, as you’ll see below, I got a side shot without the flash and it came out just fine.

Interior lighting on my case
Interior lighting on my case

And here is the aftermath on the operating table:

The table after the build
The table after the build

And that’s how the computer was build. Except, of course, with a lot more time in between shots getting the cables FIRMLY connected and trying to find screws that had fallen in. It was a lot of fun and I’d love to do it again.

 

Playing Civ4 on the New Computer

At first, Civ4 seemed not to play much better on this computer with twice the stats of my old machine. Yeah, the game didn’t take 15 minutes to load, but it wasn’t as close to instantaneous as I’d hoped. But then I slowly began to see the places where Civ4 was much better on this computer. The first thing I noticed is that the Wonder videos are no longer out of sync with the sound, so I was able to watch them and enjoy what the programmers had put together. Then I noticed that the scrolling was much, much smoother than it previously had been. Finally, I was able to talk to other civs without that causing me to have to wait 3 minutes for the other civ to load up. I finished yet another game, this time as the chinese, and I’ll be uploading that soon.

Becoming a little more involved in FOSS

Today I became a little more involved in FOSS. Until now I had just been a user of FOSS without giving back. But two days ago I did what can be considered the simplest action in FOSS, I filed a bug report. Actually, I filed two bug reports! Why is this more than just complaining? And what’s so useful about it? Well, since FOSS developers are working for free, they have to do most of the coding in their free time. So they don’t have time to go over every single scenario looking for bugs. Heck, the Windows programmers ARE paid and they don’t have time to go over every single scenario. So, by submitting bug reports, you can help programmers find problems. They may also not know how annoying a bug is, unless people complain about it.

One of my bugs had to do with how KDE desktop icons are missing a crucial parameter to keep them from displaying in Gnome. It annoys me to have 2 trash cans, one of which does nothing. The other has to do with Wine. The best thing about it, is that my bug reports are already getting responses.

So, the next time something bugs you in a program, think about submitting a bug report.

new computer built

It only took me about 4 hours. Most of it was spent doing tedious things like trying to get the motherboard screws to align with the motherboard and getting the dagnabbin’ default motherboard I/O template and the new one in. So to replace my 1.5 Ghz 1 GB RAM dell that died, I now have a 3 Ghz 2 GB Ram Eric Mesa computer. Really my only complaint in the whole process is that the Asus motherboard holes didn’t line up with the Aspire X-Navigator Holes so it’s not as securely fastened as I would have liked.

Total cost of new parts $600. So for the price of a POS Emachine with probably 512 Ram and 2 Ghz processor, I have a way better computer. I installed the evil Windows on my computer as that was the whole reason for buying it. (I already have a brand new Linux box that works just fine) Without the $100 Windows tax, it would have only cost me $500. Of course I did recycle my $100 Hard Drive that I originally bought for recovery purposes with my Dell, my $150 nVidea graphics card, $60 DVD drive and $60 DVD+-R. So the total cost of the system is $970. Not bad for something that would have cost a few grand at Alienware. I bought all my parts from newegg.com and here is what I put into my new computer:

Asus P4P800-E Deluxe Motherboard with onboard 8 channel sound baby!

Intel P4 3 Ghz 800 Mhz FSB

Rosewill 2 x 1 GB RAM sticks

Aspire X-Navigator ATX Case (which is extremely quiet even though it has 5 fans!)

in addition to the above-mentioned recycled parts. The OEM version of Windows XP only cost $98.99 compared to the regular $150.

Tomorrow, once I get everything setup, I’ll have pictures of the setup process.

planned obsolescence

Check out: Planned Obsolescence
This kind of stuff ticks me off. But it’s the reason why I’m currently building my won computer. I’m sick and tired of the big name vendors thinking that they can do whatever they want to us, and think that we are ignorant enough to accept it. Stand up and realize that the power is in YOUR hands! You can build your own computer and upgrade it and don’t need to or want to be forced to pay for upgrades every few years! I’m going to be building a new computer since my Dell finally died. I’ll be documenting the process so that you can see just how simple it is. Stay tuned!