Dell Latitude E6400


Return to index

Dell Latitude E6400 Dell Latitude E6400 XFR
Specifications
Manufacturer Dell
Name Latitude E6400
Variants E6400, E6400 XFR and E6400 ATG are supported
Released 2009
Chipset Intel Cantiga GM45(Intel GPU)/PM45(Nvidia GPU)
CPU Intel Core 2 Duo (Penryn family).
Graphics Intel GMA 4500MHD (and NVidia Quadro NVS 160M
on some models)
Display 1280x800/1440x900 TFT
Memory 2 or 4GB (Upgradable to 8GB)
Architecture x86_64
EC SMSC MEC5035 with proprietary firmware
Original boot firmware Dell BIOS
Intel ME/AMD PSP Present. Can be completely disabled.
Flash chip SOIC-8 4MiB or 2MiB+4MiB
W+: Works without blobs; 
N: Doesn't work; 
W*: Works with blobs; 
U: Untested; 
P+: Partially works; 
P*: Partially works with blobs
Features
Internal flashing with original boot firmware W+
Display (if Intel GPU) W+
Display (if Nvidia GPU) W*
Audio W+
RAM Init W+
External output W+
Display brightness P+
Payloads supported
GRUB Works
SeaBIOS Works
SeaBIOS with GRUB Works

Introduction

Known supported variants: E6400, E6400 XFR and E6400 ATG. This page has been updated to include information about Nvidia GPU variants. See news post: Dell Latitude E6400 XFR support confirmed, plus experimental Nvidia GPU support on E6400 variants.

To install Libreboot, see: E6400 installation instructions

ROM images for Dell Latitude E6400 are available for flashing in the Libreboot release 20230423 onwards, or you can compile a ROM image for installation via lbmk, see: build instructions

There are two possible flash chip sizes for the E6400: 4MiB (32Mbit) or 2+4MiB (16Mbit+32MBit). Libreboot presently supports the 4MiB version, and provides 8MiB images for those who upgrade their flash to 8MiB or 16MiB. There appears to be several possible mainboard PCBs for the E6400, which we believe mostly affects the GPU configuration and the number of available SPI flash footprints:

These PCB numbers can be found either under the black plastic in the RAM slots on the bottom (CPU side) of the board, the top left corner near the VGA port (top side, under the keyboard and palmrest), or near the CPU backplate (only requires removal of the keyboard).

We believe that all boards will have at least a single 4MiB flash chip, regardless of the number of SPI footprints. This is likely the most common configuration on most available systems. The 2+4MiB configuration likely would have only been used on systems with full Intel ME firmware with AMT functionality, though this configuration has not yet been encountered.

Most people will want to use the 4MiB images.

Intel GPU: 100% Free Software is possible

This is a GM45/PM45 platform, so completely libre initialisation in coreboot is possible, provided by default in Libreboot.

Management Engine (ME) firmware removed

This port in Libreboot makes use of ich9gen from ich9utils, which you can read about in the ich9utils manual - this creates a no-ME setup. The Intel Management Engine firmware (ME) is completely removed, and the ME disabled, just like on ThinkPad X200, T400 and so on.

The E6400 laptops may come with the ME (and sometimes AMT in addition) before flashing libreboot. Dell also sold configurations with the ME completely disabled, identifiable by a yellow sticker reading “3 ME Disabled” inside the bottom panel. This config sets the MeDisable bit in the IFD and sets the ME region almost entirely to 1’s, with the occasional 32-bit value (likely not executable). libreboot disables and removes it by using a modified descriptor: see ../install/ich9utils.html (contains notes, plus instructions)

Issues pertaining to Nvidia GPU variants

Copper shim for GPU cooling

NOTE: this section does not apply to XFR or ATG variants of E6400, which have a much beefier heatsink by default.

The default heatsink in Nvidia variants of E6400 (regular model) has thermal paste for the CPU, and a thermal pad for the GPU. This pad is woefully inadequate, but replacing it with paste is a bad idea, because of the gap there would be between heatsink plate and GPU die.

A solution for this would be to use a copper shim, with paste on each side, to replace the thermal pad.

This eBay seller seems to make and sell a lot of copper shims, specifically for E6400:

SELLER LINK REMOVED. - one will not be re-added. Putting ebay links on the Libreboot site is folly, because they disappear. Just search for it and see if you can find one for purchase. It’s literally just a small bit of copper cut smooth to just the right size. Actually, there’s a lot of engineering behind that, but installation is very simple, and any decent seller will provide guidance.

If you buy one of those, could you measure it? Tell Libreboot the dimensions. Get in touch with us. It would be nice to know precise specs, but that seller provides what you need. If you find similar listings elsewhere, please also let us know.

The shim will greatly reduce GPU temperatures, and probably improve performance due to less GPU throttling as a result of heat.

Nouveau(in Linux) currently broken

Nouveau is the libre driver in Linux, for Nvidia graphics. Nvidia themselves do not provide binary drivers anymore, for these GPUs. It crashes in Linux, when you try to start Xorg (Wayland is untested).

If you’re booting an Nvidia variant in Linux, boot Linux with the nomodeset kernel option at boot time. This means that graphics are rendered in software.

Development discussion, for Nvidia variants of E6400, is available here:

https://codeberg.org/libreboot/lbmk/issues/14

OpenBSD’s Nvidia driver works perfectly

OpenBSD 7.3 was tested, on my Nvidia-model E6400, and Xorg works OK with the nv driver.

See: https://www.openbsd.org/

OpenBSD is a complete free 4.4BSD Unix operating system focused on portability, security and code correctness. It’s quite useable for most day to day tasks.

You can find information in Libreboot about BSD operating systems on the main guide:

FreeBSD and newer Linux (e.g. Archlinux) untested!

FreeBSD has not yet been tested, as far as we know, but it should work.

Testers needed! Please get in touch!

At the time of writing this post, FreeBSD and newer Linux have not yet been tested (I plan to test Arch Linux), but the older Linux/Mesa version in Debian 11.6 works just fine in the Dell BIOS, and I’ve confirmed that it uses the exact same Video BIOS Option ROM.

Desktop environment / window manager on OpenBSD + Performance notes

TODO: This section could probably be moved to its own section. It’s not really relevant to Libreboot per se, but it may help a few people.

Again, Linux’s nouveau driver is currently broken. I’ve been playing with my E6400 (nvidia model) for a while and I’ve found that these things are a must for performance (the machine otherwise lags, openbsd’s nv driver isn’t quite as good as nouveau, when the nouveau one works that is):

How to install obsdfreqd:

pkg_add obsdfreqd
rcctl enable obsdfreqd

Now, before you start it, make sure apmd is disabled; it can be used, but not with the -A flag:

rcctl stop apmd
rcctl disable apmd

Now start obsdfreqd:

rcctl start obsdfreqd

You will be well served to perform the copper shim mod, for GPU cooling. With obsdfreqd, your laptop will run much cooler. This is generally a good idea anyway, especially on laptops, to save electricity.

Of course, there are many tweaks that you can do to OpenBSD but the key is: don’t use heavy bloated software. The term lightweight is misleading anyway; if the software does its job efficiently, and you’re happy with it, then it is by definition superior for your purposes. So, “lightweight” is simply a word for “efficient” in many contexts. We should encourage the use and development of highly efficient software that runs more smoothly on old machines. The elitist attitude of just buy a new computer is quite damaging; re-use is always better, when that is feasible and safe. The power of BSD (and Linux) is precisely that you can tweak it to get the most use out of older hardware..

Another nice hint: higher resolution video like 1080p 60fps or above won’t play smoothly at all in a web browser. In testing at least on OpenBSD 7.3, Firefox seems to have the best performance among all the web browsers, at least when I used it. Anything 720p 30/60fps will work ~OK.

For YouTube, you could use yt-dlp, which is available in ports, and use mpv to stream via yt-dlp. Or download manually with yt-dlp and play offline. See:

https://github.com/yt-dlp/yt-dlp

https://mpv.io/

Another hint: for watching youtube in the browser, Invidious works quite well. It’s a frontend that lets you view it by proxy, and there are many instances of it online. For a list of instances, see:

https://redirect.invidious.io/

Unlike youtube.com, watching youtube via invidious works even with JavaScript turned off in the browser. You can use it to also search YouTube, and then paste the youtube.com link into yt-dlp or mpv; Invidious websites themselves also often provide a download button for videos.

The yt-dlp software may also work on a few other websites besides YouTube. Running with JavaScript turned off is generally recommended for performance, especially on slower machines, turning it on only when you need it. Many websites are just full of junk nowadays.

Markdown file for this page: https://libreboot.org/docs/hardware/e6400.md

Subscribe to RSS for this site

Site map

This HTML page was generated by the Untitled Static Site Generator.