news post: E6400 XFR and nvidia variants

c20230710
Leah Rowe 2023-05-09 08:13:15 +01:00
parent 07915f03d5
commit 2694bb99e8
8 changed files with 460 additions and 19 deletions

View File

@ -5,15 +5,16 @@ x-toc-enable: true
<div class="specs"> <div class="specs">
<center> <center>
Dell Latitude E6400 <img tabindex=1 alt="Dell Latitude E6400" class="p" src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /></span> <img tabindex=1 alt="Dell Latitude E6400 XFR" class="p" style="max-width:24em" src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /></span>
</center> </center>
| ***Specifications*** | | | ***Specifications*** | |
|----------------------------|------------------------------------------------| |----------------------------|------------------------------------------------|
| **Manufacturer** | Dell | | **Manufacturer** | Dell |
| **Name** | Latitude E6400 | | **Name** | Latitude E6400 |
| **Variants** | E6400, E6400 XFR and E6400 ATG are supported |
| **Released** | 2009 | | **Released** | 2009 |
| **Chipset** | Intel Cantiga GM45 | | **Chipset** | Intel Cantiga GM45(Intel GPU)/PM45(Nvidia GPU) |
| **CPU** | Intel Core 2 Duo (Penryn family). A Quad-core | **CPU** | Intel Core 2 Duo (Penryn family). A Quad-core
mod exists, replacing the Core 2 Duo with a Core Quad | mod exists, replacing the Core 2 Duo with a Core Quad |
| **Graphics** | Intel GMA 4500MHD (and NVidia Quadro NVS 160M | **Graphics** | Intel GMA 4500MHD (and NVidia Quadro NVS 160M
@ -24,7 +25,7 @@ Dell Latitude E6400
| **EC** | SMSC MEC5035 with proprietary firmware | | **EC** | SMSC MEC5035 with proprietary firmware |
| **Original boot firmware** | Dell BIOS | | **Original boot firmware** | Dell BIOS |
| **Intel ME/AMD PSP** | Present. Can be completely disabled. | | **Intel ME/AMD PSP** | Present. Can be completely disabled. |
| **Flash chip** | SOIC-8 4MiB or 2MiB+4MiB (Upgradable to 16MiB) | | **Flash chip** | SOIC-8 4MiB or 2MiB+4MiB |
``` ```
@ -39,7 +40,8 @@ P*: Partially works with blobs
| ***Features*** | | | ***Features*** | |
|---------------------------------------------------|----| |---------------------------------------------------|----|
| **Internal flashing with original boot firmware** | W+ | | **Internal flashing with original boot firmware** | W+ |
| **Display** | W+ | | **Display (if Intel GPU)** | W+ |
| **Display (if Nvidia GPU)** | W* |
| **Audio** | W+ | | **Audio** | W+ |
| **RAM Init** | W+ | | **RAM Init** | W+ |
| **External output** | W+ | | **External output** | W+ |
@ -54,6 +56,11 @@ P*: Partially works with blobs
Introduction 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](../../news/e6400nvidia.md).
**To install Libreboot, see: [E6400 installation **To install Libreboot, see: [E6400 installation
instructions](../install/e6400.md)** instructions](../install/e6400.md)**
@ -61,10 +68,6 @@ 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 release 20230423 onwards, or you can compile a ROM image for installation via
lbmk, see: [build instructions](../build/) lbmk, see: [build instructions](../build/)
We believe all models with iGPU are GM45 and will work perfectly. We suspect
that the dGPU models are PM45 and won't work yet, because Libreboot currently
supports just the iGPU (Intel graphics) on these machines.
There are two possible flash chip sizes for the E6400: 4MiB (32Mbit) or 2+4MiB 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 (16Mbit+32MBit). Libreboot presently supports the 4MiB version, and provides
8MiB images for those who upgrade their flash to 8MiB or 16MiB. There appears 8MiB images for those who upgrade their flash to 8MiB or 16MiB. There appears
@ -89,7 +92,7 @@ functionality, though this configuration has not yet been encountered.
Most people will want to use the 4MiB images. Most people will want to use the 4MiB images.
Blob-free setup (no-ME possible) Intel GPU: Blob-free setup (no-ME possible)
--------------- ---------------
This is a GM45/PM45 platform, so completely libre initialisation in This is a GM45/PM45 platform, so completely libre initialisation in
@ -111,3 +114,71 @@ 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: executable). libreboot disables and removes it by using a modified descriptor:
see [../install/ich9utils.md](../install/ich9utils.md)* see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions) (contains notes, plus instructions)
Issues pertaining to Nvidia GPU variants
========================================
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.
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.
More information about Nvidia E6400 models is written in
the [regular E6400 hardware page](../docs/hardware/e6400.md). The reason it's
in a WIP branch is because, on this day, more testing is needed; the Linux
nouveau driver crashed when I tried to start xorg (tested in Debian
Stable, 11.6, with default kernel and mesa - use of `nomodeset` kernel option
at boot time makes Xorg work just fine, when I tested it, but this means that
all video is being rendered in software) - this is being
investigated, and when a fix is made, either to nouveau and/or coreboot, this
variant of the E6400 will become available in Libreboot's master branch, and
subsequent releases.
The same Video BIOS Option ROM is used by Dell's boot firmware, and Xorg works
just fine there under Linux, with the same nouveau driver. A trace could be
performed, to see where Nouveau crashes.
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 works perfectly,
including 2D and 3D acceleration. I *wholeheartedly* recommend OpenBSD in
general, but it works *especially* well on these machines.
<img tabindex=1 class="l" style="max-width:35%" src="https://av.libreboot.org/openbsd.jpg" /><span class="f"><img src="https://av.libreboot.org/openbsd.jpg" /></span>
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 a competent OS for many purposes,
and works very well on laptops. I use it myself for all sorts of things. If
you're already familiar with Linux-based systems, OpenBSD will immediately
feel familiar, and it has *the best* documentation. You can configure the
entire system by just reading the FAQ page and *manpages*, and it's very easy
to get a basic setup really quickly. A lot of the packages you might be familiar
with in Linux are available in *ports*. You may have heard that Linux-based
systems are *unix-like*, but BSD systems *are* Unix, by code heritage.
You can find information in Libreboot about BSD operating systems on the
main guide:
* [BSD Operating Systems](../docs/bsd/)
FreeBSD and newer Linux (e.g. Archlinux) untested!
--------------------------------------------------
[Testers needed! Please get in touch!](../docs/maintain/testing.html)
**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.

View File

@ -29,7 +29,8 @@ libreboot currently supports the following systems in this release:
### Laptops (Intel, x86) ### Laptops (Intel, x86)
- **[Dell Latitute E6400](e6400.md) (easy to flash, no disassembly, similar - **[Dell Latitute E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel
GPU](e6400.md) (easy to flash, no disassembly, similar
hardware to X200/T400)** hardware to X200/T400)**
- ThinkPad X60 / X60S / X60 Tablet - ThinkPad X60 / X60S / X60 Tablet
- ThinkPad T60 (with Intel GPU) - ThinkPad T60 (with Intel GPU)

View File

@ -11,11 +11,20 @@ Initial flashing instructions for the E6400.
**ROM images are available in the [Libreboot 20230423 **ROM images are available in the [Libreboot 20230423
release](../../news/libreboot20230423.md), and subsequent releases.** release](../../news/libreboot20230423.md), and subsequent releases.**
**Variants with Nvidia GPUs are NOT supported in Libreboot 20230423. Please
see below for further guidance (experimental support available in `lbmk.git`).**
This guide is for those who want libreboot on their Latitude E6400 while This guide is for those who want libreboot on their Latitude E6400 while
they still have the original Dell BIOS present. This guide can also be they still have the original Dell BIOS present. This guide can also be
followed (adapted) if you brick your E6400, to know how to recover. followed (adapted) if you brick your E6400, and you want to recover it.
Blob-free initialisation! Variants (nvidia or intel graphics)
========
Dell E6400, E6400 XFR and E6400 ATG are all believed to work. The flashing
instructions are identical, on all of them.
Blob-free initialisation (on Intel GPU variants)
========================= =========================
This board can boot entirely blob-free in the flash. The hardware is similar This board can boot entirely blob-free in the flash. The hardware is similar
@ -36,11 +45,17 @@ Policy](../../news/policy.md) but this board run reasonably well without them.
A note about GPUs A note about GPUs
----------------- -----------------
We *believe* the dGPU models are PM45, and therefore will require a VGA We *confirm that* the Nvidia models are PM45, and therefore will require a VGA
blob for initialisation. This is currently unsupported in Libreboot. blob for initialisation. This is [experimentally
supported](../../news/e6400nvidia.md) in Libreboot. - **A Video BIOS Option
ROM is used, in this configuration, which is a binary blob. Libreboot's
build system automatically downloads this at build time, or it can handle that
for you in the same way if it was scrubbed from a release ROM.**
Models with iGPU (Intel graphics) are GM45, and fully supported in Libreboot Models with Intel graphics are GM45, and fully supported in Libreboot
with native initialisation. with native initialisation; ROM images are available since Libreboot 20230423.
**The Intel video initialisation is libre, implemented with publicly available
source code via libgfxinit, from the coreboot project.**
Flash chip size {#flashchips} Flash chip size {#flashchips}
=============== ===============
@ -55,11 +70,134 @@ provided for people who wish to upgrade.
MAC address {#macaddress} MAC address {#macaddress}
=========== ===========
The MAC address is part of the ROM image that you're flashing. You can change
it at any time, before or after you've flashed Libreboot; you can also change
it in the *Dell* BIOS, if you really want to. This is for the onboard gigabit
ethernet device.
Refer to [mac\_address.md](../hardware/mac_address.md). Refer to [mac\_address.md](../hardware/mac_address.md).
It is recommended that you run *nvmutil*. See:
[nvmutil usage manual](nvmutil.md)
The `nvmutil` software is specifically designed for changing MAC addresses,
and it implements a few more safeguards (e.g. prevents multicast/all-zero
MAC addresses) and features (MAC address randomisation, ability to correct or
intententionally corrupt(disable) GbE sections if you wish, swap GbE parts,
etc). You can *also* run ich9gen, if you wish:
[ich9gen usage manual](ich9utils.md)
Intel GPU: libre video initialisation available
===============================================
Libreboot uses coreboot's native `libgfxinit` on this platform, for
variants with Intel graphics.
For Intel GPU variants, Libreboot 20230423 and up have full support. Simply
flash a release ROM, if you wish.
Nvidia GPU: Video BIOS Option ROM required
==========================================
This is *unavailable* in Libreboot 20230423, but a future release will contain
support for these variants; for now, you must compile Libreboot from Git.
Download the Libreboot build system, lbmk, like so:
git clone https://codeberg.org/libreboot/lbmk
When you clone the Libreboot git repository `lbmk.git`, go in there and do
this:
git checkout e6400nvidia_wip
Actual installation is the same as with regular E6400 (Intel GPU) variants.
Refer to the [E6400 flashing instructions](../docs/install/e6400.md).
The `e6400nvidia_wip` is used, because this version is still under development.
Refer to [development discussion](https://codeberg.org/libreboot/lbmk/issues/14#issuecomment-907758) for more information - [testers needed!](../maintain/testing.md)
Obtaining the VGA Option ROM (Nvidia)
-------------------------------------
Libreboot does not (and will not) directly distribute the Nvidia ROM, but this
WIP branch has logic added to `blobutil`, which automatically fetches Dell
update files and extracts the Video BIOS from it. This is inserted during
the build process, *automatically*. Everything has been figured out *for you*,
as is the purpose of Libreboot's [automated build system](../docs/maintain/).
In Libreboot release ROMs after Libreboot 20230423, this Video BIOS ROM will
*not* be present, but you'll be able to run the same script that lbmk uses, to
manually re-download and re-add it. The Libreboot build system scrubs certain
binary blobs, in the scripts from lbmk that create release archives.
Libreboot's `blobutil`, while in the `e6400nvidia_wip` branch, can be
executed like so:
./blobutil download e6400nvidia_4mb
*The above command is executed automatically, when Libreboot's build system
is called, to build the full E6400 ROM image like so:*
./build boot roms e6400nvidia_4mb
The `download` command (see above) pulls down Dell's BIOS update (A34 release),
and extracts the VGA ROM from that. This is then saved to `pciroms/` under
lbmk.
The `./build boot roms` command (see above) automatically inserts this PCI
ROM, and it is downloaded automatically if the PCI ROM is missing; if
downloading and/or extraction (of the Option ROM) fails, the entire build
process will fail (non-zero exit status). DO NOT flash it until you confirm
that the build weth successfully. For example, try:
make -BC coreboot/default/util/cbfstool/cbfstool
cp coreboot/default/util/cbfstool/cbfstool .
Then check the E6400 ROM under `bin/`. Let's say the ROM was
named `libreboot.rom`, you would do:
./cbfstool libreboot.rom print
This would print the files that have been inserted into the ROM image (rom
stage, car, payloads etc), and it should list the PCI option ROM as the
following file, by name: `pci10de,06eb.rom`.
DO NOT flash it unless that file is present. If you've confirmed that the ROM
has compiled successfully, you can flash it.
**BEFORE** you flash it, please know that support for Nvidia variants is
a **work in progress**. Known issues exist. For more information, please
read the [E6400 info page](../hardware/e6400.md), [E6400 nvidia news
page](../../news/e6400nvidia.md) and the [development discussion via
codeberg](https://codeberg.org/libreboot/lbmk/issues/14#issuecomment-907758).
How to flash internally (no diassembly) How to flash internally (no diassembly)
======================================= =======================================
Warning for BSD users
---------------------
BSD *boots* and works properly on these machines, but take note:
Nicholas's [e6400-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/e6400-flash-unlock/e6400_flash_unlock.c)
utility has not yet been ported to BSD systems. The `flashrom` software is
available on BSD systems. Libreboot's build system has not yet been ported to
the BSDs.
BSD users could run Linux from USB to run `flashrom` and `e6400-flash-unlock`.
Virtualisation is available in BSDs, where it should be feasible to run the
Libreboot build system, in Linux, under virtualisation.
Flashing from Linux
-------------------
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
disables memory protections, permitting `/dev/mem` access needed by flashrom.
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
You can flash Libreboot directly from the vendor (Dell) BIOS, without taking You can flash Libreboot directly from the vendor (Dell) BIOS, without taking
the machine apart. It can be done entirely from Linux. It will probably also the machine apart. It can be done entirely from Linux. It will probably also
work on BSD systems, but it has only been testing on Linux thus far. work on BSD systems, but it has only been testing on Linux thus far.
@ -89,6 +227,36 @@ It also bypasses the SMM BIOS lock protection by disabling SMIs, and Dell's
BIOS doesn't set any other type of protection either such as writing to BIOS doesn't set any other type of protection either such as writing to
Protected Range registers. Protected Range registers.
When you flash it, you can use this command:
flashrom -p internal -w libreboot.rom
Where `libreboot.rom` is your E6400 ROM. *Make sure* it's the right one.
If flashrom complains about multiple flash chips detected, just pick one of
them (doesn't matter which one). On *most* Dell machines, the most correct
would probably be this option in flashrom: `-c MX25L3205D/MX25L3208D`.
So:
flashrom -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
When you see flashrom say `VERIFIED` at the end, that means the flash was
successful. If you don't see that, or you're unsure, please [contact the
Libreboot project via IRC](../../contact.md).
BACK UP THE FACTORY BIOS
========================
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
original Dell BIOS first, using the -r option:
flashrom -p internal -r backup.rom -c MX25L3205D/MX25L3208D
Do this while in a flashable state, after the 2nd run of `e6400-flash-unlock`.
Make sure the `backup.rom` file gets backed up to an external storage media,
not the E6400 itself.
With this method, you can probably flash it within 5 minutes. Again, zero With this method, you can probably flash it within 5 minutes. Again, zero
disassembly required! disassembly required!
@ -105,3 +273,4 @@ low, which can interfere with programmers such as the Raspberry Pi. See
Have a look online for videos showing how to disassemble, if you wish to Have a look online for videos showing how to disassemble, if you wish to
externally re-flash. externally re-flash.

View File

@ -87,7 +87,9 @@ desirable for you to use an external/add-on graphics card
#### vesafb (vgarom) #### vesafb (vgarom)
high resolution VESA framebuffer used on startup high resolution VESA framebuffer used on startup. This is equivalent
to `corebootfb` (high resolution framebuffer), but for setups where a VGA
Option ROM is used.
#### txtmode (vgarom) #### txtmode (vgarom)
@ -95,7 +97,11 @@ int10h text mode is used on startup
### normal ### normal
int10h text mode startup is implied here. NOTE: Dell Latitude E6400 Nvidia variant uses this.
int10h text mode startup is implied here. The `vesafb` mode is unavailable here.
For `vesafb` mode, please use init type `vgarom`; most useful for GRUB payloads
or perhaps Tianocore.
In this setup, coreboot is neither implementing libgfxinit / native graphics In this setup, coreboot is neither implementing libgfxinit / native graphics
initialization nor is it finding/loading/executing VGA option ROMs. In this initialization nor is it finding/loading/executing VGA option ROMs. In this

View File

@ -780,6 +780,14 @@ Where certain binary blobs like Intel ME or MRC are needed on a given board,
this script is called automatically by the build system, to download the files this script is called automatically by the build system, to download the files
for insertion. for insertion.
Specific binary blobs handled are:
* Intel ME images (via `me_cleaner`)
* Intel MRC (haswell boards)
* VGA option ROMs (currently just [Dell Latitude
E6400 Nvidia variants](../../news/e6400nvidia.md))
* KBC1126 EC firmware (HP laptops)
resources/scripts/blobs/extract resources/scripts/blobs/extract
=============================== ===============================
@ -791,12 +799,34 @@ to flash.
Dumping the original firmware is *always* recommended, regardless of what you Dumping the original firmware is *always* recommended, regardless of what you
want to do. want to do.
Specific binary blobs handled are:
* Intel ME images (via `me_cleaner`)
TODO, NOT YET HANDLED BY `extract` (only handled by `download` and `inject`):
* Intel MRC (haswell boards)
* KBC1126 EC firmware (HP laptops)
* VGA option ROMs (currently just [Dell Latitude
E6400 Nvidia variants](../../news/e6400nvidia.md))
The `extract` method is useful for offline installation, where such files
are required, and available.
resources/scripts/blobs/inject resources/scripts/blobs/inject
============================== ==============================
Where a blob is provided, via the `extract` or `download` method, *this* Where a blob is provided, via the `extract` or `download` method, *this*
script *inserts* a blob (ME, MRC etc) into a given target image. script *inserts* a blob (ME, MRC etc) into a given target image.
Specific binary blobs handled are:
* Intel ME images (via `me_cleaner`)
* Intel MRC (haswell boards)
* VGA option ROMs (currently just [Dell Latitude
E6400 Nvidia variants](../../news/e6400nvidia.md))
* KBC1126 EC firmware (HP laptops)
resources/scripts/build/ resources/scripts/build/
======================== ========================
@ -1135,6 +1165,13 @@ within them, requiring manual insertion by the user post-release. See:
[Insert binary blobs [Insert binary blobs
on Sandybridge/Ivybridge/Haswell](../install/ivy_has_common.md) on Sandybridge/Ivybridge/Haswell](../install/ivy_has_common.md)
resources/scripts/download/bios\_utilities
==========================================
This downloads and patches `bios_utilities`.
Command: `./download bios_utilities`
resources/scripts/download/coreboot resources/scripts/download/coreboot
=================================== ===================================
@ -1310,7 +1347,15 @@ resources/seabios/config/vgarom
=============================== ===============================
This version is for normal SeaBIOS configurations, where `libgfxinit` is not This version is for normal SeaBIOS configurations, where `libgfxinit` is not
to be used. to be used; coreboot itself handles VGA ROM initialisation.
resources/seabios/config/normal
===============================
This version is for normal SeaBIOS configurations, where `libgfxinit` is not
to be used; coreboot itself does *not* handle VGA ROM initialisation, and it
is assumed that SeaBIOS payload will be used in text mode. In this setup,
SeaBIOS executes VGA ROMs.
resources/seabios/patches/ resources/seabios/patches/
========================== ==========================

View File

@ -1,3 +1,4 @@
e6400nvidia.md
libreboot20230423.md libreboot20230423.md
hp_elitebooks.md hp_elitebooks.md
e6400.md e6400.md

View File

@ -2,6 +2,10 @@
% Leah Rowe % Leah Rowe
% 19 April 2023 % 19 April 2023
**UPDATE (9 May 2023): Libreboot confirmed working on variants such as
[E6400 XFR, and experiment Nvidia GPU variant support now
available](e6400nvidia.md).**
Introduction Introduction
============ ============

144
site/news/e6400nvidia.md Normal file
View File

@ -0,0 +1,144 @@
% Dell Latitude E6400 XFR support confirmed, plus experimental Nvidia GPU support on E6400 variants
% Leah Rowe
% 9 May 2023
<img tabindex=1 class="r" style="max-width:35%" src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /></span>
Introduction
============
[Dell Latitude E6400 *with Intel GMA 4500MHD* graphics](e6400.md) was added, and
included in the recent Libreboot 20230423 release. *Today*, [experimental
support](https://browse.libreboot.org/lbmk.git/log/?h=e6400nvidia_wip) is now
available for variants with GPU: Nvidia Quadro NVS 160M. The Dell Latitude 6400
XFR (rugged variant) was also tested today (Intel graphics) and confirmed
working in Libreboot 20230423.
The *Nvidia* variants are *not* supported in Libreboot 20230423. Support is
available in an experimental branch of Libreboot. Read the rest of this article
to learn more.
Dell Latitude E6400 with Nvidia GPU
===================================
This section *also* applies to E6400 XFS and ATG models. [Testers are
needed!](../docs/maintain/testing.md).
*Some* models of Dell Latitude E6400 have Nvidia Quadro NVS 160M graphics
device, instead of Intel GMA 4500MHD. The *initial* Libreboot port of Dell
E6400 *only* supported models with Intel graphics, but experimental support
for Nvidia graphics now exists, in a WIP branch of Libreboot.
<img tabindex=1 class="l" style="max-width:25%" src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /></span>
The Libreboot documentation has been updated, to cover these models. Refer
to Dell Latitude E6400 documentation in Libreboot; specifically,
the [E6400 info page](../docs/hardware/e6400.md) and [E6400 flashing
guide](../docs/install/e6400.md).
Nicholas Chin, author of the original Dell E6400 port, has been helping me and
I've been working on this experimental branch of Libreboot under his
guidance:
* <https://browse.libreboot.org/lbmk.git/log/?h=e6400nvidia_wip>
*These* patches were already merged in Libreboot's master branch, which the
changes in the WIP branch rely upon:
* Import the `bios_extract` utilities in lbmk: <https://browse.libreboot.org/lbmk.git/commit/?id=6d0ff0286451dc43d32428a44a68d07bc13c058a>
* Bug fixes from Nicholas for `bios_extract`: <https://browse.libreboot.org/lbmk.git/commit/?id=2e64f6397556b7e6fff8a7a305a5eaa1095acfc1>
* blobutil: support downloading VGA ROM for Nvidia E6400: <https://browse.libreboot.org/lbmk.git/commit/?id=5a197b4ff160a348179a3350af266c6b87a3aa04>
Ongoing development discussion is available, on the Libreboot bug tracker. See:
* <https://codeberg.org/libreboot/lbmk/issues/14>
For more information about the *Nvidia GPU* variants, please review the
following pages (which have been updated, while publishing this news article):
* [Dell Latitude E6400 hardware information](../docs/hardware/e6400.md)
* [Dell Latitude E6400 flashing instructions](../docs/install/e6400.md)
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.
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.
More information about Nvidia E6400 models is written in
the [regular E6400 hardware page](../docs/hardware/e6400.md). The reason it's
in a WIP branch is because, on this day, more testing is needed; the Linux
nouveau driver crashed when I tried to start xorg (tested in Debian
Stable, 11.6, with default kernel and mesa - use of `nomodeset` kernel option
at boot time makes Xorg work just fine, when I tested it, but this means that
all video is being rendered in software) - this is being
investigated, and when a fix is made, either to nouveau and/or coreboot, this
variant of the E6400 will become available in Libreboot's master branch, and
subsequent releases.
The same Video BIOS Option ROM is used by Dell's boot firmware, and Xorg works
just fine there under Linux, with the same nouveau driver. A trace could be
performed, to see where Nouveau crashes.
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 works perfectly,
including 2D and 3D acceleration. I *wholeheartedly* recommend OpenBSD in
general, but it works *especially* well on these machines.
<img tabindex=1 class="l" style="max-width:35%" src="https://av.libreboot.org/openbsd.jpg" /><span class="f"><img src="https://av.libreboot.org/openbsd.jpg" /></span>
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 a competent OS for many purposes,
and works very well on laptops. I use it myself for all sorts of things. If
you're already familiar with Linux-based systems, OpenBSD will immediately
feel familiar, and it has *the best* documentation. You can configure the
entire system by just reading the FAQ page and *manpages*, and it's very easy
to get a basic setup really quickly. A lot of the packages you might be familiar
with in Linux are available in *ports*. You may have heard that Linux-based
systems are *unix-like*, but BSD systems *are* Unix, by code heritage.
You can find information in Libreboot about BSD operating systems on the
main guide:
* [BSD Operating Systems](../docs/bsd/)
FreeBSD and newer Linux (e.g. Archlinux) untested!
--------------------------------------------------
[Testers needed! Please get in touch!](../docs/maintain/testing.html)
**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.
Dell Latitude E6400 ATG model
-----------------------------
[Testers needed! Please get in touch!](../docs/maintain/testing.html)
We also found out about this model; it's another rugged design, assumed to
be the same board as regular E6400, but testing is needed. If it's anything to
go by, this model shares the same service manual as the regular E6400. If you
have this board, please [get in touch](../docs/maintain/testing.md)!
ATG is basically just a thicker chassis. It seems to use the same/similar
heatsink compared to E6400 XFR.
Were you expecting more?
Well, that's all for now.
Stay tuned for further development.