From a623fefea6916de228395249031851b743f77b9f Mon Sep 17 00:00:00 2001 From: Matej Hrica Date: Wed, 10 Dec 2025 18:10:41 +0100 Subject: [PATCH] gpu: Only enable VIRGL if the user specified it in the capsets Signed-off-by: Matej Hrica --- vhost-device-gpu/src/backend/virgl.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vhost-device-gpu/src/backend/virgl.rs b/vhost-device-gpu/src/backend/virgl.rs index edbb8b3..70ae230 100644 --- a/vhost-device-gpu/src/backend/virgl.rs +++ b/vhost-device-gpu/src/backend/virgl.rs @@ -4,16 +4,16 @@ // // SPDX-License-Identifier: Apache-2.0 or BSD-3-Clause +use bitflags::Flags; +use libc::c_void; +use log::{debug, error, trace, warn}; +use rutabaga_gfx::RutabagaFence; use std::{ collections::BTreeMap, io::IoSliceMut, os::fd::{AsFd, FromRawFd, IntoRawFd, RawFd}, sync::{Arc, Mutex}, }; - -use libc::c_void; -use log::{debug, error, trace, warn}; -use rutabaga_gfx::RutabagaFence; use vhost::vhost_user::{ gpu_message::{ VhostUserGpuCursorPos, VhostUserGpuDMABUFScanout, VhostUserGpuDMABUFScanout2, @@ -155,9 +155,10 @@ impl VirglRendererAdapter { ) -> Self { let capsets = config.capsets(); let venus_enabled = capsets.contains(GpuCapset::VENUS); + let virgl_enabled = !(capsets & (GpuCapset::VIRGL | GpuCapset::VIRGL2)).is_empty(); let virglrenderer_flags = VirglRendererFlags::new() - .use_virgl(true) + .use_virgl(virgl_enabled) .use_venus(venus_enabled) .use_render_server(venus_enabled) .use_egl(config.flags().use_egl)