WSL2环境下SDL2创建渲染器失败,触发libEGL警告问题求助
WSL2环境下SDL2创建渲染器失败,触发libEGL警告问题求助
大家好,我现在在WSL2环境里尝试用SDL2创建一个简单窗口,但卡壳在SDL_CreateRenderer()创建渲染器这一步了,折腾了好久都没解决,来求助各位大佬!
正常用户权限运行程序时,调用渲染器创建函数会弹出一串libEGL警告,而且窗口完全没出来:
libEGL warning: failed to open /dev/dri/renderD128: Permission denied libEGL warning: failed to open /dev/dri/renderD128: Permission denied libEGL warning: failed to open /dev/dri/card0: Permission denied有意思的是,我在同一个WSL2环境里运行
gedit和glxgears都完全正常,没有任何报错,这就更让我摸不着头脑了。
如果用sudo运行我的程序,警告内容变了,但还是没法正常创建窗口:
libEGL warning: MESA-LOADER: egl: failed to open vgem: driver not built! libEGL warning: NEEDS EXTENSION: falling back to kms_swrast
这是我写的测试代码,逻辑很简单,就是创建窗口和渲染器:
#include <SDL2/SDL.h> #include <iostream> int main() { SDL_Window* window = nullptr; SDL_Renderer* renderer = nullptr; SDL_Init(SDL_INIT_VIDEO); window = SDL_CreateWindow("atomer", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 500, 500, 0); renderer = SDL_CreateRenderer(window, -1, 0); SDL_RenderPresent(renderer); SDL_Delay(10000); return 0; }
我查了这些错误提示,感觉要么是驱动的问题,要么是WSL2的配置没弄对,但翻了好多资料都没找到能解决我这个情况的方案。有没有大佬遇到过类似的问题,能给我点思路或者解决办法吗?
内容来源于stack exchange
相关产品推荐
相关产品推荐

