Slackware Linux 12 on the Toshiba Satellite A205 - S5804

Version 0.4
Copyright © 2008 by Zack Smith
All rights reserved.

0. Summary

Currently this is my assessment: This machine is a very acceptable platform for Slackware Linux 12, with some qualifications:
  • I've gotten wireless to work for non-encypted access points, but not for enrypted.
  • The framebuffer driver only supports 1024x768, and it is always stretched to 1280x800. (X-Windows works at 1280x800.)

1. System Profile

My A205-S5804 has the following hardware:

ItemDescriptionStatus
CPU Intel Core Duo T2330 @ 1.6 GHz
Front-side bus 533 MHz
Level 2 cache is 1 MB
Works
Memory 1024 megs PC2-5300 667 MHz, peak transfer 5333 MB/s Works
Chipset Intel GL960 Works
Hard drive & controller TOSHIBA MK1246GSX, Serial ATA 2.5
SATA controller: Intel Corporation 82801HBM/HEM
Works
Optical drive TSSTcorp CDDVDW TS-L632H
IDE controller: Intel Corporation 82801HBM/HEM
Works with DVD-R, DVD+R, DVD+-RW, DVD-RAM (Some people report problem with current firmware.)
Display & Video Chip 15.4" widescreen
Intel Corporation Mobile X3100 Integrated Graphics Controller
Works in wide-screen mode under X.
Sound Intel 82801G (ICH7 Family) High Definition Audio Controller Works fine (kernel 2.6.24.3)
Wireless Networking Realtek Semiconductor Corp. 8197 (USB 2 device) Works without encryption. (Crashes kernel with encryption.)
Ethernet Marvell Technology Group Ltd. Unknown device 4353 Not tested.
USB 2 Intel Corporation 82801H (ICH8 Family) Works
Card34/54 slots Texas Instruments PCIxx12 Cardbus Controller Not tested
Trackpad Synaptics Touchpad Works well.

2. Installation

This information is provided as-is. Proceed at your own risk.

2.1 Downloading Slackware 12

You can buy the DVD (to be nice), or you can download it. If you download, it can easily require 12 hours depending on your connection speed and the server load. So you should plan to do it overnight.

Amazingly, Toshiba includes an ISO writing utility with Vista. You need merely double-click on the ISO file's icon to start it.

2.2 Linux + Vista

I suggest that you do not use Vista connected to the Internet. There is some evidence that Vista communicates with servers at Halliburton, Department of Defense, and possibly Department of Homeland Security. This evidence first appeared on Whitedust.net, which shortly after was shut down suspiciously. Then a copy appeared at Abandonia, which before long deleted the article. Best to be safe. If you need to use a Windows program, try first running it in WINE. Source:

Infopackets article

If you must use Vista, there is no need to use ntfsresize if you are OK with reinstalling Vista from scratch. The Toshiba install DVD gives you the option to reinstall in a small partition that it will create. 20 gigs is the minimum. Then you can use the rest for Linux.

2.3 Linux alone

There's nothing preventing you from, upon buying this laptop, downloading the Slackware 12 DVD mentioned above along with the additional needed files and then completely replacing Vista. (If you need to occassionally run a Windows program there is the WINE emulator.) You may find that Linux lacks a few things you may want, like a certain video game, but otherwise Slackware 12 is surprisingly complete.

The only things that you'll need to get first are:

  • The DVD ISO if you don't have it.
  • Linux kernel 2.6.24 might be good.
  • The proper xorg.conf file (below).
  • The Wifi driver.
2.3.1 Before abandoning Windows
If you plan on using Linux exclusively, be sure that before you do, you copy all of the Windows TrueType fonts to a disk for use with Linux. They're in c:\windows\fonts. Firefox looks much better when using Windows fonts.

3. Drivers & performance

3.1. Processor

The Intel Pentium Dual T2330 has two processors and is sufficient for most purposes. Linux rates it at about 3200 bogomips.

The BYTE Magazine Dhrystone benchmark, available here, says the T2330 processor has a performance index of 194.4.

3.2. Memory Bandwidth

To ascertain memory performance, I wrote a utility called "bandwidth", which is here. The results for the A205 are as follows.
This is bandwidth version 0.13
Copyright (C) 2005,2007 by Zack T Smith

CPU MHz = 1599.996
L2 cache sequential read 6242.69 MB/sec 
L2 cache sequential write 5162.22 MB/sec 
Main memory sequential read 3355.44 MB/sec 
Main memory sequential write 1398.1 MB/sec 
Framebuffer resolution: 1024x768, 16bpp
Framebuffer memory sequential read 24.7306 MB/sec 
Framebuffer memory sequential write 88.5622 MB/sec 
Library: memset 1677.72 MB/sec 
Library: memcpy 1118.48 MB/sec 
Library: bzero 1677.72 MB/sec 
Note the slow access to the framebuffer, but the fast L2 access.

3.3. Video

3.3.1. X Windows
In Slackware 12, you can start up X Windows without modifying xorg.conf, however this will get you the VESA mode, which is 1024x768.

It is better to use the xorg.conf that I provide below, which allows for 1280x800 24 bpp wide screen operation. Its main change is that it adds a mode for 1280x800, and sets the driver to intel, and sets the correct monitor info.

On some Toshibas under Linux, you can use the Fn-F6 key combination to reduce the screen brightness, but not on this laptop.

The utility read-edid reports the following:

./parse-edid: parse-edid version 1.4.1
./parse-edid: EDID checksum passed.

Section "Monitor"
	Identifier "Unknown"
	VendorName "Unknown"
	ModelName "Unknown"
	Mode 	"1280x800"
		DotClock	71.000000
		HTimings	1280 1328 1360 1440
		VTimings	800 803 809 823
	EndMode
EndSection

For a possible future alternative to X, check out my project FramebufferUI or my subsequent Frugal Windowing Environment.

3.3.2. Framebuffer
You can boot up in VESA 1024x768 mode, which is always stretched to fit the 1280x800 screen. The BIOS does not permit turning off stretching.
3.3.3 Video playback
Overall playback is very good using mplayer under X Windows, which is not included with Slackware 12.

Using the framebuffer, fbxine works however videos are stretched because 1024x768 is always expanded to 1280x800.

3.4. Sound

The Intel high-definition audio chip works with kernel 2.6.24 basically fine.

Volume control problem:
The volume control dial on the front of the machine doesn't work because it's a new type of control -- it's basically a jog dial without start or stop position. Using it results in key codes being sent to the console.

I have not tested sound recording, but the following command should record 10 seconds of WAV data:

arecord -d 10 foo.wav

3.5. ACPI & power usage

Using kernel 2.6.25:
  • CPU throttling works.
  • Lid closure turns off the screen.

To change the ACPI governor on the fly, you need to echo the name to this file:

/sys/devices/system/cpu/cpu0/cpufreq/ 

  • Using the "powersave" governor and with a full battery, when one CPU is disabled the system draws about 22 watts.
  • Using the "conservative" governor and with a full battery, when both CPUs are enabled and a kernel compilation is occuring, the system draws about 39 watts.
  • Using powersave, conservative, or ondemand governor and while charging the battery, when both CPUs are enabled and CPU load is low, the system draws about 64 watts.

3.6. USB

Two ports total. They work fine.

3.6.1. External flash drive

These work fine. I tested an ADATA Jogr and got these results:
% hdparm -t /dev/sdb
/dev/sdb:
 Timing buffered disk reads:   46 MB in  3.06 seconds =  15.04 MB/sec
% hdparm -T /dev/sdb
/dev/sdb:
 Timing cached reads:   1648 MB in  2.00 seconds = 823.86 MB/sec

Incidentally while writing to this Jogr drive, the sustained write rate when writing 4 gigabytes was 2.6 MB/sec.

3.7. Card34/Card54 slot

Not tested.

3.8 Networking

3.8.1 Ethernet
Not tested.
3.8.2 Wireless
The Realtek chip is an 8197 that sits on the USB 2 bus.

I've gotten it to work only for non-encrypted access points. For some reason WEP and WPA do not work for me.

To get wireless working do these things:

  1. Build a kernel that does not have ieee80211 compiled in. Compiling a kernel is easy and should not cause you distress. Just download kernel 2.6.24.3 from kernel.org and copy my config file (below) to /usr/src/linux/.config.
  2. Then download and build the customized driver by J Adams. Google for rtl8187b-modified-jadams-2-1-2008.tar.gz
  3. The customized driver is intended for Ubuntu, and at least one of the .ko files does not compile, but disregard that and copy all .ko files to /lib/modules/`uname -r`/kernel/drivers/net/wireless. Then reboot.

FYI, the process for using Wifi is:

  1. iwlist wlan0 scan
  2. iwconfig wlan0 essid NetworkName
  3. dhcpcd wlan0

Lastly, the switch and light on the front of the computer only function under Windows. Under Linux, wireless works even if they are switched off.

3.9 Internal DVD writer

The provided TSSTcorp CDDVDW TS-L632H DVD writer is a somewhat clunky unit that I have already seen people complaining about its compatibility with CD/RW in forums. The drive truly needs a firmware update however as of March 2008 none exists.

I have seen mine pop open for no reason.

The drive does support DVD-RAM disks.

3.10 SATA drive

3.10.1. Driver
It works fine. The utility hdparm indicates (hdparm -I /dev/sda) that it's using udma5.
3.10.2. Performance

Performance is as follows:

% hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:  160 MB in  3.02 seconds =  52.91 MB/sec
% hdparm -T /dev/sda
/dev/sda:
 Timing cached reads:   1714 MB in  2.00 seconds = 857.35 MB/sec
3.10.3. Adjustments
  • You could add -h to the poweroff command in /etc/rc.d/rc.6 to ensure a quiet hard drive powerdown.
  • Similarly you could include "/usr/sbin/hdparm -Y /dev/sda" near the end of /etc/rc.d/rc.6 to ensure that your drive shuts down quietly.

3.11. Synaptics trackpad

It works fine.

4. Software

4.1. KDE & Xfce

I got tired of the fact that KDE crashes periodically so I switched to Xfce. It is much better and you can still use KDE applications.

4.2. Applications

If you're installing Slackware, you're probably already technically adept. Still, you may not know about all your options. Here is a table of equivalent applications between Vista & Slackware 12. (I'm not very familiar with KDE so I mostly leave its apps out.)
TypeVistaSlackware X-WindowsSlackware framebuffer Slackware command-line
Word processing MS Office, Open Office Open Office, Koffice - TeX
Web browser Firefox, IE Firefox, Mozilla, SeaMonkey, Konqueror ? Lynx, links
Email reader Thunderbird, OutlookExpress Thunderbird - Pine?
DVD writer Windows, Nero K3B - growisofs
Audio player WMP, Winamp, Real Xine fbxine aplay, amp, mpg123, mpg321
Video player WinDVD, Zoom player, Quicktime, WMP, Winamp, Real mplayer, xine fbxine - aplay, amp, mpg123, mpg321
Video editor Windows Movie Maker, VirtualDub AviDeMux - N/A
Photo editor Windows Photo Gallery, Photoshop, GIMP GIMP, xv ? N/A
CD ripper w/net capability Windows Media Player, FreeRip, iTunes - ?
DVD backup utility FairUse, DVDShrink, DVD Decryptor Same programs, run using Wine - ?
DVD authoring Movie Factory dvdauthor? - -
Simple document editor Wordpad ? ? ?
Text editor Notepad XVim ? Vim, Emacs
Keyboard macro utility AutoHotkey ? N/A N/A

5. Kernel

My .config file for kernel 2.6.24.3 is here.

You should always compile your own kernels no matter which distro you use. The reason is simple. While Slackware as a company is theoretically much more ethical than others, the US government could always slip in some spyware in a precompiled kernel and then require that Patrick not tell anyone it's there.

6. Xorg.conf

Section "Module"
    Load        "dbe"  	# Double buffer extension
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
    Load        "type1"
    Load        "freetype"
    Load       "glx"
EndSection

Section "Files"
    RgbPath	"/usr/share/X11/rgb"
    FontPath   "/usr/share/fonts/local/"
    FontPath   "/usr/share/fonts/misc/"
    FontPath   "/usr/share/fonts/OTF/"
    FontPath   "/usr/share/fonts/TTF/"
    FontPath   "/usr/share/fonts/Type1/"
    FontPath   "/usr/share/fonts/CID/"
    FontPath   "/usr/share/fonts/Speedo/"
    FontPath   "/usr/share/fonts/75dpi/:unscaled"
    FontPath   "/usr/share/fonts/100dpi/:unscaled"
    FontPath   "/usr/share/fonts/75dpi/"
    FontPath   "/usr/share/fonts/100dpi/"
    FontPath   "/usr/share/fonts/cyrillic/"
EndSection

Section "ServerFlags"
EndSection

Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"kbd"
EndSection

Section "InputDevice"
    Identifier	"Mouse1"
    Driver	"mouse"
    Option "Protocol"    "PS/2"
    Option "Device"      "/dev/mouse"
EndSection

Section "Monitor"
    Identifier  "LCDPanel"
        Mode    "1280x800"
                DotClock        71.000000
                HTimings        1280 1328 1360 1440
                VTimings        800 803 809 823
        EndMode
EndSection

Section "Device"
    Identifier  "IntelDriver"
    Driver      "intel"
EndSection

Section "Screen"
    Identifier  "LCD"
    Device      "IntelDriver"
    Monitor     "LCDPanel"
    DefaultDepth 24
    Subsection "Display"
        Depth       24
        Modes "1280x800"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "Simple Layout"
    Screen "LCD"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection 

7. Mailing list

Link.

Links