9020: note about iommu enablement for gfxcards
Signed-off-by: Leah Rowe <info@minifree.org>master
parent
240bfc950e
commit
14f649771f
|
@ -91,23 +91,62 @@ Kukri's patch is here:
|
||||||
This patch, at this revision (patchset 31), is what Libreboot uses for this
|
This patch, at this revision (patchset 31), is what Libreboot uses for this
|
||||||
port.
|
port.
|
||||||
|
|
||||||
Graphics cards
|
Graphics cards and IOMMU
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
IOMMU is buggy for some reason (we don't know why yet), when you plug in
|
||||||
|
a graphics card. The graphics card simply won't work. On some of them,
|
||||||
|
you can use the console but as soon as you start xorg, it will just b0rk.
|
||||||
|
|
||||||
|
Current Libreboot revisions *disable IOMMU by default*, on this board. The
|
||||||
|
coreboot code for initialising IOMMU was modified by the Libreboot project, to
|
||||||
|
make it a toggle. IOMMU works fine if you use only Intel graphics.
|
||||||
|
|
||||||
|
The way coreboot works is this: if vt-d is present on the CPU, it enables an
|
||||||
|
IOMMU, and only if vt-d is present. This is still the behaviour in Libreboot,
|
||||||
|
but Libreboot adds an additional check: if `iommu` is not set in nvram, it
|
||||||
|
defaults to on, but if it's set to disabled, then IOMMU is not initialised.
|
||||||
|
|
||||||
|
On all other Haswell boards, LIbreboot enables IOMMU by default. To enable
|
||||||
|
it on the 9020, do this on your ROM:
|
||||||
|
|
||||||
|
nvramtool -C libreboot.rom -w iommu=Enable
|
||||||
|
|
||||||
|
Then flash the ROM image. You can find nvram
|
||||||
|
under `src/coreboot/default/util/nvramtool`. Do this in lbmk if you don't
|
||||||
|
already havse `src/coreboot/default/`:
|
||||||
|
|
||||||
|
./update trees -f coreboot default
|
||||||
|
|
||||||
|
Then do this:
|
||||||
|
|
||||||
|
make -C src/coreboot/default/util/nvramtool
|
||||||
|
|
||||||
|
The binary `nvramtool` will then live in that directory. More information
|
||||||
|
available in [Libreboot build instructions](../build/). Information about
|
||||||
|
dumping/flashing the ROM can be found
|
||||||
|
in [Libreboot flashing instructions](../install/)
|
||||||
|
and [Libreboot external flashing instructions](../install/spi.md).
|
||||||
|
|
||||||
|
NOTE: If IOMMU is enabled, you can still use a graphics card, but you must
|
||||||
|
pass this on the Linux cmdline paramaters: `iommu=off`
|
||||||
|
|
||||||
|
NOTE2: Libreboot uses a *static option table* on all boards that have nvram,
|
||||||
|
which is why you must use the `-C` option on your ROM, to change the static
|
||||||
|
table that is baked into it.
|
||||||
|
|
||||||
On current lbmk master, graphics cards *do* work. The option to hide PEG
|
On current lbmk master, graphics cards *do* work. The option to hide PEG
|
||||||
devices from MRC was disabled. Now when you insert a graphics card, the
|
devices from MRC was disabled. Now when you insert a graphics card, the
|
||||||
onboard Intel GPU is disabled and the graphics card is used instead.
|
onboard Intel GPU is disabled and the graphics card is used instead.
|
||||||
|
|
||||||
NOTE: You must set `iommu=off` in your linux cmdline. For instance, set this
|
Here is an example of the type of errors we got when testing graphics cards
|
||||||
in `/etc/default/grub` and regenerate your GRUB config. With the IOMMU turned
|
with IOMMU enabled:
|
||||||
off, graphics cards work fine. Otherwise, with IOMMU turned on, you might get
|
|
||||||
this error:
|
|
||||||
|
|
||||||
<https://av.vimuser.org/error.jpg>
|
<https://av.vimuser.org/error.jpg>
|
||||||
|
|
||||||
NOTE2: You *can* use the onboard Intel GPU (without a graphics card inserted),
|
We believe the native MRC replacement may work better on graphics card with
|
||||||
and leave IOMMU turned on. You only need to disable the IOMMU when a graphics
|
IOMMU turned on. This will be enabled in a future Libreboot release, if not
|
||||||
card is inserted.
|
already supported.
|
||||||
|
|
||||||
7020 compatibility
|
7020 compatibility
|
||||||
------------------
|
------------------
|
||||||
|
|
Loading…
Reference in New Issue