Can't find the name of Intel ICD OpenGL driver

解决OpenGL ES DLL库加载问题
本文介绍了解决OpenGL ES开发中DLL库加载错误的方法。当遇到显卡驱动正常但DLL库加载失败的问题时,通常是因为使用的DLL库与lib库不匹配。解决此问题只需确保加载的是正确的DLL库。

使用opengles开发时,出现


如果显卡驱动各个都是正常的,那就是因为你的dll 库跟使用lib 库不匹配导致的


加载的不是工程目录下的dll 库,所以,只需要把这个替换掉即可


haoran215 opened on Mar 15 Windows build number: 10.0.26100.3476 Your Distribution version: 24.04 Your WSL versions: 1.When I try to use hardware acceleration, my WSL can't find file libnvidia-gl.so ~$ ls /usr/lib/wsl/lib | grep nvidia libnvidia-encode.so libnvidia-encode.so.1 libnvidia-ml.so.1 libnvidia-opticalflow.so libnvidia-opticalflow.so.1 nvidia-smi 2.WSL is not using your NVIDIA GPU for OpenGL/Vulkan. glxinfo | grep "OpenGL renderer" → Shows D3D12 (Intel UHD Graphics) instead of RTX 4060 and I can't change it manuly. vulkaninfo | grep "GPU id" → Shows LLVM software renderer, meaning hardware acceleration is missing. 3.WSL does not have full NVIDIA library support: nvidia-smi works, but only sees CUDA, not OpenGL. 4.Segmentation fault (core dumped) when running OpenGL apps: glxgears crashes, meaning MESA+NVIDIA are not working together. 5.WSL may be using an outdated or incompatible driver: WSL reports NVIDIA-SMI 570.124.03, but Windows reports 572.60. Possible mismatch between Windows and WSL driver versions. 6.Vulkan driver is broken: vulkaninfo | grep "GPU id" → "ERROR_INCOMPATIBLE_DRIVER" Likely due to missing /usr/share/vulkan/icd.d/nvidia_icd.json. Steps to reproduce: nvidia-smi in WSL WSL logs: wlog.log WSL dumps: No response Expected behavior: No response Actual behavior: WSL installation does not have the full NVIDIA driver stack for OpenGL and Vulkan. missing libnvidia-gl.so, which is needed for OpenGL rendering. NVIDIA GPU is detected (nvidia-smi works), but OpenGL is still using Intel GPU (D3D12). Vulkan also fails with ERROR_INCOMPATIBLE_DRIVER, meaning WSL is not correctly using the NVIDIA driver. Activity haoran215 added bug Something isn't working on Mar 15 lzlrd lzlrd commented on Mar 21 lzlrd on Mar 21 · edited by lzlrd EDIT: See https://gist.github.com/lzlrd/0d9b757d2122f551794fd00c7f0752d6 as there are a few updates there (inc. fixing Wayland). I won't be updating the message below going forward. So I got this working on both Ubuntu, and Arch. First, start with a fresh install (of archlinux from https://gitlab.archlinux.org/archlinux/archlinux-wsl or Ubuntu from wsl --install Ubuntu or https://apps.microsoft.com/detail/9pdxgncfsczv). For Arch: Clone https://aur.archlinux.org/packages/directx-headers-git and https://aur.archlinux.org/packages/mesa-wsl2-git. Build directx-headers-git using makepkg -rsi. You may need to set up as per https://wiki.archlinux.org/title/Makepkg. cd into mesa-wsl2-git. Edit PKGBUILD to remove all instances of =18.1.8. Build mesa-wsl2-git using makepkg -rsi. Run echo "export GALLIUM_DRIVER=d3d12" | sudo tee /etc/profile.d/wslg.sh. Run echo "L+ /tmp/.X11-unix - - - - /mnt/wslg/.X11-unix" | sudo tee /etc/tmpfiles.d/wslg.conf. (Thanks to Init /tmp/.X11-unix is overwritten by mounts #43 (comment) for this.) Restart WSL with wsl --shutdown from CMD/PowerShell and you should see the following (given you install the relevant packages): $ glxinfo | grep Device Device: D3D12 (NVIDIA GeForce RTX 4080 SUPER) (0xffffffff) $ vulkaninfo | grep "GPU id" WARNING: dzn is not a conformant Vulkan implementation, testing use only. GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id : 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)): GPU id : 1 (llvmpipe (LLVM 19.1.7, 256 bits)): For Ubuntu: OpenGL should already be working. We'll add Vulkan support. Go to https://ppa.launchpadcontent.net/kisak/kisak-mesa/ubuntu/pool/main/m/mesa/. Look for mesa-vulkan-drivers_*.deb. You'll see ...<LETTER>_<ARCH>.deb. The letter corresponds to your Ubuntu version codename. In your case, "n" for Noble. Copy the link for the right package, https://ppa.launchpadcontent.net/kisak/kisak-mesa/ubuntu/pool/main/m/mesa/mesa-vulkan-drivers_25.0.1~kisak1~n_amd64.deb in your case. Run wget https://ppa.launchpadcontent.net/kisak/kisak-mesa/ubuntu/pool/main/m/mesa/mesa-vulkan-drivers_25.0.1~kisak1~n_amd64.deb anywhere you have write access to on the Ubuntu WSL instance. Run sudo apt install <PACKAGE> (in your case, sudo apt install mesa-vulkan-drivers_25.0.1~kisak1~n_amd64.deb. You should see the following (given you install mesa-utils and vulkan-tools): $ glxinfo | grep Device WARNING: dzn is not a conformant Vulkan implementation, testing use only. WARNING: Some incorrect rendering might occur because the selected Vulkan device (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) doesn't support base Zink requirements: feats.features.logicOp have_EXT_custom_border_color have_EXT_line_rasterization Device: D3D12 (NVIDIA GeForce RTX 4080 SUPER) (0xffffffff) $ vulkaninfo | grep "GPU id" WARNING: dzn is not a conformant Vulkan implementation, testing use only. GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)) GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits)) GPU id : 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)): GPU id : 1 (llvmpipe (LLVM 19.1.7, 256 bits)): The reason we're using just the Vulkan driver from Kisak's repo. is that the mesa package causes llvmpipe to be used instead of D3D12. Maybe overring GALLIUM_DRIVER would work - I didn't try. Update: Documented at https://gist.github.com/lzlrd/0d9b757d2122f551794fd00c7f0752d6, as well.详细解释一下并说明能否解决上个问题
最新发布
10-10
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值