NX6325 Kubuntu (Feisty Fawn) Guide (NOW WITH GUTSY TIPS AND HINTS)

Update 23/12/07: I'm currently in the process of MASSIVELY upgrading my nx6325

Watch this space for developments

Update 23/12/07: There have been reports that agressive power management properties in Ubuntu can cause hard drive failure on the NX6325. Go here for full instructions

Update 23/12/07: Fingerprint reader now works, and can be used when performing sudo commands and signing in and out of GDM. Go here for full instructions

Update 27/09/07: WARNING: FEISTY IS NO LONGER IN BETA, GUTSY IS NOW THE CODE NAME FOR THE CURRENT DISTRIBUTION OF UBUNTU. THIS GUIDE IS NOW OUTDATED AND MAY NOT BE UPDATED IN THE FUTURE.

Contents of Page

  1. Hardware Specifications -Working items
  2. Hardware Specifications -Unknown/Not working
  3. Pre-install Preparations
  4. Partitioning the harddrive
  5. Updating Ubuntu
  6. Wireless with Ndiswrapper
  7. Hibernation/Suspend/Thermal issues
  8. 3D Acceleration with ATI proprietary drivers
  9. 3D Desktop effects with Beryl
  10. Add Devices, Trash and Home Icons to Desktop
  11. Suggested Programmes to Install
  12. Amarok
  13. Wireless networking with WPA encryption

Introduction

This is by no means a comprehensive guide as to the installation of Feisty Fawn onto an nx6325 notebook, but is designed to help somebody overcome various pitfalls.

A lot of the information used in this article has been gleamed from or based around the following articles

http://vale.homelinux.net/wordpress/?p=106
http://gentoo-wiki.com/HARDWARE_Gentoo_on_HP_Compaq_nx6325
http://www.puchalla-online.de/nx6325.html

whilst a lot has come from various other forums.

Reasons for chosing Feisty as apose to another distribution/Ubuntu version

  1. Whilst Feisty is in beta release at the current time, it has all the necessary kernel patches to overcome thermal issues that the nx6325 has with Linux due it's buggy DSDT table. Other distrubutions need patches applied to the kernel to make various monitors work, and to ensure the CPU doesn't go into thermal runaway. Whilst possible, this is a pain in the backside to implement and requires good knowledge of kernel hacking.
  2. Ubuntu is debian based, with very easy package management
  3. Most things work "out of the box" on the NX6325 with Ubuntu

Make sure that you update the bios to the latest version available from http://www.hp.com. Instructions in how to do this

from within linux are on http://vale.homelinux.net/wordpress/?p=106
  1. Hardware Specifications -Working items

    • Mobile AMD Sempron Processor 3400+ throttling/power management supported out of the box with Feisty!!
    • ATI Radeon Xpress 200m full dri/opengl acceleration with proprietary driver from ati
    • Integrated BCM4310 Wireless working with ndiswrapper
    • Broadcomm BCM5788 Ethernet working out of the box
  2. Hardware Specifications -Unknown/Not working

    • Fingerprint Reader doesn't work as the hardware vendor hasn't made the drivers open source, and to be fair, it's a bit pointless anyway!!23/12/07 NOW WORKS: see update at top of page
    • Memory Card reader pretty sure that this works, but not on my computer as I think that I damaged it as it doesn't work in windows either
  3. Pre-install Preparations

    Obviously back-up all data in your current Linux/Windows box , then if you haven't done so already download download and burn the ISO for either Kubuntu or Ubuntu from here.

    I personally use Kubuntu simply because I prefer KDE to Gnome as a desktop. The guide from here on in will assume that you have installed Kubuntu
    (You can of course, install either/or and then get the missing packages for either desktop environment post install)

    Put your newly burned disc into the drive and watch the live CD boot up, have a mess about and decide if you like it. If you do, hit the install button on the desktop and let the games begin............

  4. Partitioning the harddrive

    Decide how you want your harddrive partitioning. This is quite a personal issue depending on how specific you want to be and what other distributions (windows/other linux) you want to have installed.
    For example if you want linux and windows installed, on the 60GB Hard-drive then a good installation would be
    • 28GB for Windows
    • 2GB Swap
    • 10GB /
    • 20GB /home

    Make sure you specify a home partition if you are manually configuring your partitioning. If you are a first time linux user, and don't mind losing your rescue partition, select the automatic partitioning tool.

    Healthwarning: Formatting the whole disk will remove the windows rescue partition so windows CANNOT be reinstalled using rescue disks. If you do this, make sure that if you want windows you have a full retail copy to install

    After the harddrive is partitioned, go and make a cup of tea and let the install run through answering any questions on the way.

  5. Updating Ubuntu

    Presuming that the install went through correctly, you will now have a fresh install of Kubuntu Feisty Fawn. Unlike windows, linux does not let you operate as the root user as default, to prevent unnecessary damage to the system. Instead to install programmes use the command:
      sudo

    To make you a member of the admin group (people that can invoke sudo command) run:

      sudo adduser USERNAME admin

    where USERNAME is the username you chose for yourself during install. Any password that is requested by the system will be the password that you chose during the install process.

    The Wireless WILL NOT work yet, but wired internet will. To complete the next step and indeed to get anywhere with linux, you need an internet connection, so plug the ethernet in and let it connect.

    Ubuntu is a Debian based system that uses a system called apt to download and install programmes from the internet.
    Apt should already be configured with feisty's online repositories so invoke

      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get dist-upgrade

    This will upgrade to the newest kernel and newest packages. This is very important as Feisty is in BEta so lots of the packages will have bug fixes. Reboot and select the newer kernel from grub,

  6. Wireless with Ndiswrapper

    The bcm43xx chipset included with the NX6325 laptop does work with some Linux distributions (it has been reported to work with Ubuntu using bcm43xx-fwcutter but not with the 2.20.* kernel), however, I couldn't get it to work so instead use ndiswrapper, which uses the windows driver.

    1. Get ndiswrapper

      The ndiswrapper package available in the Feisty repos didn't work for me, so instead compile from source. Download the latest STABLE version from here http://sourceforge.net/project/showfiles.php?group_id=93482&package_id=99148
    2. Extract the source code

      Change directory (cd) to where you downloaded ndiswrapper (normally the desktop or home folder) and invoke
      tar -zxvf /path/to/ndiswrapper`version`.tar.gz
      change directory into the newly created folder and read the INSTALL and README files.
    3. Compile and install ndiswrapper

      You should be in the ndiswrapper folder now, so invoke the command make. This shouldn't produce any errors. If it does then you may not have the necessary build packages installed. Google around for any errors, produced and install the missing packages with apt-get install.
      When ndiswrapper makes without any errors, invoke sudo make install
    4. Extract windows driver and configure ndiswrapper

      Download the windows driver package for the 32bit version of Windows XP from http://www.hp.com
      . Make sure you have cabextract with apt-get install cabextract

      invoke
      cabextract /path/to/`DOWNLOADEDPACKAGE`.exe (this extracts the driver files from the windows.exe file)
      sudo ndiswrapper -i /path/to/bcmwl5.inf (this installs the driver)
      ndiswrapper -m (this adds an alias for ndiswrapper)

    5. Blacklist bcm43xx driver

      Ndiswrapper is now installed, but to ensure correct function, you need to blacklist the kernel module (driver) bcm43xx that has the missing firmwear

      invoke: sudo kate /etc/modprobe.d/blacklist

      and add:
      # exclude the kernel Broadcom driver
      blacklist bcm43xx

      Save this and exit kate.

      invoke: sudo kate /etc/modules
      and add: ndiswrapper

      Save and exit kate

      This ensures that ndiswrapper is loaded at boot.

    Reboot your computer, and you should now be able to configure your wireless connection via the gui net applet in the dock window.

  7. Hibernation/Suspend/Thermal issues

    Other wikis about the nx6325 give information about fixing issues with the suspend function and thermal issues. For me suspend worked out of the box (!) as did the acpi fan control, which is the main reason for using Feisty. You can verify the fans are working by invoking:
    openssl speed

    After a short while you will hear the fan kick in as the temperature of the CPU rises

  8. 3D Acceleration with ATI proprietary drivers

    UPDATE 27/09/07: This may no longer be necessary, there are reports that the drivers in the repositories work fine.

  9. There has been a lot of development in 3D accelerated Desktop effects in linux recently using either Compiz or Beryl as compositing window managers. However to get these effects you need to first enable 3d acceleration.

    IF YOU ARE NOT INTERESTED IN RUNNING OPENGL PROGRAMMES LIKE GOOGLE-EARTH, GAMES OR 3D DESKTOP THEN DO NOT INSTALL THIS DRIVER AS IT IS NOT REQUIRED.

    First of all download the ati driver installer:
    invoke:
    cd~/
    wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.40.7-x86.x86_64.run

    create the packages for Ubuntu Feisty
    sh ./ati-driver-installer-8.40.7-x86.x86_64.run --buildpkg Ubuntu/feisty


    This will build the packages specific for Ubuntu Feisty.

    Install the packages
    sudo dpkg -i xorg-driver-fglrx*.deb
    sudo dpkg -i fglrx-kernel-source*.deb
    sudo dpkg -i fglrx-amdcccle*.deb

    UPDATE 27/09/07: Patching the kernel is no longer neccesary. This is included for completeness

    Because ATI have not kept up with the 2.20.* kernel development, the fglrx module doesn't build against the kernel without patching. There is a patch available however, that I have found works. So download and install the patch.

    cd ~/ wget http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.35.5-for-2.6.20.patch
    cd /usr/src
    sudo cp fglrx.tar.bz2 fglrx.tar.bz2-original
    sudo tar -xvjf fglrx.tar.bz2
    cd /usr/src/modules/fglrx
    sudo patch -p0 < ~/fglrx-8.35.5-for-2.6.20.patch
    cd /usr/src
    sudo tar -cvjf fglrx.tar.bz2 modules/fglrx

    Compile the kernel modules
    sudo module-assistant prepare
    sudo module-assistant update
    sudo module-assistant build fglrx
    sudo module-assistant install fglrx
    sudo depmod -a

    NOTE: This process (from sudo module-assistant prepare down) must repeated for every new kernel that you install

    The ATI fglrx driver is now installed, but needs to be configured:

    invoke:
    aticonfig --initial

    Which will tell you that the Xorg.conf file has been configured.

    You also need to edit this file, as ATI does not support composite extensions with this driver

    invoke
    sudo kate /etc/X11/xorg.conf
    and add
    Section "Extensions"
    Option "Composite" "Disable"
    EndSection

    Restart your computer to make sure the module gets loaded
    Note: If for any reason, your Xorg.conf file becomes damage due to human error it can be restored by invoking:
    sudo dpkg-reconfigure xerver-xorg

    You should now have a fully working 3D driver. Check with
    glxinfo | grep direct

    It should display yes for direct-rendering.

  10. 3D Desktop effects with Beryl

    UPDATE 27/09/07: Beryl is now defuncted. Compiz Fusion is used instead. Install procedure is similar although not identical to Beryl. Instead of installing beryl do apt-get install compiz fusion

    Note: This is only possible if the ATI proprietary driver has been successfully installed and 3D acceleration is working.

    If you want your desktop to look slicker than your average, then Beryl is the way forward. For a video have a look here. http://www.youtube.com/watch?v=ZD7QraljRfM. There are lots more like it on Youtube.

    These effects come at a price however.
    Obviously they require more processing power, so your computer will run a little slower. I use Beryl with Kubuntu, and the new version is super quick so there isn't any noticable difference.
    There are 2 main ways of running Beryl as a window manager. One is with AIGLX which is built into X, the other is with XGL which runs over X. ATI doesn't support AIGLX so on the NX6325 you have to use XGL.
    This comes at a price however: As XGL runs over X, you can't run Opengl programmes or games like GoogleEarth while running an XGL session.
    If you can't cope with this, then don't read the next section, if you want spanking effects, read on........

    Edit: 07/04/07. You can run opengl programmes while running XGL by invoking
    DISPLAY=:0 /path/to/programme (or Display=:"0" /path/to/programme in Gnome)
    Opengl programmes then run on their own display, admittedly not as fast as they could, but easily good enough for googleearth

    The Beryl packages that are available in the Feisty repositories are BROKEN. For this reason use the official Beryl repos.

    Invoke:
    sudo deb http://ubuntu.beryl-project.org/feisty main
    to add the beryl repo to your /etc/apt/sources.list

    Install the package signatures:
    wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -

    Update apt:
    sudo apt-get update

    Install Beryl, the XGL server, and Emerald (Beryl window decorator):
    sudo apt-get install xserver-xgl beryl emerald-themes aquamarine

    We now need to create a separate session for an XGL session. This ensures that if anything goes wrong, then we can still login to a normal X session:

    invoke:
    sudo kate /usr/local/bin/startxgl.sh

    add this to the newly created text file:
    #!/bin/sh Xgl -fullscreen :1 -ac -br -dpi 96 -accel glx:pbuffer -accel xv:pbuffer &
    sleep 4
    export DISPLAY=:1
    cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
    xauth -i add :1 . "$cookie"
    exec /etc/X11/Xsession startkde
    xmodmap /usr/share/xmodmap/xmodmap.uk
    xmodmap -e "keycode 22 = BackSpace"

    Make this newly installed script executable
    Invoke:
    sudo chmod a+x /usr/local/bin/startxgl.sh

    Make an entry so you can chose this session in the KDM login screen:
    Invoke:
    sudo mkdir -p /etc/X11/sessions
    sudo kate /etc/X11/sessions/xgl.desktop

    Add this to the newly created text file:
    [Desktop Entry]
    Encoding=UTF-8
    Name=Xgl-KDE
    Exec=/usr/local/bin/startxgl.sh
    Icon=
    Type=Application

    At the login screen now, there should be an option Xgl-KDE. Chose this and log in. When the session loads up, in a console invoke:
    beryl-manager
    Windows will go wobbly and you might see the beryl splash screen. You should see the emerald (red jewel) icon in the KDE dock. This can be used to configure all of Beryl's settings from the window decorations to the animation effects, so have a play around!!
    In the settings in Beryl, make sure that the window manager is set to Beryl and the window decorator is set to emerald.

    Assuming all is well, you need to configure Beryl to load at startup
    Invoke:
    sudo cp /usr/bin/beryl-manager /home/`USERNAME`/.kde/Autostart

    Incidently, the method of copying the bin file to the Autostart folder will mean that any requested programme will start on boot up.

    You should now have a sexy looking, totally configurable KDE Desktop.

  11. Add Devices, Trash and Home Icons to Desktop

    Having come from Mandriva, I found icons on the Desktop really favourable, to get them:
    For trash:
    1. Create new text file with kate on desktop
    2. Add this to the entry
      [Desktop Entry]
      Comment=Contains removed files
      EmptyIcon=trashcan_empty
      Encoding=UTF-8
      Icon=trashcan_full
      Name=Trash
      Type=Link
      URL=trash:/
    3. Save as Trash.desktop

    For devices:

    1. Create a new "link to device" on desktop
    2. in the command box put:
      konqueror --profile devices media:/
    3. Choose your icon for this

    For home:
      same as for devices, except
      konqueror --profile devices /home/USERNAME

  12. Suggested Programmes to Install

    All of these can be installed with the command:
    sudo apt-get install
    or if you want GUI
    sudo adept_manager
    • Firefox: decent web browser from mozilla
    • Thunderbird: decent mail client from mozilla
    • Openoffice: very good office programme
    • VLC: media player
    • Gtkpod: Ipod manager
    • Java: Install Sun java to run Java apps
    • Azureus: Decent Java Bittorrent app

    I also use Kooldock, which is a docker app that works well with Beryl. It is not available with apt however and must be compiled from source.

  13. Amarok

    Amarok comes installed with Kubuntu and (in my opinion) is the best musical application going. However, due to Ubuntu not having the rights to various codecs (.m4a etc), they have to be installed manually.
    These can be obtained from the Mediubuntu repository.
    Add Medibuntu GPG key to the system
    wget -q http://medibuntu.sos-sts.com/repo/medibuntu-key.gpg -O- | sudo apt-key add -

    Add the package list to the /etc/apt/source.list file
    sudo wget http://medibuntu.sos-sts.com/sources.list.d/feisty.list -O /etc/apt/sources.list.d/medibuntu.list

    Update apts package information
    sudo apt-get update

    Install the packages
    sudo apt-get install w32codecs

    Also install the encrypted DVD package package to play encrypted DVDs

    sudo apt-get install libdvdcss2

  14. Wireless networking with WPA encryption

    If like me you need to connect to different wireless networks, some with WPA encryption, then the knetworkmanager doesn't make the grade, not only because at time of writing (15/04/07) the updates have broken this on my laptop, but because it doesn't support WPA encryption.

    To handle WPA encryption we need a set of files/programmes called WPASupplicant. I'm 99% sure these are included with Feisty but to make sure do:
    sudo apt-get install wpasupplicant

    This will either install them or verify they are installed. There are a couple of GUI frontends for WPASupplicant (wpa_gui and kwlan) but I have found these to be unreliable and not to work. Hence this guide will configure everything from the command line.

    WPASupplicant parses all it's information (like most things in linux) from an editable text file called wpa_supplicant.conf. Fortunately there is a compressed example file for this located at: /usr/share/doc/wpasupplicant/examples/README.wpa_supplicant.conf.gz

    copy this to the desktop:

    cp /usr/share/doc/wpasupplicant/examples/README.wpa_supplicant.conf.gz /path/to/user/Desktop

    And right click and extract the text file.

    This text file is basically a template to create any wireless connection, so familiarise yourself with the various different authentication procedures that may be different to the 2 examples I will give later on.
    Copy this file to it's new home:

    sudo cp /path/to/README.wpa_supplicant.conf /etc/wpa_supplicant.conf

    So we now have the readme file with all lines commented out with # located at /etc/wpa_supplicant.conf.

    Next we need to edit our /etc/network/interfaces file so that it parses the wpa encryption file and not just regular wep encryption.
    NOTE: wpa_supplicant.conf can handle both wep and wpa encryption

    Look for the lines corresponding to eth1, and comment out all lines other than:
    auto eth1
    iface eth1 inet dhcp

    And add the following line:

    wpa-conf /etc/wpa_supplicant.conf

    This will tell the network to parse the file located at /etc/wpa_supplicant.conf. Now to add wireless networks to this file so the network has something to parse. As I said, in the file are included a lot of examples, so you will have to gain exact details of the wireless network from your system administrator. Here are examples of the 2 wireless networks I use:

    1. Home network, simple WEP, shared key
      network={
      ssid="MYSSID" #this is the name of your network
      key_mgmt=NONE
      wep_key0=encryptionkey #this is the encryption key in hex
      wep_key1=encryptionkey
      wep_key2="1234567890123" #this is the encryption passkey in text
      wep_tx_keyidx=0 #this tells the network what key to use
      priority=5 }

    2. Uni Network, WPA, TKIP, PEAP, EAP-MSCHAPv2
      network={
      ssid="MYSSID"
      auth_alg=OPEN
      key_mgmt=WPA_EAP
      proto=WPA
      pairwise=TKIP
      group=TKIP
      eap=PEAP
      identity="*******" #this is my uni supplied username
      password="*******" #user set password
      phase1="peapver=0"
      phase2="auth=MSCHAPV2"
      eapol_flags=3
      }

    Depending on which configuration I'm using, I simply comment out the lines corresponding to the network that I'm not using. I haven't found any other way to swap simply from network to network, but because I don't do it on a daily basis, it's not a problem for me.

    Time to test. Do:
    sudo ifdown eth1
    sudo ifup eth1

    Watch for errors. Anything to do with parsing the wpa_supplicant file means that you have made errors in the syntax of the file (typos etc). If you don't have any connectivity and you don't get an IP check that you have included the right options in your file. Sorry there is no GUI method for this, but at least there is WPA connectivity!!

    That's it. All information is gleamed from various online sources, all I have done is collated it and added what I have gained from my own difficulties installing Kubuntu.
    Remember Feisty is still in development, so report any crashes to the Ubuntu team.

    Any questions/ammendments/comments email: me

    Screenshots of Kubuntu and beryl

    TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones