Friday, January 25, 2013

My openSUSE 12 Journal - 9: Upgrading to Stable Kernel 3.7.4

I took every step and every precaution, with fear and trembling, but I finally took the plunge to upgraded my default kernel (3.4.11) in openSUSE 12.2 to the latest stable kernel (3.7.4).

You know what?  This is the best thing I could have ever done for my laptop!!!

Special Thanks to Mike Veltman, appreciate your guidance and encouragement.

What made me do it?
I have been using openSUSE 12.2 for over 3+ weeks and have noticed some performance issues from a desktop productivity perspective.  This was confirmed when speaking with Mike and also confirmed by a comment from Jack Bauer on my previous blog entry.

Scenario:  Try copying a large amount of files (total file size of say over 1Gb) from your hard disk to an external USB drive.  During the file transfer (doesn't matter if you initiate the transfer via commandline or GUI), the rest of the desktop (except the mouse pointer) is practically dead and unresponsive.  At best, a simple task of opening a new tab on Firefox to surf will take over 10 seconds.  If you want to open LibreOffice to read a doc/spreadsheet, you can forget-about-it.

This was initially tolerated because I would schedule large file backups in the evening after work.  However, it is starting to get to me because I don't recall earlier openSUSE 11.3, 11.4 and 12.1 ever giving me such issues.  The final straw came this week and its my Windows VM... it was running well but I have to put PGP whole disk encryption on the VM.  As expected the Windows VM slowed down but I also noticed its slowing my host as well.

How I did it?

The way to upgrade to the latest stable kernel is fairly straight-forward and unbelievably easy.  Of course, the last time I ever compile my own kernel was easily 8 or more years ago.

The process involves adding a new online repository that points to where the lastest stable kernel resides online and selecting to upgrade to that latest version.

At the time of writing this entry, the latest stable kernel is version 3.7.4.  The default kernel for openSUSE 12.2 is 3.4.6 and 3.4.11, if you applied the official updates.

However, to avoid being burnt, here are the additional steps I took (as a reference for my readers):

Step 1:  Create a virtual openSUSE 12.2 on KVM.  In this guest OS, I installed all the major software that I am using on my desktop host.

Step 2:  Attempt to upgrade the guest openSUSE 12.2 VM to the latest stable kernel and test, test, test
  • test was successful but there's a limit to testing in VM as I cannot test KVM or VirtualBox so... 
Step 3:  Repeat 1 & 2 on my home PC
  • KVM works without any "help" from me
  • VirtualBox doesn't work and drivers needs to be recompiled, easily done with a single command, and its working again.

Here are the steps in more detail of my upgrade:


1. Add the Stable Kernel repository 

Start YaST and go into Software Repositories.



Click Add, next on Specify URL... and enter this URL = http://download.opensuse.org/repositories/Kernel:/stable/standard/ and name it "Kernel Stable" (or any other name that makes sense for you)

Click Next buttons to finish this step.

2. Upgrade to the latest Stable Kernel


Start Software Management in YaST




In the Search field, enter "kernel-" and you will see the kernel and related packages installed on your system.

For my system, I clicked on kernel-desktop and in the versions tab, I can see the new stable kernel 3.7.4 is available.  Click on it to indicate that you want to upgrade to this version.
Note: please be mindful to select the right architecture (32 bit or 64 bit) with the right version.

Click Accept to trigger the upgrade.

On my system, I upgraded the following packages: kernel-desktop, kernel-devel, kernel-source, kernel-firmware.

After the upgrade is complete, you will need to reboot your system for the new kernel to take effect.

What differences did I observed?
What a world of difference!

On my first login, I can already feel the KDE GUI is more responsive.  I tried copying large virtual disk files (raw & vdi) between my USB drive and my local disk, and during transfer, I did not experience the expected lag/slowdown in GUI responses.  In fact, its still as responsive.

I've tested this further by starting up multiple heavy applications like LibreOffice, starting a VM, launching Firefox with 10 tabs etc... all good!

All this on the same hardware... if you want to maximize your desktop experience, you gotta ditch the default 3.4.x kernel and move to 3.7.4.

6 comments:

  1. Hi gentleman,

    Just an advice.Rather add the Tumbleweed OBS repository instead of the Kernel one and take advantage of other newer packages alongside the latest released kernel.

    Have a lot of fun.

    ReplyDelete
    Replies
    1. Thanks, will do. :) I'm slowly working up to it... its just me (not adventurous enough). Haha!

      Delete
  2. Is the tumbleweed repo somewhat fully tested?

    ReplyDelete
    Replies
    1. Yes, it should. I'm conservative because my primary host openSUSE is my production day-to-day work machine. :)

      Delete
  3. hi, gentleman, after the kernel being upgraded to 3.7.4, can still nvidia video driver installed from "ftp://download.nvidia.com/opensuse/12.2/" work well ?

    ReplyDelete
    Replies
    1. Bruce, you will most likely need to re-compile your nVidia driver. Select the Base Development pattern in YaST to install all the tools and kernel-source required for compiling your own binaries.

      Next, download the latest stable nVidia driver for your nVidia card. This will require some Google research to figure out which nVidia driver for your card. If things have not changed over the last two years, you only need to choose one out of two possible drivers. (My last laptop with nVidia drivers was from two years ago).

      To help with your efforts, try the following links:
      1) http://www.nvidia.com/object/unix.html
      2) http://www.nvnews.net/vbulletin/forumdisplay.php?s=7c859f06e7457faa957e15793544748f&f=14
      3) https://devtalk.nvidia.com/default/board/98/linux/

      Good luck. :)

      Delete