diff --git a/drivers/graphics/virtio-gpud/src/main.rs b/drivers/graphics/virtio-gpud/src/main.rs index b27f4c56da..e73d8f45b6 100644 --- a/drivers/graphics/virtio-gpud/src/main.rs +++ b/drivers/graphics/virtio-gpud/src/main.rs @@ -32,7 +32,7 @@ use virtio_core::MSIX_PRIMARY_VECTOR; mod scheme; -//const VIRTIO_GPU_F_VIRGL: u32 = 0; +const VIRTIO_GPU_F_VIRGL: u32 = 0; const VIRTIO_GPU_F_EDID: u32 = 1; //const VIRTIO_GPU_F_RESOURCE_UUID: u32 = 2; //const VIRTIO_GPU_F_RESOURCE_BLOB: u32 = 3; @@ -511,6 +511,11 @@ fn deamon(deamon: daemon::Daemon, mut pcid_handle: PciFunctionHandle) -> anyhow: if has_edid { device.transport.ack_driver_feature(VIRTIO_GPU_F_EDID); } + let has_virgl = device.transport.check_device_feature(VIRTIO_GPU_F_VIRGL); + if has_virgl { + device.transport.ack_driver_feature(VIRTIO_GPU_F_VIRGL); + log::info!("virtio-gpud: VirGL 3D acceleration enabled"); + } device.transport.finalize_features(); // Queue for sending control commands.