distribution/config/graphic
2023-06-15 13:28:39 -04:00

167 lines
4.1 KiB
Text

[ -z "${OPENGL}" ] && OPENGL="no"
[ -z "${OPENGLES}" ] && OPENGLES="no"
[ -z "${VULKAN}" ] && VULKAN="no"
if [ "${OPENGL}" = "no" ]; then
OPENGL_SUPPORT="no"
else
OPENGL_SUPPORT="yes"
fi
if [ "${OPENGLES}" = "no" ]; then
OPENGLES_SUPPORT="no"
else
OPENGLES_SUPPORT="yes"
fi
if [ "${VULKAN}" = "no" ]; then
VULKAN_SUPPORT="no"
else
VULKAN_SUPPORT="yes"
fi
get_graphicdrivers() {
# set defaults
GALLIUM_DRIVERS="swrast"
XORG_DRIVERS=""
VULKAN_DRIVERS_CONFIG=""
VULKAN_DRIVERS_MESA=""
LLVM_SUPPORT="no"
COMPOSITE_SUPPORT="no"
VDPAU_SUPPORT="no"
VAAPI_SUPPORT="no"
V4L2_SUPPORT="no"
if [ "${GRAPHIC_DRIVERS}" = "all" ]; then
GRAPHIC_DRIVERS="crocus i915 iris r300 r600 radeonsi nvidia nvidia-legacy nvidia-ng vmware virtio vc4"
fi
if listcontains "${GRAPHIC_DRIVERS}" "crocus"; then
GALLIUM_DRIVERS+=" crocus"
XORG_DRIVERS+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "etnaviv"; then
GALLIUM_DRIVERS+=" etnaviv kmsro"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
fi
if listcontains "${GRAPHIC_DRIVERS}" "freedreno"; then
GALLIUM_DRIVERS+=" freedreno"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
fi
if listcontains "${GRAPHIC_DRIVERS}" "i915"; then
GALLIUM_DRIVERS+=" i915"
XORG_DRIVERS+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "iris"; then
GALLIUM_DRIVERS+=" iris"
XORG_DRIVERS+=" intel"
VULKAN_DRIVERS_MESA+=" intel"
COMPOSITE_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "lima"; then
GALLIUM_DRIVERS+=" kmsro lima"
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "mali"; then
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "nvidia"; then
XORG_DRIVERS+=" nvidia"
VULKAN_DRIVERS_CONFIG+=" nvidia"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-legacy"; then
XORG_DRIVERS+=" nvidia-legacy"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "nvidia-ng"; then
VULKAN_DRIVERS_CONFIG+=" nvidia-ng"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "panfrost"; then
GALLIUM_DRIVERS+=" kmsro panfrost"
VULKAN_DRIVERS_MESA+=" panfrost"
V4L2_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "r300"; then
GALLIUM_DRIVERS+=" r300"
XORG_DRIVERS+=" ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "r600"; then
GALLIUM_DRIVERS+=" r600"
XORG_DRIVERS+=" ati"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "radeonsi"; then
GALLIUM_DRIVERS+=" radeonsi"
XORG_DRIVERS+=" ati amdgpu"
VULKAN_DRIVERS_MESA+=" amd"
LLVM_SUPPORT="yes"
COMPOSITE_SUPPORT="yes"
VDPAU_SUPPORT="yes"
VAAPI_SUPPORT="yes"
fi
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
GALLIUM_DRIVERS+=" vc4 v3d kmsro"
VULKAN_DRIVERS_MESA+=" broadcom"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
fi
if listcontains "${GRAPHIC_DRIVERS}" "virtio"; then
GALLIUM_DRIVERS+=" virgl"
fi
if listcontains "${GRAPHIC_DRIVERS}" "vmware"; then
GALLIUM_DRIVERS+=" svga"
XORG_DRIVERS+=" vmware"
COMPOSITE_SUPPORT="yes"
fi
# VDPAU Support depends on X11
if [ ! "${DISPLAYSERVER}" = "x11" ]; then
VDPAU_SUPPORT="no"
fi
# add swrast to GALLIUM_DRIVERS regardless of GRAPHIC_DRIVERS value
GALLIUM_DRIVERS+=" swrast"
# remove duplicate entries
GALLIUM_DRIVERS="$(echo ${GALLIUM_DRIVERS} | xargs -n1 | sort -u | xargs)"
GRAPHIC_DRIVERS="$(echo ${GRAPHIC_DRIVERS} | xargs -n1 | sort -u | xargs)"
XORG_DRIVERS="$(echo ${XORG_DRIVERS} | xargs -n1 | sort -u | xargs)"
VULKAN_DRIVERS_MESA="$(echo ${VULKAN_DRIVERS_MESA} | xargs -n1 | sort -u | xargs)"
VULKAN_DRIVERS_CONFIG+=" ${VULKAN_DRIVERS_MESA}"
VULKAN_DRIVERS_CONFIG="$(echo ${VULKAN_DRIVERS_CONFIG} | xargs -n1 | sort -u | xargs)"
}