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.