From 9ac6c31c3b894a5e53760a9375a9e4d595625f14 Mon Sep 17 00:00:00 2001 From: "David B. Kinder" Date: Tue, 15 Nov 2022 17:36:16 -0800 Subject: [PATCH] doc: add tutorial for enabling multiple displays Signed-off-by: David B. Kinder --- doc/develop.rst | 1 + doc/tutorials/enable_multiple_displays.rst | 96 ++++++++++++++++++ doc/tutorials/images/virtio-gpu-device-01.png | Bin 0 -> 11526 bytes doc/tutorials/images/virtio-gpu-device-02.png | Bin 0 -> 23218 bytes doc/tutorials/images/virtio-gpu-device-03.png | Bin 0 -> 32569 bytes 5 files changed, 97 insertions(+) create mode 100644 doc/tutorials/enable_multiple_displays.rst create mode 100644 doc/tutorials/images/virtio-gpu-device-01.png create mode 100644 doc/tutorials/images/virtio-gpu-device-02.png create mode 100644 doc/tutorials/images/virtio-gpu-device-03.png diff --git a/doc/develop.rst b/doc/develop.rst index d1959687a..ee93d7d81 100644 --- a/doc/develop.rst +++ b/doc/develop.rst @@ -66,6 +66,7 @@ Advanced Features tutorials/cpu_sharing tutorials/sriov_virtualization tutorials/gpu-passthru + tutorials/enable_multiple_displays tutorials/run_kata_containers tutorials/rtvm_workload_design_guideline tutorials/acrn_on_qemu diff --git a/doc/tutorials/enable_multiple_displays.rst b/doc/tutorials/enable_multiple_displays.rst new file mode 100644 index 000000000..6cbc7967d --- /dev/null +++ b/doc/tutorials/enable_multiple_displays.rst @@ -0,0 +1,96 @@ +.. _enable_multiple_displays: + +Enable User VMs with Multiple Displays +###################################### + +A VM may want to run an OS with a graphical desktop or provide an application +with a human-machine interface (HMI) display. You can enable a graphical display by +using virtio GPU. + +Virtio GPU lets a VM present multiple windowed virtual displays on the physical +monitor. Virtio GPU also allows multiple VMs to share the same physical +display, for example, where the service VM has a Linux desktop window and a +Windows-based User VM has its desktop in a window on the same physical monitor. + +Virtio GPU is a virtio-based graphics adapter that provides a VM with one or +more virtual displays that show on the Service VM's monitor in either windowed +or borderless full screen mode. + +In ACRN, virtio GPU operates in 2D mode only and does not support offloading +rendering operations to a physical GPU. To do that, you must enable SR-IOV of +the physical GPU and passthrough one virtual function (VF) to each VM requiring +a virtual display. + +Dependencies and Constraints +**************************** + +Consider the following dependencies and constraints: + +* Virtio GPU only works with post-launched standard (non real-time) VMs. +* Virtio GPU works best with virtual functions (VFs) of the physical GPUs. + Without the VFs, the post-launched VM must use CPU rendering. +* Virtio GPU allows virtualizing multiple displays for one VM. All displays must + operate in the same mode, either windowed or borderless Full screen. In either + mode, virtio GPU supports at most two virtual displays per VM. +* The hosting Service VM's OS needs to work in graphical mode (instead of the + command line mode). + +.. note:: The virtio GPU mechanism performs best with Single Root I/O + Virtualization (SR-IOV) so that frames can be rendered by SR-IOV VF and + displayed by virtio GPU. Without SR-IOV support on your hardware platform (and + enabled in the BIOS settings), the VM can still render frames using the CPU, but + this is typically less efficient. + +Configuration Overview +********************** + +Use the :ref:`acrn_configurator_tool` to configure virtio GPU in the +post-launched User VM's basic parameters: + + +.. image:: images/virtio-gpu-device-01.png + :align: center + :class: drop-shadow + +Click on the ``+`` to define a new virtio-GPU device. From there you can choose +between a ``window`` or a borderless``full screen`` display for this device. + +.. image:: images/virtio-gpu-device-02.png + :align: center + :class: drop-shadow + +If you select ``window`` you can then choose the size of the window (from a +list), and the window's top-left corner offset (in pixels) from the top-left +corner of the screen, as shown in the following example. + +Configuration Example +********************* + +The following steps show how to select and verify a virtio GPU device by +extending the information provided in the :ref:`gsg`. + +1. In the ACRN Configurator, update the shared scenario you created with a + Service VM and one post-launched User VM by adding these virtio-GPU settings + to the User VM. + + Open the "POST_STD_VM1" -> "Basic Parameters" and scroll down to the "virtio + GPU device" settings. Click on the "+" to create a new virtual display + device and fill out the display settings: + + .. image:: images/virtio-gpu-device-03.png + :align: center + :class: drop-shadow + + In this example, we selected a window device (instead of a full screen + device) with a 1920x1080 size, and with the top-left corner 100 pixels down + and to the right of the (Service VM) display's top-left corner. + +#. Save the scenario and launch script. +#. Follow the :ref:`gsg` instructions to build ACRN and copy all the + necessary files from the development computer to the target system. +#. Reboot the target system to launch the Service VM and use the launch script + to start the post-launched User VM. + +Unlike in the original Getting Started Guide, this time when the Post-launched +User VM starts Ubuntu, the login screen uses the virtio GPU display in a +windowed area instead of being full screen. diff --git a/doc/tutorials/images/virtio-gpu-device-01.png b/doc/tutorials/images/virtio-gpu-device-01.png new file mode 100644 index 0000000000000000000000000000000000000000..993dee7d4d5e7967f86a35f8edec9feb65d2dcfb GIT binary patch literal 11526 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 WN+3ns0I=UQp0XlXp+L^$-TwhTncV^a literal 0 HcmV?d00001 diff --git a/doc/tutorials/images/virtio-gpu-device-03.png b/doc/tutorials/images/virtio-gpu-device-03.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb3b7373a3b94937c9c95e359cbf8950938124c GIT binary patch literal 32569 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­1eRL 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 literal 0 HcmV?d00001