Experiences from installing Linux on a Dell Inspiron 4100 laptop. ================================================================= This article describes getting everything up and running on the Dell Inspiron 4100 laptop, including XFree86 4.1.0 with DRI 3D acceleration and AGP support on the ATI Radeon Mobility 16MB graphics board, sound on the built-in Crystal CS4205 sound card, and VMware with Windows ME installed from the original Dell CD's. SuSE ---- (Skip this section if you have no interest in SuSE and you don't want to read my wailings) My first choice when trying to install Linux on my new laptop was SuSE 7.2. SuSE has previously been known to provide superior and early support for new hardware and graphics boards. Although SuSE 7.3 was out, the SuSE 7.2 that was available to me was still quite up-to-date so I was confident that it would work. Unfortunately, all SuSE could squeeze out of XFree86 was a standard SVGA 800x600 mode, and sound quality was poor and annoyingly delayed. Furthermore, the power management features of the laptop made SuSE Linux freeze up every time one of these features kicked in (screen swithcoff, hard disk spin-down and standby mode). Meanwhile my colleague, with an identical machine, had gotten XFree86 to work with RedHat 7.2. The XFree86 in this version of RedHat is newer than the one that comes with SuSE 7.2, but SuSE 7.3 provides a newer one still, so that made me doubly confident that SuSE 7.3 would solve all my problems. I actually bought SuSE 7.3 Professional without positively knowing that it would solve my problems, and that was a mistake. Installation of SuSE 7.3 was smoother and cooler than ever, but the results were the same as with SuSE 7.2. Now I was getting desperate. Reading various news articles lead me to believe that XFree86 4.1.99.1 would support my graphics board, so I downloaded the source code and compiled it. This might have worked, but I didn't have enough knowledge to make this work together with the rest of the SuSE installation. After I did "make install" some libraries were missing, and I gave up. Then I tried installing newer kernels and various recompilations of the kernel, but to no avail. All of this consumed lots of time, of course. Conclusion: No SuSE distribution up to and including 7.3 supports this machine well. In all probability Dell and RedHat has some scheme going on that gives RedHat an edge when providing Linux for this laptop. Things will probably turn out OK in the end, when XFree86 4.2.0 becomes available from SuSE. Sound can possibly be improved by compiling kernel modules for the sound card instead of using the default ALSA setup, or by upgrading ALSA. RedHat ------ Fair enough. If RedHat has labored to get a lead start with my particular laptop, it's only fair to give them a chance. We bought the cheapest version, RedHat 7.2 (Unprofessional), and it was still more expensive than SuSE 7.3 Professional. It lacks lots of stuff that I have come to depend on in SuSE (Professional), such as crypto file system, ReiserFS (was at least not an option during installation), Java, Acroreader, PGP, VMware, Plan, Opera, XV and Nethack, to name a few. However I trust I shall be able to download all that from elsewhere eventually. The installation of XFree86 was easy, and sound support was supported by kernel modules by default. Even the power management features worked fine, and through the Fn-F1 and Fn-F3 keys you can even switch from the XFree86 screen and into the BIOS setup screens, to change power management settings or look at how much battery is left. The only thing that doesn't seem to work is standby mode inside X. It seems certain to me that RedHat has had access to a machine quite like mine and that SuSE has not. DRI --- Just one thing was missing from my RedHat setup. 3D acceleration using DRI. I know it's a lot to ask on a new graphics board, but to my understanding the Radeon Mobility is just another Radeon, and Radeons have been 3D accelerated for some time, so I didn't give up. Studying the /var/log/XFree86.0.log and searching the internet for solutions, I finally figured out that the agpgart module was not being loaded. Trying "modprobe agpgart" and getting the error message: "... init_module: No such device" verified my suspicions. I first thought that my kernel was not set up for agp, so I tried recompiling the kernel. This made things worse so I reverted to the old one. The solution that I finally found is to load agpgart with the option agp_try_unsupported=1, by adding the following line in /etc/modules.conf: add options agpgart agp_try_unsupported=1 For all the modifications I tried in the /etc/X11/XF86Config-4 file, this is probably the only thing that is needed, but I will give you my current version of the "Device" section of XF86Config-4, just in case: Section "Device" # Option "nodri" Identifier "ATI Radeon (generic)" Driver "radeon" Option "AGPSize" "4" VendorName "ATI Radeon (generic)" BoardName "ATI Radeon (generic)" EndSection Furthermore, it is as usual necessary to set a 16 bit screen mode to get 3D acceleration. If you are uncertain that your DRI 3D support is enabled, look for the following two lines in your /var/log/XFree86.0.log file: (II) RADEON(0): Acceleration enabled (II) RADEON(0): Direct rendering enabled If it doesn't look like this, you need to find out why by studying the rest of the file. VMware ------ I have been using VMware to run Windows programs under Linux for many years and has always worked well. This time around, however, I did only have access to the original Windows installation CD's from Dell, and that poses a problem. The Dell installation CD's will only allow themselves to be installed on a Dell machine, and the virtual machine inside VMware is not recognized as a Dell machine. The solution to this problem is to keep an original installation of Windows on a partition of the hard disk, and use the rawdisk option in VMware to access this partition directly. That way you can use a Windows that has previously been installed when the machine was a bona fide Dell machine inside a virtual machine that is no longer a Dell. You can read more about use of rawdisk, and especially the setup of different hardware profiles on the VMware web site. First off, I had to get VMware installed and working. I installed the good old reliable VMware-2.0.4-1142.i386.rpm, but running the vmware-config.pl script failed, it was unable to find any modules that matched the 2.4.7 kernel, and was unable to compile new modules using the include files from /usr/src/linux-2.4.7-10/include. Installing VMwareKernelModules-2.0.4-1401.i386.rpm did not help, but I found a patch for the source code of the VMware modules called vmware-ws-1142-for-2.4.7.tar.gz. This helped a LOT. Suddenly VMware was up and running, and I was booting Windows from rawdisk for the first time. Some seconds after booting, however, VMware stopped with the error message: "The cpu has been disabled by the guest operating system" WTF! The VMware web site gave no info on this error message. My first thought was that VMware 2.0 was unable to support Windows ME, since it only announces support for Windows 98 during setup. Consequently, I downloaded VMware 3.0, and it installed without a problem, modules and all. But booting the virtual machine was extreeeemely slow, the LILO prompt appeared one letter every 10 MINUTES! Trying without rawdisk gave the same result. Obviously VMware 3.0 was continuously making some sort of access that failed on a timeout. I was stuck again. Seeing that I had gotten further after all with VMware 2.0.4, I reinstalled it and tried again. I found one article on the internet regarding this error message, it was in Japanese, but studying it I noticed that the words "Intel SpeedStep" was mentioned in normal letters. On a hunch I rebooted my machine in Windows and deinstalled the "Intel SpeedStep applet" that had come with the original installation of the machine. Rebooting again into Linux and trying VMware again, Windows ME booted just fine! But my trouble was not completely over. It is absolute essential for VMware performance to install VMware Tools in the virtual machine, for full SVGA support and other stuff. VMware Tools is installed by having VMware take over the floppy drive of the virtual machine and simulating a virtual floppy disk, containing the files necessary for VMware Tools installation. So it became a problem when Windows ME inside VMware decided that it couldn't access the floppy drive. Some investigation revealed that the image of this virtual floppy was located in /usr/lib/vmware/floppies/windows.flp and since it had the size of a floppy image, my colleague suggested that I simply try to "cat" this file onto an empty floppy disk with the command: cat /usr/lib/vmware/floppies/windows.flp > /dev/fd0 Miraculously (or not), it worked, and I could then copy the contents of the floppy into the windows partition by mounting both the floppy and the windows partition in Linux. VMware tools could then be installed and Windows could be set to a decent graphics mode. The Inspiron has of course a resolution of 1400x1050, but VMware could not be set higher than 1280x1024. Although I would prefer 1400x1050 in VMware also, 1280x1024 leaves a convenient space on the right hand side for the gnome task bar. A downside to this whole rawdisk operation is that my Windows partition can no longer be booted in native mode, the hardware profiles that I set up in Windows prior to VMware installation did not work as intended or I messed something up. Anyway, when I try to boot Windows in native mode it seems to have forgotten everything about its previous life and starts to install software for all the hardware devices again. A small price to pay, at least Linux is running smoothly and that is what I will be using most of the time. Perhaps Windows NT/2000/XP would have worked better than Windows ME in this respect. Summary ------- 1) To install Linux on Dell Inspiron 4100 (and other laptops with the Radeon Mobility graphics board), go with RedHat 7.2. (SuSE 7.3 does NOT work). 2) To enable DRI 3D acceleration with Radeon Mobility on a Dell Inspiron, make the system able to load the agpgart module with the option agp_try_unsupported=1. 3) VMware 3.0 does for some reason not work with RedHat 7.2 on a Dell Inspiron. 4) To use VMware 2.0.4 with kernel 2.4.7 or higher, use a patch called vmware-ws-1142-for-2.4.7.tar.gz. 5) To use the preinstalled Windows operating system in VMware (necessary if you have installation CD's from Dell), use rawdisk to boot VMware from the Windows hard disk partition. 6) To make Windows boot from a rawdisk in VMware without getting "the cpu has been disabled", deinstall the Intel SpeedStep applet while Windows is booted in native mode. 7) If the floppy drive is inaccessible in VMware, get the necessary files from /usr/lib/vmware/floppies/windows.flp by dumping this floppy image to a temporary floppy. -- Roar A. Lauritzsen, M.Sc. Senior Engineer New Rocket Science AS