AMD Leveraging VKMS Driver To Improve Its Virtual Display Support
For several years already the AMDGPU kernel driver has supported virtual display functionality for cases like headless GPUs, pre-silicon hardware bring-up, GPUs/accelerators that lack physical display outputs, and other similar use-cases. That virtual display code is now being overhauled by re-using the existing VKMS DRM driver.
VKMS has matured the past few years as a software-only model of a kernel mode-setting driver for testing on headless machines. VKMS allows for providing a virtual display without any physical hardware requirements.
AMD engineers have now decided to pull in that open-source VKMS driver code into the AMDGPU driver in order to leverage that for their virtual display support compared to their existing "legacy" code. Their existing code emulated a legacy KMS interface while the switch to VKMS was motivated in part to bring atomic kernel mode-setting support to their virtual display handling.
AMD engineers did consider morphing the VKMS code itself to a stub driver and helper module with an interface that could be tapped by the AMDGPU driver. But they decided ultimately to pull the key VKMS code into the AMDGPU driver itself. In the end the driver ends up being nearly 200 lines lighter when removing their prior virtual display code.
This patch series is now out for review to modernize this AMD virtual display functionality. If all goes well it could land for the 5.15 kernel.
VKMS has matured the past few years as a software-only model of a kernel mode-setting driver for testing on headless machines. VKMS allows for providing a virtual display without any physical hardware requirements.
AMD engineers have now decided to pull in that open-source VKMS driver code into the AMDGPU driver in order to leverage that for their virtual display support compared to their existing "legacy" code. Their existing code emulated a legacy KMS interface while the switch to VKMS was motivated in part to bring atomic kernel mode-setting support to their virtual display handling.
AMD engineers did consider morphing the VKMS code itself to a stub driver and helper module with an interface that could be tapped by the AMDGPU driver. But they decided ultimately to pull the key VKMS code into the AMDGPU driver itself. In the end the driver ends up being nearly 200 lines lighter when removing their prior virtual display code.
This patch series is now out for review to modernize this AMD virtual display functionality. If all goes well it could land for the 5.15 kernel.
1 Comment