Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/development/compiling-mesa-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ To allow the system to find `meson`, `flex`, and `bison` from any command line,
3. Clone the repository using the following command:

```powershell
git clone -b uwp-25.3.3 https://github.com/SternXD/mesa-uwp.git
git clone -b uwp-25.3.3 https://github.com/SternXD/mesa-uwp.git
```
---

Expand Down
105 changes: 105 additions & 0 deletions docs/development/compiling-sdl3-guide.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
sidebar_position: 6
title: How to Compile SDL3 for UWP
description: Build SDL3 from the SDL3-uwp fork for Universal Windows Platform and Xbox Developer Mode development
slug: compiling-sdl3-guide
---

# How to Compile SDL3 for UWP

Sources: [SternXD/SDL3-uwp](https://github.com/SternXD/SDL3-uwp), branch **`uwp-3.4.8`** (SDL 3.4.8). You can build the WinRT/UWP DLL either from **`VisualC-WinRT/SDL-UWP.sln`** or with **CMake + Ninja** using the same flags as the SDL-UWP 3.4.8 release notes.

:::note
Grab a prebuilt release from my fork's [Releases](https://github.com/SternXD/SDL3-uwp/releases) if you don't need a local build.
:::

---

## Prerequisites

- Windows machine with room for a full C++ tree and object files.
- **Visual Studio 2026** with UWP bits installed see [Visual Studio 2026 setup](/docs/helpful-links/visual-studio-2026-setup) (**WinUI application development**, **Desktop development with C++** is a good idea, **C++ Universal Windows Platform tools**). The `.sln` may still want **C++ (v143) UWP tools** add those if VS asks to retarget or complains about the toolset.
- **Git**: [git-scm.com/downloads](https://git-scm.com/downloads)
- **CMake + Ninja** (command-line build only): [CMake](https://cmake.org/download/), [Ninja](https://github.com/ninja-build/ninja/releases), or e.g. `winget install Kitware.CMake` and `winget install Ninja-build.Ninja`. Both need to be on `PATH`.

---

## Clone

```powershell
git clone -b uwp-3.4.8 https://github.com/SternXD/SDL3-uwp.git
cd SDL3-uwp
```

---

## Visual Studio

1. Open **`VisualC-WinRT/SDL-UWP.sln`** in VS 2026.
2. Configuration **Release** (use **Debug** only if you need symbols).
3. Platform **x64**. Other UWP targets in the solution may be incomplete stick to x64 unless you know you need something else.
4. Build the SDL UWP project from Solution Explorer.

Outputs go under **`VisualC-WinRT`** in the usual `x64\Release`-style folders (exact path depends on how the project is retargeted). Point your app at this repo's **`include`** (and **`include/build_config`** where needed), link the produced **`.lib`**, and ship the **`.dll`** inside your app package like any other UWP dependency. To put outputs somewhere else, change **Output Directory** on the SDL project's **General** properties.

There's a **`VisualC-WinRT/testdraw`** sample if you want a quick sanity check after linking.

---

## CMake + Ninja

Same thing as the [SDL-UWP 3.4.8](https://github.com/SternXD/SDL3-uwp/releases) release text.

1. Start from a **Developer Command Prompt for VS 2026** or **x64 Native Tools** prompt so `cl` and the SDK are set up, then `cd` into the clone.

2. Set where you want the install to go. **cmd:**

```cmd
set INSTALLDIR=C:\sdl3-uwp-install
```

**PowerShell:** put the path straight into CMake, e.g. `-DCMAKE_INSTALL_PREFIX="C:\sdl3-uwp-install"`, or set `$env:INSTALLDIR` and use `-DCMAKE_INSTALL_PREFIX="$env:INSTALLDIR"` in the configure command (don't rely on `%INSTALLDIR%` that's cmd).

3. Configure ( **`^`** is cmd line continuation):

```cmd
cmake -B build-uwp ^
-DCMAKE_SYSTEM_NAME=WindowsStore ^
-DCMAKE_SYSTEM_VERSION=10.0 ^
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" ^
-DBUILD_SHARED_LIBS=ON ^
-DSDL_SHARED=ON ^
-DSDL_STATIC=OFF ^
-DSDL_TESTS=OFF ^
-DSDL_EXAMPLES=OFF ^
-G Ninja
```

4. Build:

```cmd
cmake --build build-uwp --config Release --parallel
```

5. Install:

```cmd
cmake --install build-uwp --config Release
```

You'll get a normal prefix layout under **`INSTALLDIR`**: `include`, `lib`, `bin`, etc.

---

## Adding it to your app

**VS build:** includes from this repo, libs/DLL from the `VisualC-WinRT` output folder you built.

**CMake install:** includes and libs from **`CMAKE_INSTALL_PREFIX`** after step 5.

---


API docs: [wiki.libsdl.org/SDL3](https://wiki.libsdl.org/SDL3).
1 change: 1 addition & 0 deletions docs/development/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ This section contains guides for compiling and developing emulators and applicat
- **[Compiling Dolphin](/docs/development/compiling-dolphin-guide)** - Build the GameCube/Wii emulator from source
- **[Compiling Xenia](/docs/development/compiling-xenia-guide)** - Build the Xbox 360 emulator from source
- **[Compiling Mesa](/docs/development/compiling-mesa-guide)** - Build graphics drivers for better compatibility
- **[Compiling SDL3](/docs/development/compiling-sdl3-guide)** - Build SDL3 for UWP from the SDL3-uwp fork

## Development tools

Expand Down
2 changes: 0 additions & 2 deletions docs/emulation/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ Welcome to the comprehensive emulation guides for Xbox Developer Mode! This sect
These builds are unfinished or unstable. Full walkthroughs are under **Experimental UWP (community)** in the sidebar.

- **[ChonkyStation3 (PS3)](/docs/experimental/chonkystation3-guide)** - proof-of-concept PS3 UWP emulator
- **[Panda3DS (3DS)](/docs/experimental/panda3ds-guide)** - 3DS UWP emulator (early)
- **[TouchHLE](/docs/experimental/touchhle-guide)** - early iOS app compatibility layer / emulator

## Arcade & specialty setups

Expand Down
4 changes: 1 addition & 3 deletions docs/experimental/index.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Experimental Ports
description: Unfinished or unstable UWP builds (PS3 / 3DS emulators and other experimental packaged apps on Xbox Developer Mode).
description: Unfinished or unstable UWP builds and other experimental packaged apps on Xbox Developer Mode.
sidebar_position: 1
tags:
- experimental
Expand All @@ -16,9 +16,7 @@ Guides here cover **early, proof-of-concept, or inconsistently maintained** pack
## In this section

- **[ChonkyStation 3](/docs/experimental/chonkystation3-guide)** - PS3 UWP POC
- **[Panda3DS](/docs/experimental/panda3ds-guide)** - 3DS UWP (early)
- **[Hedgephysics](/docs/experimental/hedgephysics-guide)** - experimental build notes
- **[SM64 HD](/docs/experimental/sm64hd-guide)** - experimental build notes
- **[TouchHLE](/docs/experimental/touchhle-guide)** - early iOS app compatibility on Xbox / UWP

If something here stops working after a wiki or packaging update, check the **[FAQ](/docs/faq)** or open an **[issue](https://github.com/SternXD/devmodewiki/issues)**.
148 changes: 0 additions & 148 deletions docs/experimental/panda3ds-guide.mdx

This file was deleted.

2 changes: 1 addition & 1 deletion docs/experimental/sm64hd-guide.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "SM64HD Fan Remake (Super Mario 64) Guide"
sidebar_position: 5
sidebar_position: 4
description: "A guide for setting up SM64HD Fan Remake (Super Mario 64) on dev mode."
tags:
- guides
Expand Down
Loading