SDL_VIDEO_DRIVER_X11 not defined in SDL build

Hi I’m very new to SDL and I’m trying to contribute to this project (GitHub - encounter/aurora: A source-level GameCube & Wii compatibility layer) that uses SDL. The project is stuck on a older version of WebGPU Dawn which removed a deprecated swapchain method which allowed the use of a surface created by SDL. The new method accepts a wpgu::Surface object which might be able to be created using the display, window, and surface properties of SDL_SysWMinfo. Currently I am just trying to get this working on X11, so all I need is the x11 display and window.

My code currently:


namespace aurora::webgpu {
wgpu::Surface CreateSurfaceForWindow(const wgpu::Instance& instance, SDL_Window* window){
  std::unique_ptr<wgpu::ChainedStruct> const chainedDescriptor =

  wgpu::SurfaceDescriptor descriptor;
  descriptor.nextInChain = chainedDescriptor.get();
  wgpu::Surface surface = instance.CreateSurface(&descriptor);

  return surface;

std::unique_ptr<wgpu::ChainedStruct> SetupWindowAndGetSurfaceDescriptor(SDL_Window* window){

  SDL_SysWMinfo wmInfo;
  SDL_GetWindowWMInfo(window, &wmInfo);

  switch (wmInfo.subsystem) {
  case SDL_SYSWM_X11:
    std::unique_ptr<wgpu::SurfaceDescriptorFromXlibWindow> desc =
    desc->display =;
    desc->window =;
    return std::move(desc);


Compiler output:

/home/austin/Projects/metaforce/extern/aurora/lib/webgpu/sdl.cpp: In function ‘std::unique_ptr<wgpu::ChainedStruct> aurora::webgpu::SetupWindowAndGetSurfaceDescriptor(SDL_Window*)’:
/home/austin/Projects/metaforce/extern/aurora/lib/webgpu/sdl.cpp:30:33: error: ‘union SDL_SysWMinfo::<unnamed>’ has no member named ‘x11’
   30 |     desc->display =;
      |                                 ^~~
/home/austin/Projects/metaforce/extern/aurora/lib/webgpu/sdl.cpp:31:32: error: ‘union SDL_SysWMinfo::<unnamed>’ has no member named ‘x11’
   31 |     desc->window =;
      |                                ^~~
/home/austin/Projects/metaforce/extern/aurora/lib/webgpu/sdl.cpp:35:5: error: return-statement with no value, in function returning ‘std::unique_ptr<wgpu::ChainedStruct>’ [-fpermissive]
   35 |     return;
      |     ^~~~~~
[678/1303] Building CXX object extern/aurora/CMakeFiles/aurora.dir/lib/dolphin/GXTransform.cpp.o
ninja: build stopped: subcommand failed.

It seems that only the dummy info is available. Not sure why other platforms such as x11 aren’t included in the union?
Note: This project builds SDL as a cmake subdirectory. It seems this build is not defining SDL_VIDEO_DRIVER_X11 or any of the other video drivers for the SDL_SysWMinfo struct.

Here is my fork of the project: GitHub - Austint30/aurora at dawn-upgrade