This page provides information for anyone trying to get XFree86 to run on one of the newer Dell laptops (under Linux, in particular). These are made with the, ehm, fabulous NeoMagic NM2070 graphics chip and its successors, which did not used to be supported by XFree86.
If you need support for the Neomagic chip: Go to www.xfree86.org and download the current version of XFree86-- it includes support for the Neomagic, and it works beautifully (on my system, at least :-)
If you are interested in knowing how to get an unsupported chip to perform, read on. After many mistakes I managed to get my chip to work acceptably, but in 16-color mode only, using the VGA16 server.
The approach detailed here (which I did not invent, see credits below) is known to work with many other laptops using the Neomagic chip (such as the Fujitsu Lifebook 420D, which uses the Neomagic 2090), and probably any other computer with an unsupported chip.
I have a Dell Latitude XPi P100SD (Dual scan, 800x600 LCD screen, 896k VRAM). I installed Red Hat Linux 1.2.13 from CD-ROMs, using an external CD-ROM drive (a NEC), hooked up through an Adaptec PCMCIA SCSI host adapter (the APA1460). Linux installed fine without any lilo switches. There was, however, some confusion with recognizing the CD-rom: it cannot be recognized until after the PCMCIA kernel module has been loaded, which is pretty late in the boot process. If you are getting a message at boot time that no SCSI devices were found, try going on as if nothing is the matter; when you get to the point where you have to select a device to install Linux from, you may well find that the CD-rom is now visible (but even this only worked with the installation CD, not with the live filesystem, for some reason).
These pages include some of the information provided here, and also information on the Accelerated-X server (see below).
Here are some more pages providing details on getting Linux (not X) to run on the Dell laptops:
The XFree86 SVGA server does not support the Neomagic chip. This means that NO XF86Config file can make it work properly. I get put in something like 300x240 pixel mode, or thereabouts, which looks like a hugely magnified snapshot of the desktop. Now, the SVGA server does not have a reasonable "generic" mode, but the VGA16 one does. So the first step is to get rid of the SVGA server and install the VGA16 server instead (ergo, only 16 colors). Here is a link to the XF86Config file that came with the patch described below. It ought to work even if you don't end up using the patch.
Once you've done this you should get a reasonable display, but only 600x480 resolution. Now... the server has no way of putting the screen in 800x600 mode, but this can be done via a kernel patch, or (for kernel versions later than my own) via a boot-time flag. Either way, console mode will be screwed up since the display goes in graphics mode right from bootup, not just when we go into X. The assembly code in the patch "paints" characters on the screen and so restores some functionality, but it does not implement anything beyond a dumb tty (i.e., no cursor addressing, no clear-screen function). Moreover, the patch is for the 1.2.13 kernel. With later kernels you can put the display in graphics mode and therefore get 800x600 mode, but you will have no console capability at all, and you'll almost certainly want to set up xdm so you go right into X mode.
Here is how to do it, depending on your kernel:
I understand the above patch is specific to the 1.2.13 kernel. Some later kernels (definitely 2.0.0 and later, perhaps others??) will let you select graphics mode directly, without a kernel patch. However, if you do that you will have no output in console mode, and you'll need to get set up so that xdm starts automatically and puts you in X mode. Here's how, courtesy of email@example.com:
If you have a post-1.2.13 kernel that does not understand the vga=770 option, do not despair! Here is a 1-line kernel patch that will do the same job. (The patch is supposed to be for 2.x.y kernels; perhaps it is unneccessary, in view of the above; if there are kernels for which it is needed, would someone please let me know?)
No matter what method you use to set the video mode, you should use the VGA16 server and an appropriate XF86Config file, as discussed above.
Xi Graphics (formerly X Inside) makes an X server for Linux systems (among others), that includes a driver for the NM2070. You can download a demo from their Web site and test it out. (The real thing will set you back $199.95).
It has now been a long time since I last tried to get their demo to work; at that time, it still did not work properly. It would not go to 800x600 mode without special coaxing, and the display contained noise and (on some or all machines) a big old black line down the right side. My feeling was, if I wanted to fuss with X servers I could do it with free software.
Since then the company has released a Laptop-specific version of their server, which they tell me now works just fine. Unfortunately, I have not had a chance to go back and try another test with my machine, and anyway, given the realities of laptops, you'll definitely want to try the demo (see link above), and see that it works on your machine before you go ordering.
Although most X applications will run more or less happily in 16-color mode, Netscape will core dump if you start it the normal way. It is possible to run it, by taking the following simple steps:
If you don't know how to set resources, you can get the same effect
if you just run netscape like this:
netscape -mono -xrm 'netscape*visualID: StaticColor'
This will get you black and white pictures, which actually are pretty clear most of the time. For some reason I just could not get Netscape to do 16-color pictures. Also the button icons will not appear at all--to get a reasonable display, select "Show toolbars as Text" under Preferences (in the Options menu).
The bookmarks-editing window is a little hard to use, since you cannot see icons while you are dragging them, and I basically avoid the netscape newsreader completely. But unless full color is essential to your uses, this setup is quite serviceable for straight browsing, and I use it quite happily.
One more thing: when you start up Netscape you will get a constant stream of messages about X errors. Just redirect standard error to /dev/null and go about your business. (netscape ... >& /dev/null, if you run csh).
If you use Netscape a whole lot, and the level of functionality described bothers you, you can do a lot better by using the XF86 Mono server instead of VGA16: no options and resources are needed, and you get all the buttons etc. Of course, if you do this you don't even get the 16 colors you'd have otherwise. I am happier with 16 colors and a somewhat hobbled Netscape, but you may feel differently. (Thanks to firstname.lastname@example.org for suggesting this setup).
Feel free to email if you have more questions. You can also browse my directory of related files.
Special thanks to Finn Thoegersen , Mark Vojkovich, and Oskar Painter for their assistance!