[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/2] ui/gtk: run gd_monitor_update_interval on EGL as well
From: |
Nikola Pavlica |
Subject: |
[PATCH 0/2] ui/gtk: run gd_monitor_update_interval on EGL as well |
Date: |
Thu, 14 Jan 2021 14:45:55 +0100 |
These patches regard the use-case of GPU-passthrough on QEMU for
accelerated graphics.
Usually when people use GPU-passthrough on QEMU, they opt to have a
physical seperate graphics card that gets passed through to QEMU
using something called "PCIe passthrough". Since the display output
is invisible to QEMU, the people who run these kinds of setups tend
to view the display outputs by physically connecting a monitor to
the "PCIe passthrough-ed" GPU in question.
However, on the Intel side of GPUs, there exists a technology that
allows a user to pass through a "virtual GPU" using something called
GVT-g.
Since virtual GPUs have no outputs, they rely soely on software trickery
to get the image displayed on the host machine. In case of GVT-g it is
done by DMA-ing the framebuffer to the GTK UIs display.
However, when using GTK outputs, there was a problem which caused the
image to be updated at only 33Hz (or FPS). These issues were first
discussed back in December 2019:
https://lists.nongnu.org/archive/html/qemu-devel/2019-12/msg05514.html
There were a few other issues along the way, but those were fixed as well.
The focus of these patches is that when using GVT-g on QEMU, it must
launch the GTK UI in OpenGL/EGL mode. This causes the code responsible
for updating the refresh rate to never get executed. Which is why I added
it to gtk-egl.c, to make sure updating the refresh rate works on EGL GTK
UIs as well.
These patches were made in response to Volkers patches which dealt with
cleaning up my previous code:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg766686.html
and thus are meant to be merged after Volker's patches.
Hopefully, this commit message isn't too daunting ;)
- [PATCH 0/2] ui/gtk: run gd_monitor_update_interval on EGL as well,
Nikola Pavlica <=