You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 11:54:50