Describe how the QEMU defconfigs can be used with an emulated GPU.
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
v2:
fix typos
tweak some wording (if -> whether, like in -> as shown in)
place video emulation after block device emulation on the index page
---
doc/board/emulation/index.rst | 1 +
doc/board/emulation/video.rst | 63 +++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 doc/board/emulation/video.rst
diff --git a/doc/board/emulation/index.rst b/doc/board/emulation/index.rst
index f8908166276..bda2240725f 100644
--- a/doc/board/emulation/index.rst
+++ b/doc/board/emulation/index.rst
@@ -15,6 +15,7 @@ Emulation
acpi
blkdev
+ video
qemu-arm
qemu-mips
qemu-ppce500
diff --git a/doc/board/emulation/video.rst b/doc/board/emulation/video.rst
new file mode 100644
index 00000000000..0e08c47787f
--- /dev/null
+++ b/doc/board/emulation/video.rst
@@ -0,0 +1,63 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+Emulation of a graphics adapter
+===============================
+
+Currently QEMU's ``bochs-display`` is the only emulated GPU that U-Boot's
+generic QEMU defconfigs support. It emulates a PCIe-connected graphics card
+with VESA 2.0 VBE extensions.
+
+The following parameters can be specified:
+
+edid
+ controls whether EDID information is available. Allowable values are
+ ``off`` and ``on``. The default is ``on``.
+
+vgamem
+ specifies the display memory size. The default value is 16 MiB.
+ For UHD resolution 32 MiB is required.
+
+The following configuration parameters are relevant:
+
+CONFIG_VIDEO_BOCHS
+ enable support for the Bochs GPU.
+
+CONFIG_VIDEO_BOCHS_SIZE_X
+ defines the display width.
+
+CONFIG_VIDEO_BOCHS_SIZE_Y
+ defines the display height.
+
+CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE
+ sets the framebuffer size that QEMU can use for a device driver that is
+ enabled after relocation. This should be chosen as
+
+ .. code-block::
+
+ CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE >=
+ 4 * CONFIG_VIDEO_BOCHS_SIZE_X * CONFIG_VIDEO_BOCHS_SIZE_Y
+
+Here is an example QEMU invocation for qemu-riscv64_smode_defconfig:
+
+.. code-block:: bash
+
+ qemu-system-riscv64 \
+ -M virt \
+ -device bochs-display,vgamem=33554432 \
+ -serial mon:stdio \
+ -device qemu-xhci \
+ -device usb-kbd \
+ -kernel u-boot
+
+``mon:stdio`` provides a serial console, ``qemu-xhci`` a USB root hub,
+``usb-kbd`` a USB keyboard.
+
+To start QEMU without GPU emulation, use parameter ``-nographic``, as shown in
+the following example:
+
+.. code-block:: bash
+
+ qemu-system-riscv64 \
+ -M virt \
+ -nographic \
+ -kernel u-boot
--
2.51.0