使用WSL2的SDL2中的BadRequest

问题描述

在这个最小的示例中,我遇到了BadRequest错误

#include <SDL.h>

int main( int argc,char* args[] )
{
    if(SDL_Init(SDL_INIT_VIDEO) < 0) abort();

    SDL_Window *window = SDL_CreateWindow(
        "An SDL2 window",SDL_WINDOWPOS_UNDEFINED,640,480,SDL_WINDOW_OPENGL
    );
    if(window == NULL) abort();

    SDL_Renderer* renderer = SDL_CreateRenderer(
        window,-1,SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC
    );
    if(renderer == NULL) abort();

    SDL_Delay(3000);

    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
}

以下是错误

$ g++ $(sdl2-config --cflags) foo.cpp $(sdl2-config --libs)
$ ./a.out
X Error of Failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of Failed request:  149 (GLX)
  Minor opcode of Failed request:  16 (X_GLXvendorPrivate)
  Serial number of Failed request:  197
  Current serial number in output stream:  198

该问题似乎出现在SDL_CreateRenderer函数中。创建窗口可以确认我的X服务器也可以正常工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)