diff --git a/crates/gpui/src/platform/windows/directx_renderer.rs b/crates/gpui/src/platform/windows/directx_renderer.rs index acc3faa91b..2cad807ae1 100644 --- a/crates/gpui/src/platform/windows/directx_renderer.rs +++ b/crates/gpui/src/platform/windows/directx_renderer.rs @@ -1468,7 +1468,13 @@ mod nvidia { pub(super) fn get_driver_version() -> Result { unsafe { // Try to load the NVIDIA driver DLL - let nvidia_dll = LoadLibraryA(s!("nvapi64.dll")).context("Can't load nvapi64.dll")?; + #[cfg(target_pointer_width = "64")] + let nvidia_dll = + LoadLibraryA(s!("nvapi64.dll")).context(format!("Can't load nvapi64.dll"))?; + #[cfg(target_pointer_width = "32")] + let nvidia_dll = + LoadLibraryA(s!("nvapi.dll")).context(format!("Can't load nvapi.dll"))?; + let nvapi_query_addr = GetProcAddress(nvidia_dll, s!("nvapi_QueryInterface")) .ok_or_else(|| anyhow::anyhow!("Failed to get nvapi_QueryInterface address"))?; let nvapi_query: extern "C" fn(u32) -> *mut () = std::mem::transmute(nvapi_query_addr);