I purchased this notebook used and it's great. I kept Windows on it for a few weeks and used Cygwin to run the Linux programs I needed, but couldn't wait to get back to the Linux world. Installed Ubuntu 7.04, which worked great out-of-box, but was painful when I tried using non-standard setups (like using Window Maker instead of Gnome). I just felt that Ubuntu was too controlling, so I purchased a Slackware 12 DVD. It works great, but there are a few snags that come up with this particular Dell model.
Disclaimer: I provide no warranty that this will work for you. If you use anything you read here, you do so at your own risk.
1.4 GHz Pentium M processor
1 GB RAM
Intel 82852/855 accelerated graphics
External CD/DVD combo drive (write CDs, read DVDs)
Broadcom 5705 Ethernet
Conexant D480 56k (winmodem)
I've read that with older versions of Slackware, the external USB combo CD/DVD drive can be a problem. However, with Slack 12 the drive was detected perfectly. Installation went well for the most part; the only issue is that LILO installation failed when I tried to install it to the root partition. Installing LILO to the MBR instead worked fine.
Booting after installation resulted in a kernel panic. I found that this could be fixed by typing "Linux root=/dev/hda1" at the LILO prompt. I think the easiest way to make this permanant is to run liloconfig once you've booted; on the "append" screen, type "root=/dev/hda1".
X setup went smoothly with xorgconfig using the i810 video driver and setting the video ram to 64MB; screen resolution should be set to 1024x768. I don't remember whether the "dri" module was loaded by default; if it's not, just uncomment the 'Load "dri"' line if you want hardware acceleration.
"Tap-to-click" is enabled by default and it gets really annoying (to me). I fixed this by installing the synaptics touchpad driver and using it to disable tap-to-click in xorg.conf (see the synaptics documentation). Also, since the D400 really comes with an ALPS Glidepoint touchpad, to use sidescrolling you'll need to set the pertinent options (LeftEdge, RightEdge, etc.) according to README.alps (in the synaptics package) in your xorg.conf.
Out-of-box, CPU frequency scaling doesn't work and if you try to suspend by pressing the power button or closing the lid, the whole system locks up. Fortunately, fixing this situation is as easy as re-compiling the kernel. To make this process basically foolproof, when you `make menuconfig' you should import the default Slackware kernel config, which is in the /boot directory. Choose a "local version" under general setup so you don't confuse your kernel config with the default. Under ACPI, you should enable CONFIG_ACPI_SLEEP, CONFIG_ACPI_AC, CONFIG_ACPI_BATTERY, CONFIG_ACPI_BUTTON, CONFIG_ACPI_FAN and CONFIG_ACPI_PROCESSOR. Under CPU Frequency Scaling, enable CONFIG_CPU_FREQ, all the governors (ondemand, performance, etc.), and CONFIG_X86_SPEEDSTEP_CENTRINO. I also enabled CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI and CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE. Don't compile these as modules; compile them directly into the kernel. After you compile & install your new kernel, you can install cpufreqd, and then configure acpid to respond to button and lid events. There seems to be a bug where closing the lid causes the laptop to lock up so that you can't get out of X, or reboot, or anything else. This was discussed on the Ubuntu forums, and the fix is to add "nmi_watchdog=0" as a boot parameter in /etc/lilo.conf (don't forget to run /sbin/lilo after you edit the file).
There are automounting features in Slack 12, but I haven't taken the trouble to learn how to work with them. If you want to use more traditional methods, you need to uncomment the cdrom line in /etc/fstab so that root can `mount' the combo drive. Also, unlike some distros (eg Ubuntu) Slackware won't recognize USB memory sticks automatically; to use one, type "mkdir /mnt/usbstick" as root and add the following line to /etc/fstab:
/dev/sda1 /mnt/usbstick vfat noauto,owner,rw,user,exec,dev,umask=0 0 0
The Linuxant modem drivers were easy to install on Ubuntu; you can get 14.4k for free, and the upgrade to the 56k driver is $20 IIRC. I haven't tried installing the drivers on Slackware, although it shouldn't be too difficult. I haven't tried getting the wifi working; I would point you in the direction of ndiswrapper if you want wifi.
A final word...
I strongly suggest reading http://jpjorda.club.fr/x300.html because the X300 and D400 share quite a bit of hardware.