Toshiba Libretto

This page is about running GNU/Linux on Libretto L1 series laptops (L1, L2, L3, L5, etc). It also contains general information about the hardware that may be useful regardless of what OS you are running.

Readers may edit this page. Corrections and improvements are welcome. Please don't write in the first person unless you sign your name after what you wrote.


The hard part of running GNU/Linux on these machines is the initial installation, since they don't have an internal CD-ROM, nor can many floppy-based installs handle a USB floppy drive. Various techniques are available:

See the installation section of the Linux Laptop-HOWTO [3] for more ideas.

The following sections contain hints or details for specific GNU/Linux distributions.


See DebianizedLibretto.

For ubuntu installations try the netinstall guide at [4] For more help with PXE, DHCP and Net boots in general see [5], the guide is for a sharp diskless laptop, but the procedure is exactly the same.

Red Hat

See LibrettoAndRedHat.

Fedora Core 2

For floppy based installs, follow these instructions [6]. There is an excellent japanese guide available [7] [8]. Use Babelfish [9] for assistance.

Other Distributions

There are some tiny distributions which may be installed on any Libretto, starting from Libretto 50CT on: [10] - [11].

Another small distribution which should be working is Puppy Linux: [12]

Subsystem Notes


There is no BIOS configuration screen. The system can only be configured from software. This type of machine is known as "legacy-free". Toshiba only provides utility software for Windows. Other legacy-free Toshiba laptops are: Satellite 5005.

The Libretto doesn't support APM. The toshutils package [13] doesn't seem to work on this series of Librettos.

Fortunately boot device selection can be done without BIOS access.

An alternative is to boot holding the left or right arrow keys or F12, in which case you can choose the boot device graphically. Use the arrows to select the device icon and hit enter.

[L5] On the L5, the F for floppy boot is replaced with U meaning USB. Use this for booting from USB floppy and certain USB CD-ROM drives (see CD-ROM section below).


The Libretto has a Crusoe TM5600 600MHz. There is a variable-speed fan that is a useful indicator of how hard the CPU is working. Using the longrun utility the CPU power usage can be controlled easily. With the following setting the fan doesn't come on even when doing a kernel compile (may vary by your room temperature):

longrun -s 0 33

The -f option (economy / performance) doesn't seem to have any effect on power, so what does it do?

Here are the gcc performance options used by the kernel when configured for the Crusoe processor. Since Linus works at Transmeta, one would hope he knows what he's doing here.

-march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0

[L5] The L5 has a Crusoe TM5800 800MHz. Even with the faster processor, it seems to run cooler.


There is one memory expansion slot for a PC100 micro DIMM (PC133 will work also).

[L5] The L5 requires PC133 speed.


The southbridge is an ALI M1533, including IDE, USB, Audio, etc. The manufacturer has Linux support (NOTE: update sound section after checking this out):

internal pointer

There is a keyboard pointing stick and four mouse buttons (two big, two tiny). The pointer is compatible with a PS/2 intellimouse (select "ImPS/2" in XFree86). The tiny buttons awkwardly emulate the mouse wheel for destops that support it such as KDE.

For 3rd button emulation, it's awkward doing a two-button click with just your thumb.

[L2] Experience occasional KDE kicker (task bar) crashes using XFree86 4.2 when clicking the pointer buttons. XFree86 logs "unexpected button timer in state 0". kicker can be restarted from a console. --Michael Frank

internal LCD

The resolution is 1280x600 at 140 dots per inch. Not bad but not that great for browsing web pages due to the short vertical resolution. Annoying is that the default window size of many apps assume a larger vertical size. There is room for a taller display... 1280x768 would be nice for future laptops.

Unfortunately there is no manual control for LCD brightness. Lowering the brightness is essential for good battery life. The ToshibaAcpiDriver provides software brightness control.

The LCD does switch off when the lid is closed (make sure it is closed completely on the right side), which at least keeps the keyboard from melting.

The LCD often receives praise for its high brightness, however it is not perfect. When viewed at an angle of 90 degrees or higher the colors are washed out.


The Libretto L's are only available with Japanese keyboard (jp106), but the US keyboard [14] from an older model is compatible. The Portege US keyboard model UE2004P12 / P000265440 is also reported to be compatible [15]. Rather than replacing the pointer-stick (in japanese)[16], you can just bend the cable on the US keyboard so that it reaches the motherboard socket.

Both keyboards are missing alt and ctrl on the right side.

On the Japanese keyboard there is a Fn key placed in a prime location which is unfortunate since it can't be remapped (to Ctrl for example).

It would be useful to make an xkeycaps [17] definition for the Japanese keyboard (the US keyboard is already defined). Looking at how this has been done for other Japanese laptops will be helpful [18].

[L5] The L5 suffers from Toshiba's infamous "repeating keys problem" under X. It seems to be a hardware problem where extra key up events are sometimes generated. While the console ignores these extra events, certain X keyboard handlers treat them as new key presses. Several workarounds have been implemented, but few fully alleviate the problem.

One workaround is to add the following to your keyboard section in XF86Config-4 (or use the command line equivalent, see man keyboard). However, this doesn't seem to help with XFree86 4.2.x.
Option "XkbDisable"

There is an "unexpected-keyup" patch for the 2.4 Linux kernel that seems to completely hide the problem [19].

Another workaround uses the xbounce utility [20].

The Linux 2.6 kernel seems to handle the problem. However, the kernel will constantly generate "atkbd.c: Unknown key" messages unless you use the kernel option [21]. Use i8042.reset too, otherwise your keyboard won't work after resuming from suspend-to-RAM.


The built-in modem is a Lucent AMR winmodem. Linux support for this modem is now appearing [22] [23], however the driver does not support the exact southbridge chip in the Libretto (ALI 1533).

pc card

Use of the pcmcia-cs package (3.1.0) instead of the kernel PCMCIA seems to be required for full operation of both cardbus and older PCMCIA cards.

There are issues with the the PC card controller and software suspend [24].

[L5] The L5 has the ability to boot from a PC card.


The L1 series has 2 USB 1.0 ports.

The bus power of the USB ports appears substandard. I've had the experience where an external 2.5" drive that runs fine from bus power on other machines will not run on an L1, even with the laptop on AC power.

[L5] The USB bus power on the L5 seems improved.

Sometimes it is useful to have USB during a DOS boot (to copy something from a cdrom for example). This page [25] references a set of useful dos drivers [26] which have been successfully used on the L1.

For USB2, a PC card adapter will be needed.

The ADS pcmcia to 1394 and USB2 (2x1394, 2xUSB2) does NOT work with the Libretto L5. (Why not? What about the other Libretto's?) The D-Link pcmcia to USB2 (2xUSB2 Model:DUB-C2) does work.


The firewire should work fine-- has anyone tested it?

A kernel patch may be required [27].

[L5] The L5 does not have a firewire port! For firewire, a PC card adapter is needed.

The ADS pcmcia to 1394 and USB2 (2x1394, 2xUSB2) does NOT work with the Libretto L5. (Why not?)

[L5] SD card slot

The L5 has an SD card port. According to the Toshiba spec sheet, MMC type cards are not supported, although it's unclear if this is a limitation of the hardware or the Windows driver. Due to their proprietary nature and licensing restrictions, Linux does not support SD cards.

Somebody wrote:

Linux-2.6 has support for SD cards, it shows up on in pciutils, but has not yet been tested, more later after I get a card.

A device being listed on your PCI bus doesn't mean that there's a driver for it. There is no Linux driver for the Toshiba SD card reader. --JohnBelmonte


The video chip is an S3 Savage/IX. There are two XFree86 driver distributions for this chip. One is free software provided by Tim Roberts [28]. The other is by S3 [29] (just Tim's code plus support for some newer chips), without source. The driver included with XFree86 is Tim's (??).

Good XF86Config:

There are two mode settings in the above file. The first is 56Hz refresh and the second is 64Hz.

Better yet, use the [XFree86 Modeline Generator] to create a decent mode, like this 70Hz mode Modeline "1280x600" 71.34 1280 1312 1576 1608 600 612 619 631.

The configuration uses 16-bit color depth. Changing it to 24-bit causes severe video noise when moving windows. The Windows driver has no problem with 24-bit mode so it seems something is wrong with the Linux mode setting. 24-bit seems ok with the driver in XFree86 4.1.

The video switch hotkey (F5) is not handled in firmware, so software control is required. The XFree86 driver has a video switch utility called s3switch, however it does not seem to work correctly on the Libretto. Use the ToshibaAcpiDriver instead.

Dual-head display (where the LCD and external monitor work at the same time, showing different content) is possible. See LibrettoDualHead.

To get a high-resolution console, enable frame-buffer and VESA support in the "Console drivers" section of the kernel configuration. Then set the VESA mode from your boot manager (for example, append "vga=0x303" to /etc/lilo.conf). Here are some modes that work well:

[L5] The L5 has a different video chip, the ATI Radeon Mobility M6. The X driver for this chip is only available as of XFree86 4.2. No VESA modes are available for the full 1280 x 600 LCD resolution. There seems to be a video problem when using an external resolution of 1280 x 1024 x 24bpp.

With kernel 2.5.75 the framebuffer driver (ATI Radeon) works with 1280x600. --joern

Turn off the "rhgb" (graphical boot) kernel option if you want to have text consoles that work and later let you switch between consoles and X.


The volume of the system sound (system beep, PC card modem output) is controlled with a hotkey implemented it firmware (no driver necessary).

The sound device is a Trident ALi 5451 PCI. A kernel patch regarding interrupts is required [30] for proper operation. The patch has been verified to work.

[L5] On the L5, the system sound hotkey is moved to the Esc key, and furthermore is not implemented in firmware. The default state at power-up is off. This means that until there is some solution for changing the volume, you cannot hear system sounds on the L5.


The L2, L3, and L5 have a built-in 100 Mb network device.

[L2, L3 (?)] Device is Intel i82559 Ethernet, rev 8.

[L5] Device is RealTek RTL8139. There is support for this in the Linux kernel (CONFIG_8139TOO). There is another driver maintained outside the kernel that claims to be better [31].


ACPI works fairly well. The halt command and power switch work fine for shutdown. Reboot works. Power supply information works.

Toshiba has included many custom ACPI methods in their implementation, which can be used to control certain hardware configuration such as the LCD brightness and CRT output. See ToshibaAcpi.

Support for suspend-to-disk (both via Linux and firmware) and suspend-to-RAM is improving steadily in recent 2.4 and 2.6 kernels. There seem to be two Linux suspend-to-disk implementations in the 2.6 kernel (see ./Documentation/power/swsusp.txt in the kernel source tree for more information), and something called "suspend2" on the way.

S3 (suspend to RAM) works! Grab, and use [this patch]. (2.6.10 with the patch works, too. However, suspend-to-ram seems to kill the fb console -- yashi) Example script:
rmmod ohci_hcd
/etc/init.d/pcmcia stop
touch /var/run/ignore_powerbtn
echo "sleeping..."
sleep 2
echo "mem" > /sys/power/state
modprobe ohci_hcd

/etc/init.d/pcmcia start

Note that the power button must be used to wake from S3, and by default this will trigger a shutdown as soon as you resume. In the script above, the /var/run/ignore_powerbtn file is used to change the behavior of the power button script. Add the following to the start of /etc/acpi/ (Also, verify that /etc/acpi/ is not trying to do anything on the button event.)

# Check for hint to ignore power button.
# This is useful for wake from suspend to RAM, etc.
if [ -f $POWER_IGNORE ]; then
    rm -f $POWER_IGNORE
    exit 0

Linux-2.6.11 works out of the box with S3. If using the ALSA sound driver, the ali5451 driver module must be removed before suspend, otherwise it will repeat an error message when returning from suspension, as per ALSA bug 0000959. To return from suspension, either opening the lid (if it was closed) or pressing the power button will suffice.

With Linux 2.6.12 and 2.6.13, you need to add the following kernel option to get it to resume correctly,
or else you'll see "Linu" on the screen and it will appear to have hung:

Here is a nice script to put your Libretto into low power mode while the AC adapter is offline:


# create cpuid and msr devices if they don't exist
# (this happens with some versions of udev)

if [ ! -d /dev/cpu/0 ]; then
        mkdir /dev/cpu
        mkdir /dev/cpu/0

if [ ! -c /dev/cpu/0/cpuid ]; then
        mknod /dev/cpu/0/cpuid c 203 0

if [ ! -c /dev/cpu/0/msr ]; then
        mknod /dev/cpu/0/msr c 202 0

case "$4" in
                echo "brightness: 7" > /proc/acpi/toshiba/lcd
                longrun -f performance
                longrun -s 0 100
                echo brightness: 1 > /proc/acpi/toshiba/lcd
                longrun -f economy
                longrun -s 0 0
                echo "Usage: ac [00000000|00000001]"
                exit 1

exit 0

To invoke the script, create a file in /etc/acpi/events/ (ac_adapter, for example with the following lines:
action=/etc/acpi/ac %e

You will need to restart acpid to register the handler.


I have scripts and rough instructions for calling longrun based on the ac adapter status. Bug me if needed. --John.

floppy disk

Linux can read and write from a USB floppy device just fine, but apparently it can't format or write an image :-(.

Booting from floppy may not work with certain USB drives, but this should be rare. The L1/L2 FAQ referenced in the Links section has a list of drives known to work, but it's probably conservative. If you happen to find a drive that does not work, list it here.


It's possible to boot from certain PC-Card CD-ROM drives. These are known to work:

Just in case this is useful to people, this list of drives DO NOT appear to work (tested on an L5):

[L5] The L5 can boot from the following USB CD-ROM drives:

hard disk

The L1, L2, and L3, models come with 2.5" Toshiba drives. With a little work, it's possible to replace the hard drive [33]. Using Toshiba drives is the best way to ensure a proper fit.

[L5] Note that the situation with the L5 model is much different: it uses Toshiba's new drives with 3.3V logic. Furthermore, while the one without wireless LAN has a 2.5" (MK2020GLP [34]), the one with wireless LAN has Toshiba's next-generation 1.8" (MK2003GAH [35]). A 40GB drive called the MK4020GLS shares the datasheet with the MK2020GLP, so perhaps it is an upgrade option should they ever become available by retail. There is a page in Google's cache detailing a hack to replace the MK2020GLP with a readily-available 5V 40GB MK4019GAX (in Japanese) [36]. A page in English detailing how to modify a 5V drive to replace a Toshiba 3.3V also exists [37]. The 1.8" drives are supposedly used in the latest Apple iPod.

[L5 with wireless LAN] The MK2003GAH is difficult to get (at least in March 2004) but Toshiba now makes a 40G version called the MK4004GAH. It has the same physical geometry as the MK2003GAH. Cost is roughly $210USD. Replacement takes about half an hour and a little courage.

The performance of the stock L1 disk (10GB Toshiba MK1016GAP, 4200 rpm, ATA-66) is not too impressive:

$ hdparm -t /dev/hda

 Timing buffered disk reads:  64 MB in  4.06 seconds = 15.76 MB/sec

Switching to Toshiba's 30GB drive (MK3017GAP, 4200 rpm, ATA-100) seems to give about a 15% speedup. There are also 5400 rpm drives these days.

Here is the performance of the drive in the non-wireless L5 (Toshiba MK2020GLP):

Timing buffered disk reads:  64 MB in  2.90 seconds = 22.07 MB/sec

and for the wireless L5 (Toshiba MK2003GAH) (was this test done without X running? it seems too slow):

Timing buffered disk reads:   46 MB in  3.08 seconds =  14.95 MB/sec

WARNING: I attempted to replace an L1's loud disk with an IBM Travelstar DARA-21200 12.07GB 4200RPM, which I had lying around, but the IBM disk has a flange across part of the top of its IDE connector which prevents it from mating with the Libretto's IDE connector! The Libretto's IDE connector is anchored from the top, so the pins of the replacement drive must be unobstructed from the top of the drive. --AnthonyCarrico

Successfully installed IBM Travelstar DARA-21200 12.07GB 4200RPM after cutting off the flange from the drive. --Michael Frank

I was able to install an IBM 20GB/5400rpm (IC25N020ATCS05, aka 40GNX) in my L1. It also had a problem with the flange, but instead of altering the drive I was able to gently remove the interferring tabs on the Libretto's connector with needle-nose pliers (do the same at your own risk). Another issue is that this drive has a "breathe hole", but unfortunately the Libretto's drive bracket covers it. Drilling a hole in the proper place in the bracket takes care of this. This drive sometimes makes a loud noise that almost sounds like a system beep. IBM tech support says this is normal and caused by the idle-time "head sweep" function meant to increase drive lifetime, but it's a wart in an otherwise whisper-quiet device. --John

Timing buffered disk reads:  64 MB in  2.75 seconds = 23.27 MB/sec

file systems

Use of a journaled file system can be a lifesaver. From ext2 it's simple to convert to ext3 [38].

hardware clock

I had a problem with the hardware clock recently (perhaps related to ACPI reboot?). During boot, any access of the hardware clock would cause a long pause (5-10 seconds), and the system time became incorrect. This continued regardless of what kernel version I tried. Even in Windows the system time was incorrect. By resetting the clock from Windows, everything returned to normal.


The standard is 1900mAh. Under Linux with the LCD brightness turned down it yields 2-3 hours of use.

[L5] The L5 has a 2000mAh battery, and also a smaller AC adapter. Part number is PABAS020. It also works with the L1, L2 and L3. The cells in this pack are 3pc. x 3.6V 2000mAh 18mm dia. x 65mm length, "18650" style.

The extended battery (Part no. PABAL005) weighs 480 grams and holds a charge of 5700mAh. It lasts around 8 hours.

If you translate the web page you get the current battery equivalents for the Libretto L1-L5. Looks like the PABAS020 was replaced by the PA3196UJ-1BRS and the PABAL005 was replaced by the PA3108U-1BAS. There are lots of Japanese sites that sell these -- the smaller one for around 9000 yen (2007 rates) and the extended one for double that.

Many people have reported [15] that you can use a larger 3000 mAh Toshiba Portege series (3110, 3400, etc) battery if you are willing to hack off the plastic wings. It will stick out past the back of the laptop, like the PABAL005. The part numbers are PA3038U-1BAL, PA3038U-1BRL and PA2467UR (should all be compatible).

From my experience replacing cells in a battery pack, it seems that the circuitry doesn't want to learn the capacity of the new cells. The result is that the report of battery charge level is severely off. If anyone knows a way to reset the battery pack circuit (perhaps manually draining the pack?), please share it. --John

This driver works on the Libretto's, and seems to be related to direct battery info access:,

Battery problems: I use the L2 since Dec 2001 and have two 20Wh packs. 2 months ago, almost at the same time for both packs, the maximum full charge dropped to about 11Wh. Sometimes 20Wh capacity is reported, but effective capacity is no more than 11Wh. Has anyone experienced similar problems?

It's a sign that one or more of the battery cells has gone bad. The easiest thing to do is buy a new (not used!) pack. These days, Toshiba is getting competition from 3rd party battery pack manufacturers, so they are easy to get and not too expensive. If you are very brave, it is possible to replace the cells in your existing battery pack, but it's very hard to find a source for bare lithium ion cells.


There have always been complaints about the screen hinge being loose, especially on the left side. Someone has detailed a way to fix this [39]. The L5 doesn't seem to have this problem.

Someone has provided pictorial instruction for disassembly of the laptop [40].


Product info:


General info:

Pages with config info:

Other hints:

Information directories for running GNU/Linux on Toshiba notebooks:

Contributors: JohnBelmonte, AnthonyCarrico, SvenNeuhaus, CurtSampson, RussellNeches, Valentin V. (, Alistair Ross, Geraint Rowlands
HomePage · FindPage · RecentChanges · preferences
(site locked) · history
Last edited February 10, 2007 7:43 pm EDT (diff)