以OpenGL开发环境为例
链接库准备
安装WSL运行OpenGL会报错如下几个要点:
- X11未安装
- libEGL和libGLESv2未安装
对于前者,安装如下的包即可:
apt install libx11-dev
另外也可以使用这一篇博文:https://blog.csdn.net/quantum7/article/details/93484972
关于第二点,使用如下的代码段:
cd /usr/lib/x86_64-linux-gnu/
sudo apt install libegl1
ls libEGL* -lh
sudo ln libEGL.so.1 libEGL.so # 这里根据自己的lib中的文件具体调整被链接的文件的名称
sudo apt install libgles2
ln libGLESv2.so.2 libGLESv2.so -s # 同前一条注释
把这些链接库完全解决之后,在WSL中仍然不能运行。因为当前的Win10 的WSL2是不能支持图形界面。
升级WSL到WSLg
在windows升级到21362+之后直接使用
wsl --update
即可。
原文见:
https://devblogs.microsoft.com/commandline/the-initial-preview-of-gui-app-support-is-now-available-for-the-windows-subsystem-for-linux-2/
翻译版见下:
https://blog.csdn.net/weixin_43860494/article/details/116118008
准备:升级Windows
加入Windows预览体验计划
https://insider.windows.com/en-us/
进入其中的Dev Channel即可,会直接跳转设置:
如果第一次打开为空白如下:
- 以管理员身份启动 PowerShell,可以直接在搜索框中搜索,右键选择“以管理员身份运行”
- 执行下面的命令修改注册表项
$path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection"
# Telemetry level: 1 - basic, 3 - full
$value = "3"
New-ItemProperty -Path $path -Name AllowTelemetry -Value $value -Type Dword -Force
New-ItemProperty -Path $path -Name MaxTelemetryAllowed -Value $value -Type Dword -Force
- 重启即可
参考了如下的博客:https://www.jianshu.com/p/d47d10d64da8
我通过这样升级到Windows11
随后即可运行OpenGL环境。