Last update: 2004/05/25
After having installed a Redhat Fedora Core 1 featuring a 2.4 kernel, I had some better experience with ACPI using a 2.6 kernel (essentially thanks to the support of this laptop by the toshiba_acpi module). That is why I've switched for a Mandrake 10.0, essentially because it's shipped with the 2.6.3 kernel so I would have a works-out-of-the-box system, with a very clean install and lots of wizards to propagande the Linux desktop to my neighborhood.
On a side note, I also wanted to track the progress of Mandrake and tell people not to praise too much for the mighty distro, namely Debian, I used over the last 6 years, simply because it's not as easy to setup for M. Joe Average and generally requires a fast Internet access since you usually don't find recent software in the stable release.
The following table summaries the hardware shipped in the Toshiba M30 series:
Class | Name & Description |
CPU | 1.40Ghz Intel Centrino mobile technology |
LCD Screen | 15.4" WXGA active-matrix screen display at 1280x800 pixels |
Graphics card | NVidia Geforce Go 5200 |
RAM | 512MB |
Hard drive | 40GB |
DVD Combo | DVD-R, CD-RW |
WiFi | Integrated Intel 2100 Mini-pci 802.11b Wireless LAN module |
![]() | Note: I added this because I don't remember clearly if this is set by default or not by the Mandrake installer. |
The Synaptics touchpad is really nicely supported under Linux, but the Mandrake 10.0, event if it correctly handles its job on the kernel side, doesn't do the XFree86 side. The fix is easy: you will need to install the synaptics-TODO package, using the Software Package Manager, available from the System> Configuration> Packaging> Install Software menu entry.
![]() | Hint: Simply type synaptics in the find box and hit the enter key to avoid searching it forever ;) |
You need to change/add these essential lines in the /etc/X11/XF86Config-4 file:
by:
You also need to load a special module which isn't installed by Mandrake, adding the following line in the to the /etc/modprobe.preload file:
Before going messing the XFree86 configuration file, I want to explain why I disabled the Xkb support. The Toshiba keyboard controllers always have been buggy. It spuriously sends keyrelease-events multiple times. Usually, when you type a word quickly, the last letter of the word you're typing will be typped at least 30 times, which is very *very* annoying. This problem is well-known in the Toshiba world and has even been reported to happen since Windows 98.on older laptops.
The good news is there's a bunch of solution, and the easier two are:
For the first solution, you need to add the following line in the "InputDevice" section of the /etc/X11/XF86Config-4 file.
And overwrite the /etc/X11/Xmodmap modmap file using a custom one. For convenience, I provide you a French and German ones. If you need to create your own, type in a console:
This will create a modmap (keymap for your language) based on your current XFree86 keyboard configuation, which should be fine because you should have entered the correct information during the Mandrake installation. You can then adapt it if your language contains additional characters. An excellent article to create customized keymaps: Accented Letters On ASCII Keyboards Under X11.
You can either use the NVidia proprietary "nvidia" driver or stick with the Open Source "nv" driver shipped with the Mandrake 10.0 community edition (because of licensing issues). Of course, if you want real performance for your desktop and 3D applications, I recommend using the NVidia driver like I do. If you want to do so, extra work will be required, but we'll do this after having properly configured the display.
![]() | Hint: You can grab my XF86Config-4 configuration file if you want don't want to spend time finding how to make it works correctly. Copy it to the /etc/X11 directory. Pay attention to the driver name ("nv" or "nvidia"). |
Otherwise, the essential lines to change/add in the /etc/X11/XF86Config-4 file are:
![]() | Note: The two last line are modelines (video modes) which correspond to the TV-out fonctionnality. |
![]() | Warning: Off course, you need to keep nv as the Driver if you want to keep using the Open Source driver, but known of the option will be recognized by the OpenSource driver, but you can safely keep them, they will be ignored. |
If you decide to do with the proprietary driver, grab the latest installation package. As of this writing, the Mandrake 10.0 isn't directly supported so the installation program can't fetch an already functionnal driver: it needs to compile it.
That's why before running the installation package, you will need to install the kernel-source-2.6.3.4mdk package, using the Software Package Manager, just like the Touchpad driver.
![]() | Warning: There's a tricky bit to know with the packaging of the Linux sources by Mandrake: to make the things clear, Mandrake adds by default a custom suffix in the kernel name for you to know it's different from the original one. But it will make the system check of the NVidia installer fail. |
That's why you need to follow this little procedure. Open your favorite editor and edit the /usr/src/linux/Makefile file and look for the line containing the EXTRAVERSION keyword. Remove the custom suffix. Then, open a console and type in successively these commands:
![]() | Note: You will need to stop your currently running graphical server to activate the new driver. You can issue after having saved your work, the following command in a console as root (see just below) : /etc/init.d/dm stop |
Finally, you can open a console to start the driver installation. Go in the directory you downloaded the binary using the cd command and launch it with administrator privileges. For example, I downloaded the NVIDIA-Linux-x86-1.0-5336-pkg1.run executable in the /tmp directory, and then typed successively in the console:
... and the rest is automatically done by the installer.
Very easy, you just need to install the fnfx-0.2-2mdk package, using the Software Package Manager, just like the Touchpad driver. I really encourage you to read the documentation in the /usr/share/doc/fnfx-0.2 directory for more customization. By default, the application is launched automatically at the system boot, and allows you to control the brightness of the screen, adjust & mute the volume, ...
Well, you could figure it wouldn't be easy because it's a winmodem or softmodem, meaning the hardware is minimal for it to be cheaper, but bad supported on linux. In fact, it's really nicely supported as per the slmodemd driver. Under Linux, this modem is emulated through the ALSA (Advanced Linux Sound Architecture) project which is well integrated in the 2.6 Linux kernel. Why an audio project you want to ask ? Because the audio and modem hardware is mixed: the modem uses some of audio part of the motherboard.
I wanted to give you a gift, so here it is: a custom package I made that works out-of-the-box. Enjoy ! You only need to install it double-clicking the icon on your desktop or right-clicking and select the gurpmi menu entry and ta-da, your modem is ready to be configured in Mandrake Control Center using the /dev/modem device that will be created by the package.
You need to the following lines to the /etc/modprobe.preload file:
You can then adjust the speed depending on the energy consumption profile you chose. Just open a console and use the su command shown in the earlier sections to get the administrator privileges, and do this:
I still haven't found any good applet for CPU scaling. For now, I use the gnome-cpufreq-applet-0.1.2-1mdk GNOME applet with a button launching a custom script which get root privileges using the sudo utility. So I would like to develop one but just for the basic things, and it should follow the GNOME "keep it simple" way of development.
The problem is after having developed application for the GNOME project during a long time in C, I would like to move on a higher-level language to develop the software fastly. The problem is that as of today you can't create panel applets using Mono. Perhaps I'll give an eye to Python, dunno. When it's ready, I'll post on this website.
UPDATE: I finished writing the essentials and the result can be found in the EmiFreq applet section.
Intel keeps lying about the fact they will develop a driver for Linux for the Centrino-integrated WiFi solution. In the meanwhile, we can still use the WiFi using the NDIS Wrapper project: it provides the support using the Windows driver.>
I'm still currently trying to get these working, please be patient. When it will be okay, I'll post a solution and build a special works-out-of-the-box package ;)
Thanks to the 2.6 kernel-based system, the Mandrake 10.0 is almost a pleisure to install, the hardest part being to configure the display to have a better user experience (otherwise, you'll be using your WXGA screen to the poor 1024x768 resolution) and avoiding that stupid keyboard controller bug.
Really, I am happy with the Linux support of Toshiba through the mailing-lists and more generally the resources they have put up for Linux users. Well, it's still less than a complete support, but it's really enjoyable. It's also very cool that the 2.6 kernel brings the ACPI to this laptop, otherwise I would have been very disappointed, because the only thing I didn't know when I bought this laptop was that kind of "stripped down" BIOS without APM support. Kudos to the toshiba_acpi module developers !