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.
|