diff --git a/src/libkrun/src/lib.rs b/src/libkrun/src/lib.rs index 43be281b0..2332bd58d 100644 --- a/src/libkrun/src/lib.rs +++ b/src/libkrun/src/lib.rs @@ -1422,22 +1422,24 @@ pub extern "C" fn krun_start_enter(ctx_id: u32) -> i32 { let mapper_vmm = _vmm.clone(); #[cfg(target_os = "macos")] - std::thread::Builder::new() - .name("mapping worker".into()) - .spawn(move || loop { - match receiver.recv() { - Err(e) => error!("Error in receiver: {:?}", e), - Ok(m) => match m { - MemoryMapping::AddMapping(s, h, g, l) => { - mapper_vmm.lock().unwrap().add_mapping(s, h, g, l) - } - MemoryMapping::RemoveMapping(s, g, l) => { - mapper_vmm.lock().unwrap().remove_mapping(s, g, l) - } - }, - } - }) - .unwrap(); + if ctx_cfg.gpu_virgl_flags.is_some() { + std::thread::Builder::new() + .name("mapping worker".into()) + .spawn(move || loop { + match receiver.recv() { + Err(e) => error!("Error in receiver: {:?}", e), + Ok(m) => match m { + MemoryMapping::AddMapping(s, h, g, l) => { + mapper_vmm.lock().unwrap().add_mapping(s, h, g, l) + } + MemoryMapping::RemoveMapping(s, g, l) => { + mapper_vmm.lock().unwrap().remove_mapping(s, g, l) + } + }, + } + }) + .unwrap(); + } loop { match event_manager.run() {