Linux on the IBM ThinkPad R50

Written by: Dan Harper

This page is dedicated to providing as much information as possible to get Linux up and running on an IBM ThinkPad R50.  The specific model number for this unit is: 182977M.


More information including an installation of SuSE Linux Professional can be found on my blog: Linux Desktop Blog.

Change Log

  • 2004-05-27
    • Original document written
  • 2004-05-31
    • More testing info on audio software: Ardour, Jack, Jamin.
    • Hardware: Modem issues, Networking, multiple sound interfaces.
  • 2004-06-01
    • Tips on 96kHz operation for the HDSP from Thomas Charbonnel.
    • Wireless networking now operational.
  • 2004-10-08
    • More information on my experiences with multichannel recording with the RME interface.
  • 2004-11-19
    • A Linux distribution change from Fedora to Ubuntu.

Hardware Specs

  • Intel Pentium M 1.6Ghz CPU
  • 512Mb RAM
  • 1400 x 1050 15" LCD Screen
  • 32Mb ATI Radeon 9000 Video Card
  • 60Gb HDD
  • 1 x Type I/II/III Cardbus Slot
  • Firewire
  • USB 2
  • 1000/100 Intel Ethernet Built in
  • 56K modem built in
  • CD-R/DVD drive
  • a/b/g Wi-Fi mini-PCI card
I'll also be covering information on installing and using the RME Hammerfall DSP Multiface with the CardBus interface.

Update (2004-05-31):  Also, all the important things that they don't tell you in the sales pitch:  The R50 has a small in-line transformer on the power adaptor.  I mean, it's very small and light, much better than what I've seen on a Sony or Dell notebook.  It's makes your notebook much more portable.

Linux Distribution Choice

Fedora Core 1.  Core 2 is out just recently, but I've decided to stick to the 2.4 kernel because the laptop is going to be the core of my sound studio.  2.6 is not yet capable of real-time, low latency audio yet.  I'm also going to install the PlanetCCRMA rpms for all my audio programs, apt-get is good.

Update (2004-11-19):  Well, I've become sick and tired of Fedora's poor performance on the desktop. I realise that Fedora Core 1 is a little old and doesn't have all the recent whizz-bang features that some new desktop distros have, but I've tried Fedora 2 and it fell short of the mark. But one recent distro I've tried is Ubuntu. I've installed it on my computer at work and so far I've loved it.

There are some risks involved however.. Ubuntu is based on the 2.6 linux kernel, which is not yet ideal for Linux audio as yet. But, I've heard some good results with the recent work on the Linux kernel to get rid of the realtime problems. There is also an issue with packages, Ubuntu is based on Debian and so is not a perfect match for Linux Audio. Linux audio releases very often and since Debian is classically slow in releasing new packages, it means that I won't be running the latest and greatest, unlike Planet CCRMA, where Fernando keeps us all happy with lightning fast package releases. But the Fedora hackiness on the desktop is enough to tempt me to bite the bullet and go for it.

A break down of the good and bad in Ubuntu:
  • GOOD: 2.6 Kernel is fast, and Ubuntu is fast,
  • GOOD: Nice gnome 2.8 desktop.
  • GOOD: It's based on Debian, so extra packages are only an apt-get away.
  • BAD: No centralised control panel type application.
  • BAD: Has a few rough edges.
  • BAD: 2.6 is an unknown factor for Linux Audio.
    Details of the installation of Ubuntu is given further down.
  • Installation

    Firstly, something to be aware of.  The ThinkPads have a system restore function that dedicates part of the hard drive to.  This means that in partitioning the disk, you need to be careful that this stays in place if you ever want to restore the factory configuration at some point.  Information describing successful setup of dual boot configuration while keeping the system restore functions in tact can be found here, a good source for this setup in general can be found here.
    • Step 1:  Resize the Windows partition
      • I used Partition Magic 8.0 to resize the partition. 
      • I changed the swap file size to a reasonable size (300Mb I think).  Make sure that you set the max and min to the same value to increase performance. 
      • Then turn off System Restore.  This allows you to make the partition size a smaller and more sane value. 
      • As this is to be used for multitrack audio applications, there needs to be as much hard disk space as possible for Linux audio applications.
      • Then I resized with Partition Magic, making the Windows NTFS partition around 6.2Gb.  This gives me about 2Gb free in Windows while also giving me enough room to get the Linux /boot partition in before the ~8Gb limit for booting from.
    • Step 2:  Install Fedora Core 1
      • Reboot the machine to resize and partitions and reboot a couple more times.  Then boot from the Fedora CD to being installation.
      • Fedora does not detect the LCD properly, you'll need to specify the screen with the specific 1400x1050 resolution.
      • My partition structure looked like:
        • /dev/hda1 - 6Gb - NTFS
        • /dev/hda2 - 75Mb - ext2 - /boot
        • /dev/hda3 - 46Gb - ext3 - /
        • /dev/hda4 - extended partition
        • /dev/hda5 - 1.4Gb - fat - /share_fat
        • /dev/hda6 - 1Gb - swap
      • I probably should have created a separate partition for my audio work, which I'll probably change later.
      • The FAT partition is important, as the IBM has no floppy drive and you'll need to share files between systems.  You need to transfer the Grub bootloader section of the /boot partition to a Windows file later for dual booting from the Windows bootloader.
      • NOTE:  Make sure that you place Grub in the /boot partition, NOT the MBR!  For Fedora Core, it's a bit weird, but when you get to the Grub config section, check the box for advanced config, then once you've pressed Next, you can assign Grub to go to the /boot partition instead of the MBR.
      • Reboot with Knoppix.
      • Copy the Grub bootloader with dd to a file, and place it in your FAT partition.
      • Reboot to Windows, edit the boot.ini file to point to the Grub bootloader with a Linux option.  More information on this can be found here.
    • Step 3:  Install PlanetCCRMA
      • This is of course optional.

    Hardware Testing

    Video

    All video seems to be fine straight out of the box, Tux Racer has a good refresh rate, nice and smooth.  X displays the 1400x1050 resolution with no problems.  The Chromium game that comes with Fedora even runs nicely in 1280x968.

    Network

    The Intel 1000Mbit card works flawlessly, but no wireless.  This particular ThinkPad is not a true Centrino as it has a G based wireless card.  Problem is, the Linux kernel says the device is unknown in lspci, and Windows doesn't give me any information on the chipset or brand used for the card.

    Update (2004-05-31):  It has been difficult also to get the chipset of the wireless card that the ThinkPad uses, the only way I was able to do it was go into Windows, find out what driver file it was utilitsing (a .sys file) and then Google for it.  A real pain, but I found it, and there are no Linux drivers completed yet, but they are being developed.

    The chipset used is an Atheros ar5211. There may be a way to use the NDIS Windows driver support thingy in Linux, I haven't looked into it yet, but I may try it out.

    Update (2004-06-01):  I was able to find drivers for the wireless card, madwifi.  Here is an excerpt from the FAQ:

    Multiband Atheros Driver for WiFi, A linux device driver for 802.11a/b/g universal NIC cards - either Cardbus, PCI or MiniPCI - that use Atheros chipsets (ar5210, ar5211, ar5212).

    The driver is based on a binary HAL (and so the driver will taint the kernel), and the sourceforge page currently has four registered developers.

    I even found kernel modules compiled against the standard Planet CCRMA kernel here at ATrpms.  I installed them and it all works.  Now, I just need to find a netstumbler alternative for Linux and a wireless network to connect to!

    Sound

    The built in Intel 810 chip works fine in OSS and in ALSA.  Details on the RME Hammerfall below.

    Update (2004-05-31): I am having problems though setting up two cards to play nicely together.  The alsaconf util does not support multiple sound cards (picking one replaces the other), and I'm having trouble in tracking what cards are available and defaulting to one or the other.  Using jack seems to fix the problem, not sure how, but ALSA on it's own seems to be picking the Hammerfall card all the time without dropping back to the inbuilt card when the Multiface is not plugged in.

    Mouse

    Doesn't work in the initial setup screen on a Fedora first boot, but works once the X Windows screen appears.  I can't get the middle mouse button to work as yet.  Touchpad tapping for mouse clicks also works fine.

    Hardware Buttons & Power Handling

    Laptops are renown for having little volume controls, screen brightness adjustments, etc on little buttons around the keyboard.  My experience with these in Linux has not been good, but I'm happy to say that most work on the ThinkPad out of the box.  Volume control, screen brightness and keyboard light work fine.  Even the bluetooth function works and loads the modules.  I haven't tested the others yet.

    Update (2004-05-31):  The power saving features of the notebook work in Linux.  Unplugging the power puts the CPU in low power mode and the screen brightness automatically dims.  This is much better than my previous experiences with Sony notebooks, where any power saving features did not work outside of Windows.

    Overall battery performance is very good, I think I get about 5-6 hours with the provided battery (which is the extended model).

    No suspend functions work out of the box.  As a matter of fact Microsoft Windows hangs after starting Windows from a suspend.

    Apparently there are some utilities available for Linux that I'm going to install and check out soon.

    Modem

    The modem does not work in Linux as it's a Winmodem.  I've heard that there are Linux drivers available that I will test soon.

    Heat

    The notebook runs quite cool all the time, there has been a few times where some hot air has been slowly pumping out the vents on the side, but it's rare.

    Noise

    The notebook is very quiet. Great for recording in the studio.  The CD-ROM makes some noise though.  There is also no noticable interference from the power supply in the internal or Hammerfall audio interfaces

    Untested as yet

    • Power saving features of the Pentium M. (Tested, no suspend features in Linux)
    • Firewire
    • USB2
    • Recording with line in or built in mic
    • Standby modes (Tested, no suspend features in Linux)
    • CD Burning (Tested, works)
    • DVD Playing
    • Bluetooth (installs fine in dmesg when using the keyboard function, but untested as I don't have anything that does Bluetooth.
    • Modem (Winmodem - Does not work in Linux, but will try Winmodem drivers soon)

    Update (2004-11-19):  UBUNTU EXPERIENCES:

    OK, How did Ubuntu fair in the installation? Well, the installation itself went smoothly. Now, the partition change that I was talking about in regards to an audio partition I had actually implemented a while ago, but this time around I also created a partition for my home directory. This means that I can mess around with distros a little easier in the future. Ubuntu is based on the new Debian installer, which is text based, but is much easier than the old Debian installer.

    One super bad experience, I had backed up my data onto an external firewire drive, but when I was copying my data back onto the system, the drive was killed. I'm not sure what is to blame here, Ubuntu, 2.6, the hardware, or what, but it was dead. I was able to recover some data by cooling the drive down and then fsck-ing the disk to recover some of the data. Luckily I also had a go at backing up over the network to my work computer, so I didn't lose everything.

    Some nice differences in Ubuntu to Fedora:

  • The firewire drive is automatically detected, mounted and appears on the desktop when connected to the machine.
  • The wireless works out of the box. Although there is no graphical control application for it, an applet appeared on the desktop but I had to "sudo ifconfig ath0 up" on the command line to activate it.
  • Adding Debian unstable to the apt sources gave me instant access to some Linux Audio applications. Debian has picked up a lot more audio apps since I last tried Debian about 3 years ago.
  • All QT applications look ghastly. Ubuntu is a strictly gnome config out of the box. I just need to figure out how to improve the look of the QT apps without installing all the KDE junk.
  • I had to install the realtime-lsm module, but oh, Debian, what a fantastic distro. Had it installed and realtime access working in no time at all with some help from Google.
  • So far, after one day (!) Ubuntu vs Fedora is about equal. Each one has annoying shortcomings.


  • RME Hammerfall DSP Multiface with the CardBus interface

    This was unknown when I researched and ordered this laptop.  Which made it very hard to find out whether my money was going to give me an expensive door stop or not.  But anyway, the CardBus chipset is the TI 4520.  I'm happy to say, that so far it all works.  At first though, it didn't.  I plugged it in, configured ALSA, loaded the HDSP firmware, but on first test there was horrible distortion on the output.  One look at /proc/interrupts and I noticed that every device and its dog was on IRQ 11.  So I edited /etc/modules.conf and added an option to the yenta_socket module to go to IRQ 10.  Reloaded the modules and the sound was perfect!

    Update (2004-06-01):  While I was searching through the BIOS last night, I found that all the PCI devices had IRQ 11 assigned to them.  It looks like it all configurable from the BIOS.  This is a great feature, thanks IBM!  This should help a long way to resolve any latency issues that may arise in the future, I haven't extensively tested latency yet.  Once thing that is handy though, by having all devices on IRQ 11, I can just move the low latency devices I want off the default and leave the others where they are.  Handy!

    So far I've tested playing a few ogg files.  I was able to play an ogg, rip from a CD, encode a file to ogg, show the hdspmixer window, and run a screensaver all at once, with no glitches at all!  Impressive!

    I'm yet to test jack and ardour and recording multitrack audio, this will be the real test of the system though.  Results to come soon.

    For testing I was using a pair of Edirol MA20D monitors using the digital jacks.  One problem I had was using SPDIF on the optical interface, I had no signal from the Multiface, but using SPDIF on the coaxial connections had no problems.  This may be a configuration issue with the HDSP, not a big deal as coax is probably fine by me, but it'd be nice to have the option.

    Update (2004-05-31):  OK, I've now tested Jack, Ardour and Jamin.  They all work, no problems.  I can't seem to get 96kHz out of the Hammerfall though, not sure what's happening here, but 24-bit, 44.1kHz works fine.  I am having some problems though with having the two sound cards playing nicely together (built in intel8x0 and the Hammerfall).  hw:1 and hw:0 sometimes point to different interfaces, I think the problem is with ALSA, maybe I need to play around with an .asoundrc, but I can never really understand the format of this file and no one I've found seems to understand it either.

    Running some tests, if I play Ron Parker's demo Ardour session (the one that he provided to Steve Harris for demo in the last Linux Audio Conference) with Jamin, I can play the whole session with about 40-50% DSP usage.  This is fairly good as there are quite a number of tracks on this session, but there are no plugins or automation.  As I build up a new session of my own recordings, I'll post the results here.

    Update (2004-06-01):  Thomas Charbonnel has tipped me off to a way to enable 96kHz on the RME HDSP, I haven't tested it yet, but I know Thomas is very knowledgable on HDSP issues:

    Hi Dan,

    I read on your page you had problems using the hdsp at 96kHz. To do so you
    have to switch to double speed mode (i.e. to a sample rate > 48khz)
    manually before opening the desired app. You can do this either
    graphically with hdspconf (part of alsa-tools) or on the command line
    using amixer :
    amixer -c X cset numid=11 Y
    where X is your hdsp's alsa card number and Y the rate needed (6 is 96kHz).

    Thomas

    Update (2004-10-08):  Fairly recently I recorded a band in the studio.  In total we did 8 analog in (vocals, acoustic guitar, bass, and 2 percussionists), 5 analog out for headphone monitoring (everyone should have had separate sends, but Ardour kept crashing when setting up sends), and 2 SPDIF out for my studio monitors.

    In a live recording sense, it worked sort of OK.  The only thing I had trouble with were random xruns that started to appear half way through the day.  After a reboot everything seemed fine.

    Overall, it works, but there are a few minor things that I don't like and haven't really had time to work through them as yet:
     - I have to unload/reload the Cardbus/ALSA/HDSP after I boot, re-assign IRQs etc.  Not sure why, but I haven't got time to wade through Fedora's config mess to fix it properly (I just run a script after I login to fix
    it).  If I don't reboot, my audio is garbled.
     - xruns are $%*^& (really annoying).  I still get them every now and again, but I may have tracked it down to using a reiserfs filesystem.  I've now switched to ext2 and there are less xruns now.  But I still get them every now and again, even with ext2.  I'm running Jack with -p64, but shouldn't the RME be able to run at this latency setting with no problems?
     - I wish there was an easy way to set mixer levels and config of the HDSP to restore on bootup?  I haven't looked too hard, but it seems a pain (I use SPDIF optical as my main monitoring, so I have to enable SPDIF on ADAT and set the levels with HDSP Mixer every time).
     - Ardour/JAMin/LADSPA/Jack etc etc "magically" get more bugs the more you use them and rely on them for a finished project.  Some are REALLY driving me nuts.  Apps dying is a common occurrence.  If you're looking at reliability, Linux audio is currently not the place for it.  Some people may disagree with this, and I can see why.  If you're doing simple stuff, then fine.  But when you start utilising 10-12 tracks/7 buses/(sends don't work) in Ardour and LADSPA plugins/mastering.  The process falls apart real quick.

    If you're looking for reliability, then wait, or bite the bullet if you're willing to accept the cost.

    The weird thing is, that Linux has this "pull", based on it's philosophy.  Once the software begins to further stabilise, then there will be happiness.  I've been tempted every time I'm trying to just get something done without a crash to go to windows or something, but I'm hooked on the concepts.  Jack, Ardour, JAMin, Hydrogen, Zynaddsubfx, LADSPA, all potentially great apps with source available, quick bug fixes and an open community.  There is enough here to keep me here and not wander off to windows land.  I'm just hanging out for these apps to stabilise and offer what they are aiming for.  Then I can more easily make some music, which is all good.

    Also a note, to minimise xruns, I need to run X with DRI turned off.  This means that graphics are slow, so Jamin is a little painful to use and not as repsonsive as it could be, but with DRI on, I get too many xruns to be acceptable for audio use.


    2004 -  Dan Harper