Saturday, July 28, 2012

PCLinuxOS: A surprise addition to our family computers

We have 5 computers in our household. My dad, my wife, and I have a laptop each, and my mom uses a desktop that sits in my parents' bedroom. There is also a laptop that sits connected to our living room television. With the exception of this computer, we run Linux on all our computers. My mom and my wife use Kubuntu on their computers, while my dad and I have ArchLinux/KDE. The day before yesterday I realized that I hadn't run updates on my dad's laptop in a while so in haste, I issue the following at the terminal:
$sudo pacman -Syu
I had forgotten about a recent advisory issued at the ArchLinux Wiki about including "--ignore glibc" for the upgrade and to upgrade glibc only after the system upgrade is complete. Now I am not sure if that was the reason or if it was something else, but it rendered the laptop in a non-upgradable state. Passing "--ignore glibc" now was causing other dependency issues. I figured it was time to give another more beginner friendly Linux distribution a try for my dad's computer. I am very happy with ArchLinux on my computer, however, for my dad's computer, I wanted something that would be easier for my dad to manage. The first distribution that came to my mind was Zorin OS. Screen shots and features made it look very promising. Zorin OS appears to be very polished distribution and I had also started the download only to notice a 1.4 GB iso that would take a very long time download because of the limited number of mirror sites published on their site. Also, I didn't have a blank DVD available that would be needed in order to make the iso usable on my dad's computer.

Spending some time on Distro Watch revealed some familiar distributions, but one stood out: PCLinuxOS. I recalled that REGLUE (formerly HeliOS Project) use PCLinuxOS on the computers that they setup for disadvantaged kids in Austin, TX area. I had also read few articles in the past on the E-Magazine that PCLinuxOS publishes regularly and was generally impressed by the content they generated. So I decided to give PCLinuxOS/KDE a try. I read the details about the software included on the iso on their download page. Some software were slightly older that what I had gotten used to on my Arch. However, I chose Arch for my laptop for exactly that reason. Moreover, since my dad only needed a laptop to check his emails, create and review documents and spreadsheets, and use the Internet, I was not going to let a few slightly older versions of software prevent me from giving PCLinuxOS a try.

I downloaded the iso, burnt it to a blank CD, slapped it in the laptop, and fired up the LiveCD. While I was not very impressed with what I was looking at, I was not disappointed either. I did notice that the built-in wireless adapter that was not functioning correctly under ArchLinux, was now working perfectly fine. This was an excuse enough for me to do a full install, and I proceeded with that in mind.

During the install, I was presented with the option to use existing partitions to setup PCLinuxOS. I decided to preserve the /home partition, and reformat the / and /boot partitions, a feature I had come to depend on for quiet some time now. With the /home partition intact, my dad would continue to have access to all his documents, audio files, as well as application settings. Once the install was complete, after the first boot, I was asked to set the default timezone and create my first user account. I setup my user account as the first user just like it was before. I was now presented with a login splash screen. It was the same login splash that I had setup for my account when the laptop still had ArchLinux on it. I then setup my dad's account so he could login and begin using the laptop.

From a very brief glance at the different configuration utilities that were available to me when I logged in were firewall setup, network setup, video setup etc, which I found to be very easy to use. I also noticed that root user was also listed in the user selection at the login screen. I decided to login using that account. I was presented with a popup greeting that reminded me of something that I had forgotten. PCLinuxOS is a rolling release distribution just like ArchLinux. The popup also instructed me to run a system update using Synaptic Package Manager. I followed the instructions and did a full system upgrade, and I restarted the computer after the upgrade. Once the system was upgraded with the latest packages, I was pleasantly surprised to see a more visually pleasing desktop than what I saw prior to the restart. The system looks much more polished now and setting up applications that my dad had gotten familiar with over the months was a piece of cake.

I can now say with much confidence that we'll be using PCLinuxOS on at least this computer as a permanent distrubution. It is now the number one Linux distribution that I will recommend to people as a first distribution to try.

Friday, July 20, 2012

Update: ArchLinux + ATi Catalyst issue

After doing some more reading about the ATi Catalyst 12.6 driver release and upgrade information, I realized that the my hardware, Radeon HD 6250, was indeed supported. The "Unsupported Hardware" watermark was probably a bug that will hopefully be fixed in one of the future releases, whenever that might be. I did find a resolution for the time being that removes the watermark on the ArchLinux Wiki page for ATi Catalyst.

It involves running this following script:

#!/bin/sh
DRIVER=/usr/lib/xorg/modules/drivers/fglrx_drv.so
for x in $(objdump -d $DRIVER|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
 sed -i "s/$x/\x90\x90\x90\x90\x90/g" $DRIVER
done

Once this script is run, and the X server is restarted, the watermark disappears. All other functionality, especially OpenGL rendering etc, seems to be intact. Good enough for me.

However, this highlights the problem of having closed source, proprietary hardware drivers. Had the drivers been open, this issue would have been fixed not too long after the drivers get released. Hopefully the open source "radeon" will catch up in performance and features with the proprietary drivers and we won't have to worry about these kinds of issues in the future.

Friday, July 13, 2012

ArchLinux - Use at your own risk

Update: update-archlinux-ati-catalyst-issue.html

I have an HP Pavilion g series laptop running ArchLinux. With 17" wide screen and quad code AMD A6 processor, I really have nothing to complain. I love Arch. It allows me to be on the bleeding edge. Among all the other distros that I have tried in the past, Arch gave me the most control with out as much hassle. Today, I use ArchLinux exclusively on my laptop. And getting front row passes for being able to try the latest and greatest of features of Linux almost makes me giddy. Except, I am stuck with AMD Radeon graphics built in the APU.

AMD/ATi are not very keen about providing regular driver updates for the AMD Radeon chip that is in my computer. The open source driver lags far behind the proprietary driver in features. The proprietary driver relies on xorg-server version 1.11 while the latest xorg-server is version 1.12. Staying stuck with xorg-server 1.11 means that while my X server is slightly behind on features and security updates, but also are all the components that depend on it, for instance, XFree86 drivers for my input devices. During every system wide update, I have to be extra careful as to not update any of the XFree86 drivers as there is not a hard dependency extablished for xorg-server between the versions that I use. An incompatible input device driver renders my keyboard and touchpad unuseable as soon as X session takes over, regardless of me using the laptop keyboard and touchpad, or an external keyboard and mouse.

This was a little easier until a few days ago. The version of Catalyst driver available was 12.4 which had a hard dependency on xorg-server 1.11. All I had to worry about were XFree86 drivers.

Few weeks ago, AMD released a new Catalyst driver for newer hardware, version 12.6. Unfortunately for me, my hardware is not capable of utilizing that driver as it was excluded from the driver. When I installed it without reading the Arch Wiki page about the upgrade, I noticed that bottom right corner of my screen displayed a watermark - Unsupported Hardware. 12.6 version of Catalyst however is listed as an upgrade to the 12.4 version of Catalyst. So now it shows up in my list of upgrade. Changing the pacman mirror for Catalyst resolved the issue as the new mirror only had 12.4 available for download.

A few nights ago, I was in bed at around 10:30 PM and I was hoping to sleep right away. I decided that since I hadn't run a system update in the past few days, I'd go ahead and run a quick update before sleeping. I fired up Apper, a universal KDE package manager that works with Pacman as well as Apt-Get for debian based systems, and saw 30 some applications awaiting updates. I scrolled down the list and unchecked the usual suspects: xorg-server 1.12, etc. I realized that somehow, I had failed to notice Catalyst version 12.6 in the list of updatable software and did not exclude it. I realized my mistake one X server restart later when the nasty watermark became visible. I figured it was not as big a deal and fired up Apper with the intention of downgrading the Catalyst driver to 12.4. Except, it wasn't there. I decided to switch to the open source driver for the time being while I investigated what might have happened. The open source driver was installed and I was at the login menu. All looked good, except, my keyboard and touchpad wouldn't work. The open source driver has a dependency on latest version of xorg-server. I realized later that when I installed tthe open source driver which caused the xorg-server upgrade, I hadn't selected the XFree86 input driver for synaptic to be upgraded. The version of the input driver that was installed had a dependency on older version of xorg-server and now the missmatch was causing rendering my laptop useless as soon as X session started.

Fast forward couple of very frustrating hours and I was able to break the boot process before X session loaded to get terminal access to a half ready system. Then after remounting the root partition as read/write, I unstalled xorg-xserver and all the installed dependencies. A reboot later into a more usable and now network aware system, using terminal, I installed the open source ati driver. Once I was able to log into the KDE session, I fired up Apper again, and this time more careful about it, I manually downloaded the correct version of Catalyst driver from the mirror site, uninstalled the open source driver and downgraded xorg-server and the hard dependencies as well as XFree86 input driver. I then using pacman installed the 12.4 version of the Catalyst driver and restarted X server. I was now able to login and use the system and begin my efforts at documenting my experience.