diff --git a/src/gfxstream/guest/platform/linux/LinuxVirtGpuDevice.cpp b/src/gfxstream/guest/platform/linux/LinuxVirtGpuDevice.cpp index 4ced22746ec..d1084821517 100644 --- a/src/gfxstream/guest/platform/linux/LinuxVirtGpuDevice.cpp +++ b/src/gfxstream/guest/platform/linux/LinuxVirtGpuDevice.cpp @@ -7,9 +7,9 @@ #include #include #include +#include #include #include -#include #include #include @@ -18,6 +18,7 @@ #include "LinuxVirtGpu.h" #include "drm-uapi/virtgpu_drm.h" +#include "util/detect_os.h" #include "util/log.h" #ifdef MAJOR_IN_MKDEV @@ -191,6 +192,13 @@ int32_t LinuxVirtGpuDevice::init(int32_t descriptor) { mCaps.params[i] = params[i].value; } +#if !DETECT_OS_ANDROID + if ((mCaps.params[kParamSupportedCapsetIds] & (1 << VIRTGPU_DRM_CAPSET_GFXSTREAM_VULKAN)) == + 0) { + return -EINVAL; + } +#endif + auto capset = getCapset(); get_caps.cap_set_id = static_cast(capset); switch (capset) {