mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Add virglrenderer, an optional dependency of QEMU, which facilitates acceleration of rendering and optionally video decode through virtio-gpu. Add an upstream patch to fix the build with glibc 2.43, not present in a stable release yet. Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com> Signed-off-by: Romain Naour <romain.naour@smile.fr>
115 lines
3.4 KiB
Plaintext
115 lines
3.4 KiB
Plaintext
config BR2_PACKAGE_VIRGLRENDERER
|
|
bool "virglrenderer"
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # needs gcc >= 4.9 for __sync builtins
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_LIBEPOXY
|
|
help
|
|
A library for accelerated graphics and compute in
|
|
virtual machines.
|
|
|
|
A backend must be selected to enable guest acceleration.
|
|
|
|
https://qemu.readthedocs.io/en/v10.0.3/system/devices/virtio-gpu.html#virtio-gpu-virglrenderer
|
|
|
|
if BR2_PACKAGE_VIRGLRENDERER
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_VIRGL
|
|
bool "virgl"
|
|
default y
|
|
depends on (BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGBM) \
|
|
|| BR2_PACKAGE_HAS_LIBGL
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
help
|
|
Enable API-level OpenGL acceleration over virtio-gpu.
|
|
|
|
Requires the host to support OpenGL.
|
|
|
|
https://docs.mesa3d.org/drivers/virgl.html
|
|
|
|
comment "virgl needs OpenGL or OpenGL EGL and libgbm"
|
|
depends on !((BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGBM) \
|
|
|| BR2_PACKAGE_HAS_LIBGL)
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_VENUS
|
|
bool "venus"
|
|
default y if BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
|
depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
|
|
depends on !BR2_STATIC_LIBS # vulkan-loader
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
select BR2_PACKAGE_VULKAN_HEADERS
|
|
select BR2_PACKAGE_VULKAN_LOADER
|
|
help
|
|
Enable API-level Vulkan acceleration over virtio-gpu.
|
|
|
|
Requires the host to support Vulkan.
|
|
|
|
https://docs.mesa3d.org/drivers/venus.html
|
|
|
|
comment "DRM backends"
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_DRM_BACKEND_AMDGPU
|
|
bool "amdgpu"
|
|
default y if BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
|
default y if BR2_PACKAGE_MESA3D_VULKAN_DRIVER_AMD
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
select BR2_PACKAGE_LIBDRM
|
|
select BR2_PACKAGE_LIBDRM_AMDGPU
|
|
help
|
|
Enable DRM backend for amdgpu, used by Gallium radeonsi
|
|
and RADV vulkan drivers.
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_DRM_BACKEND_INTEL
|
|
bool "intel"
|
|
default y if BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
|
|
default y if BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
|
|
default y if BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
select BR2_PACKAGE_LIBDRM
|
|
help
|
|
Enable DRM backend for i915, used by Gallium i915/Iris
|
|
and Intel vulkan drivers.
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_DRM_BACKEND_MSM
|
|
bool "msm"
|
|
default y if BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
|
|
depends on !BR2_arm
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
select BR2_PACKAGE_LIBDRM
|
|
help
|
|
Enable DRM backend for msm, used by Gallium freedreno
|
|
driver.
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_DRM_BACKEND_PANFROST
|
|
bool "panfrost"
|
|
default y if BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
|
|
default y if BR2_PACKAGE_MESA3D_VULKAN_DRIVER_PANFROST
|
|
select BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
select BR2_PACKAGE_LIBDRM
|
|
help
|
|
Enable DRM backend for Panfrost, used by the panfrost
|
|
Gallium/vulkan drivers.
|
|
|
|
comment "Other options"
|
|
|
|
comment "vaapi support needs libgbm with dma-buf"
|
|
depends on !BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_VAAPI
|
|
bool "vaapi support"
|
|
depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
|
|
select BR2_PACKAGE_LIBDRM
|
|
select BR2_PACKAGE_LIBVA
|
|
help
|
|
Enable hardware accelerated video encode/decode through
|
|
libva over virtio-gpu.
|
|
|
|
endif
|
|
|
|
comment "virglrenderer needs a toolchain w/ gcc >= 4.9"
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
|
config BR2_PACKAGE_VIRGLRENDERER_HAS_BACKEND
|
|
bool
|