Skip to content

redhat/configs/common/generic: enable vgem module via CONFIG_DRM_VGEM

This is already done on Fedora, but not on RHEL (for reasons I couldn't find out). The module is very useful for virtualized graphics in environments without a physical graphical hardware, as it enables a virtual graphics memory manager, as used by Mesa's software renderer for enhanced performance.

Signed-off-by: Alexander Kanavin alex.kanavin@gmail.com

EDIT: I wrote an extended rationale in a comment and it helps to put it up front:

vgem driver adds a 'render node' in /dev/dri/renderD* when physical GPU is absent or its driver is too old to support the feature (this is common on server hardware).

This render node is required to perform off-screen rendering into a memory buffer (which is how one can perform graphical testing in CI environments). You can see its usage e.g. in virglrenderer or qemu:

https://gitlab.freedesktop.org/virgl/virglrenderer/-/blob/main/src/vrend_winsys_gbm.c?ref_type=heads#L116 https://gitlab.com/qemu-project/qemu/-/blob/master/util/drm.c?ref_type=heads

The specific, real use case for this feature can be found in the Yocto project:

https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/selftest/cases/runtime_test.py#n265

We run a test that executes qemu with 'egl-headless' parameter, but because Centos Stream and its derivatives do not provide the needed vgem driver, and the CI environement is on servers without a GPU, they all have to be excluded from the test. Fedora on the other hand is fine.

Edited by Alexander Kanavin

Merge request reports

Loading