Ubuntu vs Gentoo vs Arch – A comparison

Trials with Ubuntu and Gentoo Linux

Arch Linux is now my default distribution – supplanting Ubuntu Linux. Why? Well, its a long story, but I will try to keep it to the point. I am a tinkerer at heart – I love Linux because it allows you to tinker – essentially its a wide open book. Ubuntu has taken Linux down a different path. Ubuntu’s specialty is ease of use, and it excels at that. Ubuntu’s ease of use comes at a price though – flexibility and customization is somewhat diminished due to Ubuntu’s focus on the user experience.

I first moved to Ubuntu in 2008, when Hardy Heron, 8.04LTS was released. I came over as a frustrated Gentoo User. After using Gentoo Linux since 2004 (I used Redhat exclusively before that) I became a bit disenfranchised with Linux as a whole. It seemed that in order to get complete customization and control, I was going to have to suffer through hours of patching and compiling. Ever compile OpenOffice.org on a Pentium 4? It takes hours. I loved Gentoo for its ultimate in customization, but loathed it for the update process.

Ubuntu was a breath of fresh air in many ways – Install it and it just worked. It renewed my faith in Linux. Over time though I discovered several shortcomings. Canonical’s use of Gnome themes that were difficult to change colors on, their move to the non-standard Unity desktop, the fact a total reinstall (or upgrade) was needed to get to a new version of the OS, sticking with specific kernel versions for 6 months at a time, and the fact that by default there isn’t a way on Debian based distributions to get a consistent and reliable dump of daemon status (ie rc-status on Gentoo or rc.d list on Arch) – this is ground level Unix functionality and Ubuntu just plain doesn’t provide a workable solution! These shortcomings led me to look elsewhere after a few years.

One major advantage in to Gentoo, for my needs, is a that it’s a rolling release distribution. This means that kernel, system libraries, the tool chain and applications are updated in place over time, without requiring a wholesale reinstall or upgrade process like typical binary release distros. When you have 10 machines, this becomes a major benefit in keeping them in sync in terms of OS and software versions.

I actually went back to Gentoo for a bit on one system, only to find the same old issues.

Enter Arch Linux

On a whim one night I was perusing Distrowatch, and stumbled upon Arch Linux. Arch is one of the few rolling release distributions that is binary based (minimal compiling for upgrades) and isn’t based on Gentoo Linux. It’s billed as a simple, lightweight Linux, and it definately lives up to its name. Arch has an active user community, has a large and regularly updated core and community maintained package base, and offers the ability, similar to Gentoo, to compile thousands of other packages from the Arch User repository. There is that word again – compiling. But honestly, I have had to do very little of it.

Don’t let the simple, lightweight, moniker steer you aware, Arch is capable of running the most advanced server functions and the latest desktop environments. The lightweight and simple is in maintaining the system. Most system configuration is handled in one file – /etc/rc.conf. The daemon startup order is specified by one line in rc.conf – the order of them named is the order they will start! Imagine that – no messing with symlinks in /etc/init.d anymore.

Package management is simple, kernel updates and initrd images are handled automatically, and support for diskless machines and thin client build processes is second to none.

What’s not to love?

I am sure that their are individuals who would find Arch too much work, and frankly Ubuntu is probably best for them. Linux wouldn’t be Linux with a choice of distros. Its one of its key selling points for me.

Coming up next – more system administration hints for Arch Linux!

Got another distro that you like – leave a comment and let me know!

Dealing with multiple USB sound devices

Ever been plagued by your linux system detecting your webcam as the first sound device instead of your USB headset?  This is a common problem with Linux, but can be easily remedied with editing your systems module configuration.  On Ubuntu, the important file is /etc/modprobe.d/alsa-base.conf.  This file controls the module settings and parameters for the alsa sound system.  First, we need to understand what to put in this file.

With both of your USB devices connected to the system, run the following command:


Here is a sample output:

Bus 001 Device 008: ID 046d:09a2 Logitech, Inc. QuickCam Communicate Deluxe/S7500
Bus 001 Device 005: ID 03f0:2f24 Hewlett-Packard
Bus 001 Device 007: ID 058f:6362 Alcor Micro Corp. Hi-Speed 21-in-1 Flash Card Reader/Writer (Internal/External)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 002 Device 004: ID 10f5:0200 Turtle Beach Audio Advantage Roadie
Bus 002 Device 003: ID f617:0905
Bus 002 Device 002: ID 046d:c521 Logitech, Inc. MX620 Laser Cordless Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

This output shows all the USB devices connected to your system.  In our example, the two devices we are looking for are:

Bus 001 Device 008: ID 046d:09a2 Logitech, Inc. QuickCam Communicate Deluxe/S7500

Bus 002 Device 004: ID 10f5:0200 Turtle Beach Audio Advantage Roadie

Frequently, on this system, the webcam steals the default input device because of its internal mic.  I would like the default input/output to be assigned to the turtle beach roadie USB headset.  The key here is something that all alsa modules have support for which is an index parameter.  All also modules allow indexes to be assigned to a particular device.  This works pretty well when your cards use different alsa modules.  Simply specifiying module options setting the index # for your particular devices module resolves the issue.  So what happens with USB audio devices, since they use the same snd-usb-audio module?  It seems that linux simply assigns indexes in the order the devices are discovered.

The lsusb output above shows two important pieces of information for each of the sound devices in question.  The USB VID (Vendor ID) and PID (Product ID) can be used to control index assignment.  In our case these values are:

046d:09a2 for the Logitech, and 10f5:0200 for the Turtle Beach headset.  The set of hexadecimal numbers is the Vendor ID and Product ID for the device, in the format VID:PID.

The VID:PID combination can be used in conjuction with the Index value to control the way linux sees the devices.  The format for the module option is:

options snd-usb-audio index=<x>,<y> vid=0x<vid for index x>,0x<vid for index y> pid=0x<pid for index x>,0x<pid for index y>

So, with this in mind, all we have to add to the /etc/modprobe.d/alsa-default.conf file is this:

options snd-usb-audio index=0,1 vid=0x10f5,0x046d pid=0x0200,0x09a2

After rebooting the system, we should never see our Webcam grab the default input again (making us have to go to the Pulse Audio settings and reconfigure the sound system).

Asus G72GX Laptop Review

For the past year or so, I have been looking for a good laptop for my mobile pursuits.  I have some pretty stringent requirements for my mobile platform,  the most import of which is the ability to run 3D games.  With linux as my primary OS, and many of the games I play being available for Linux (or can be coaxed to run on linux with wine) this pretty much means that Nvidia discrete graphics are a must.  I spent many months looking at systems like the M17x from Alienware, or a DIY AVADirect Clevo unit among others.  The main issue with these rigs comes down to one thing: cost.  A fully loaded M17x can cost just as much as  a high end desktop rig.  So, after some shopping around I had come to the conclusion that I would have to finance one of these monsters if I wanted a good gaming laptop.  A few weeks ago, I was in Best Buy and I did something that I never do – look at the budget laptops that they typically carry.  I came upon an ASUS G72GX system.  The specs were actually pretty impressive:

CPU: 2.53 Ghz Core 2 Duo

Video:  Nvidia 260M 1GB Discrete Graphics


Hard disk: 500GB, 5400RPM

1600×900 Widescreen LCD Screen

Webcam, USB, E-SATA, 1394, card reader, Secondary hard disk bay, DVD-R/W drive, G/N Wifi, Gig Ethernet LAN, illuminated keyboard

The most amazing thing:  a $999 price tag.  So, I thought about it, did some quick research the next day, and decided to give it a shot.  I have had some mostly positive experience with Asus motherboards in the past, but hadn’t spent much time on anything else from the company.

In short, I am glad I did.  For a modest amount of money I got an excellent performing machine that seems to be able to grind through just about anything I have given it.  Since I didn’t find many online resources for running Linux on this platform, I figured I would write a quick review on the machine and the caveats with running linux on it.

Hardware Compatibility:

I chose the latest version of Ubuntu for the install, 9.10 Karmic Koala.  Now, overall Karmic is a good version of Ubuntu, however it doeshave some issues (we will save that for another article).

The install went pretty much flawlessly, all hardware was detected and the system came up the first time in a usable state.  Typical Ubuntu up to this point.  I quickly noticed an issue with the Wireless adapter in the system.  It is an Atheros 928X adapter, and it turns out that this chipset can be problematic at times on Linux.  Basically the card would work for  about 5-10 minutes, but then it would drop off of the network and  basically become unusable.  Only a reboot could correct the situation.  After some research, it appears that better support for the adapter is available in a karmic kernal backports package.  A simple package installation with the command:

sudo apt-get install linux-backports-modules-karmic

Followed by a reboot was enough to get the adapter usable.  While this fixed the network drop/reboot issue, it was still not perfect.  As the machine was used, you could “feel” times when the network connectivity would drop for a few seconds on a regular basis.  This was especially evident when playing World of Warcraft or other online games.  Thankfully, the 2.6.31-20 kernel update and the associated backport package that came out about a week later seems to have resolved all of the wireless issues.

The next issue was with the Nvidia 260M graphics.  Ubuntu has a tendency to build a distribution with a specific set of Nvidia closed source drivers, and typically does not update those drivers throughout the support life of the distribution version.  I, on the other hand prefer to install the latest Nvidia drivers by hand.  Unfortunately the latest Nvidia drivers package was not able to recognize the PCI ID of the 260M graphics card in the machine.  This is an interesting issue that I do not yet have a resolution for.  I ended up installing the Ubuntu supplied Nvidia 185.18.36 package and it was able to detect the card.  Luckily, the 185.18.36 driver set is a stable and high performing release (unlike some previous drivers packaged with Hardy or Intrepid).

The last hardware related issue I came across was sound card static.  It seemed that playing games such as Quake 4 or World of Warcraft the sound quality suffered from a lot of static.  This was fixed by modifying the /etc/modprode.d/alsa-base.conf file.  Apparently by default a sound card power management feature is turned on for Intel HDA sound cards.  Look for the following lines in your /etc/modprobe.d/alsa-base.conf file:

# Power down HDA controllers after 10 idle seconds
options snd-hda-intel power_save=10 power_save_controller=N

Simply commenting out the second line and rebooting the system fixed the issue.

That about covers the hardware issues.  For the most part, nothing major.

Usability and Performance:

Overall the machine is comfortable to use and works very well.  I can achieve very playable from rates on several games even recent titles such as FEAR 2, Call of Duty Modern Warfare 2 on Windows and several old standbys on Linux such as Quake 4, Enemy Territory and Doom 3 all run great even running at a full 1600×900 with 4x AA and some AF.

The only complaints I have are regarding the touch pad and the gloss plastic surface that makes up the keyboard.  The touch pad is quite large and can interfere with typing since your palms will cause the touchpad to click or move the mouse.  Turning off double click capabilities on the touchpad on linux did the trick.  The problem with the glossy plastic coating on the keyboard is that is a finger/palm print magnet, and is hard to clean.

The LCD screen is quite bright and crisp, and has excellent picture quality.  I was worried that 1600×900 (16×9 aspect) was going to be a little narrow for my tastes – I prefer 1920×1200 or 16×10 aspect ratio monitors, but so far this has not been an issue and I am very pleased with the screen real estate and quality.


I would like to run some benchmarks on the machine with the Phoronix Testing suite, but that will have to come at a later date.  Overall I can’t think of a better deal for the money in a gaming capable laptop/portable workstation.  While the gloss finish a touchpad are little annoying, they don’t detract from the overall quality and performance of the machine enough for me not to recommend it.  I give it a 9/10 grade.  Asus did a great job with this machine and I highly recommend it.


The nvidia 256.53 driver set installs and detects the 260M video card in this machine just fine.

Been gone for awhile….

Hi – not long after I started this blog, I lost a dear friend. This loss has kept me from blogging for a couple of weeks. I had known him for 16 years, and our time together on this earth was very special, and things won’t be quite the same now.

His name was Snoopy, and he was my dog. I bought Snoopy from a puppy farm in Smyrna, Tennessee in November of 1994. He lived with me and was my best friend through homelessness during a divorce and other trials. He never gave up on me and always met me with a wagging tail. I have no children, but Snoopy in many ways was my child. My wife and I acquired a couple of other beagles, Bowser and Scout and for 5 years we have been a three dog family, with Snoopy being the oldest and in many ways the most special.

We are now down to two dogs, and the house seems a bit emptier than it had been. Snoopy developed a problem with his larynx and was having issues breathing. Our vet warned us that he could stop breathing and we should consider a date to have him put to sleep. Two Wednesdays ago, early in the morning Snoopy woke us up in convulsions, unable to breathe. My wife saved his life by doing exactly what the vet had instructed us to do, pull on his tongue to open his larynx again. We rushed Snoopy to the emergency vet where he starting acting like himself again, but the vet felt he wasn’t getting enough oxygen since his tongue was purple. We took Snoopy back home and stayed up the rest of the night with him until we could call our normal vet and schedule an appointment for doing the inevitable.

You see, the next time his throat would collapse would probably be the end. The look of fear in his eyes the first time was too much to bear, and death by suffocation would be a painful and fearful way for him to go. We decided the time had come to say goodbye to a wonderful companion and friend for all those years. We held him as the vet gave him the injection and made sure his passing was as comfortable as it could be.

So, I make this entry in my blog as a tribute to him, and hope that someone else will read this and by doing so may learn a little about who he was. We will miss him dearly and have cried many a tear. A friend told me the other day, that “They count on us to do the right thing”. I do hope and believe that I will meet him again someday – farewell my friend and rest in peace. I bet he is playing ball with the angels right now….

Snoopy - A special dog

Hello, world!

Welcome to LinuxPowerUser.com!  With this blog, I intend to publish my experiences using Linux as a desktop and server operating system.  I have been using Linux since 1995 and around 2000 I completely replaced Windows with it as my primary personal computing environment.

I use linux for personal productivity, gaming, multimedia, programming, and as a server operating system, and I hope to share my knowledge of this powerful environment here on this blog.

A little about myself:

I am IT systems professional with 17 years of experience in design, maintenance and management of enterprise networks.  I am currently responsible for planning and strategy of Network infrastructure and Unified Communications technology investments for a major retail company based in the United States.

My favorite Linux Distros: Ubuntu, Gentoo.

Hobbies:  Linux, Data Communications, Computer Programming, Amateur Astronomy, Snow Skiing, Boating and Water Skiing, Biking, Computer Gaming, Beagles (I have three), Electric Guitar, Science Fiction Novels, Aviation

Favorite Music: Pink Floyd

Enjoy, hopefully you will find something valuable here if your interested in using Linux!  Stay tuned for more posts, as I have a bunch of content to share.