From e1f9695296bf9710e9b9f85f5755b6a19c7b3d0d Mon Sep 17 00:00:00 2001 From: SternXD Date: Mon, 11 May 2026 11:22:02 -0400 Subject: [PATCH 1/3] docs: fix code block in mesa guide --- docs/development/compiling-mesa-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/compiling-mesa-guide.mdx b/docs/development/compiling-mesa-guide.mdx index c4cf3b6..448a64b 100644 --- a/docs/development/compiling-mesa-guide.mdx +++ b/docs/development/compiling-mesa-guide.mdx @@ -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 ``` --- From 797b1c7c5a0b6906c348bfa64b2d2cb7b816b746 Mon Sep 17 00:00:00 2001 From: SternXD Date: Mon, 11 May 2026 11:28:25 -0400 Subject: [PATCH 2/3] docs: Cleanup --- docs/emulation/index.mdx | 2 - docs/experimental/index.mdx | 4 +- docs/experimental/panda3ds-guide.mdx | 148 ----------------------- docs/experimental/sm64hd-guide.mdx | 2 +- docs/experimental/touchhle-guide.mdx | 171 --------------------------- 5 files changed, 2 insertions(+), 325 deletions(-) delete mode 100644 docs/experimental/panda3ds-guide.mdx delete mode 100644 docs/experimental/touchhle-guide.mdx diff --git a/docs/emulation/index.mdx b/docs/emulation/index.mdx index 1cfc4cd..01417a4 100644 --- a/docs/emulation/index.mdx +++ b/docs/emulation/index.mdx @@ -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 diff --git a/docs/experimental/index.mdx b/docs/experimental/index.mdx index 49ab9bc..8411c68 100644 --- a/docs/experimental/index.mdx +++ b/docs/experimental/index.mdx @@ -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 @@ -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)**. diff --git a/docs/experimental/panda3ds-guide.mdx b/docs/experimental/panda3ds-guide.mdx deleted file mode 100644 index 1f8d48b..0000000 --- a/docs/experimental/panda3ds-guide.mdx +++ /dev/null @@ -1,148 +0,0 @@ ---- -sidebar_position: 4 -title: Panda3DS UWP Setup Guide -description: Complete guide for installing and setting up Panda3DS Nintendo 3DS emulator on Xbox -tags: - - experimental - - 3ds - - panda3ds - - uwp - - xbox -slug: panda3ds-guide ---- - -import AtAGlance from '@site/src/components/AtAGlance'; - -# Panda3DS UWP Setup Guide - -This guide provides instructions for installing and setting up Panda3DS, a Nintendo 3DS emulator, on an Xbox Series S/X console running in Developer Mode. - - - -**Important:** - -:::caution -- Pay close attention to the **Game File Locations** section (Step 2), as incorrect placement is a common cause of errors. -- Decrypted Nintendo 3DS ROMs are generally required for emulation. -::: - -## Prerequisites - -Before you begin, ensure the following conditions are met: - -1. **Xbox Developer Mode Activated:** Your Xbox Series S/X must be successfully set up and running in Developer Mode. -2. **Remote Access Enabled:** Remote Access must be enabled and configured within the Xbox Dev Home application. -3. **External USB Drive (Optional but Recommended):** A USB drive formatted as NTFS with full read/write permissions set for UWP applications is recommended for storing games. -4. **PC:** A Windows PC for downloading files and accessing the Xbox Device Portal. -5. **Nintendo 3DS Game Files:** Your own legally dumped Nintendo 3DS game files (decrypted format usually required, e.g., `.3ds`, `.cia`). - -> **Need help with prerequisites?** See the [_Xbox Developer Mode Setup_](/docs/xbox-setup/xbox-developer-mode-setup) guide for detailed instructions on activating Dev Mode, setting up Remote Access, and preparing a USB drive (if using one). - -## Step 1: Downloading Files - -1. **Open Emulation Revival Store:** Go to [Experimental apps on Emulation Revival Store](https://emulationrevival.github.io/xbox-dev-mode/experimental-apps.html). -2. **Find Panda3DS:** Scroll the list until you locate **Panda3DS**. -3. **Download package:** Click **Download** to get the `.zip` file. -4. **Extract files:** On your PC, extract the downloaded `.zip`. You should see the Panda3DS **`*.msixbundle`** plus any **`Microsoft*.appx`** dependencies bundled with that build. Exact filenames and versions change between releases - install **everything** extracted next to each other via Device Portal in the usual order (**main `.msixbundle` first**, then **each `.appx` dependency** until the wizard stops asking). - -## Step 2: Prepare Game File Locations - -Panda3DS UWP looks for games in specific locations. Choose **ONE** method below. **Do NOT place games inside additional subfolders within these locations.** - -**Valid Locations:** - -* **Option A: Root of External USB Drive (`E:\`)** - * Connect your prepared USB drive to your PC. - * Copy your game files (e.g., `MyGame.3ds`) directly to the root directory (e.g., `E:\MyGame.3ds`). -* **Option B: `Panda3DS` Folder on External USB Drive (`E:\Panda3DS`)** - * Connect your prepared USB drive to your PC. - * Create a folder named exactly `Panda3DS` in the root directory (e.g., `E:\Panda3DS`). - * Copy your game files *inside* this folder (e.g., `E:\Panda3DS\MyGame.3ds`). -* **Option C: Root of Internal Storage (`LocalState`)** - * Access the Xbox Device Portal on your PC. - * Navigate to `File explorer > LocalAppData > [Panda3DS Package Name] > LocalState`. - * Upload your game files directly into the `LocalState` folder using the "Choose file" and "Upload" buttons. -* **Option D: `Panda3DS` Folder on Internal Storage (`LocalState\Panda3DS`)** - * Access the Xbox Device Portal on your PC. - * Navigate to `File explorer > LocalAppData > [Panda3DS Package Name] > LocalState`. - * Click "Create new folder" and name it exactly `Panda3DS`. - * Navigate into the newly created `Panda3DS` folder. - * Upload your game files into this `LocalState\Panda3DS` folder. - -:::warning -Placing games in deeper subfolders (e.g., `E:\Panda3DS\My 3DS Roms\game.3ds` or `LocalState\Games\game.3ds`) **will likely cause errors** like the "filesystem error" mentioned in the troubleshooting section. Keep your game files directly within one of the four valid locations listed above. -::: - -## Step 3: Install via Device Portal - -1. **Access Dev Portal:** On your PC, open a web browser and connect to your Xbox Device Portal. -2. **Bypass Security Warning:** If necessary, bypass the browser's security warning. -3. **Navigate to "Add":** Under "My games & apps", click "Add". -4. **Upload MSIXBUNDLE:** Select the `Panda3DS...msixbundle` file from the extracted folder on your PC. -5. **Upload Dependencies:** Click "Next". Add **every** included `.appx` dependency (**one Choose file - Open per package**) until Device Portal proceeds to installation. -6. **Start Installation:** Click "Start" and wait for completion ("Package successfully registered"). Click "Done". - -## Step 4: Configure on Xbox - -1. **Locate Panda3DS in Dev Home:** On your Xbox, go to Dev Home. Find `Panda3DS`. -2. **Change Type to "Game":** Highlight the app > Press "View" button > "View details" > Change "App type" to "Game" > Press B. -3. **(Recommended) Restart Console.** - -## Step 5: Initial Launch and Settings - -1. **Connect USB Drive (If Using):** If you placed games on the USB drive (Option A or B in Step 2), ensure it's plugged into your Xbox. -2. **Launch Panda3DS:** Launch the app from the Xbox dashboard ("My games & apps" > "Games"). -3. **Auto-Update:** If prompted, select **"Yes"** to update. Quit and relaunch the app manually after the update completes. -4. **Game List:** The emulator will scan the valid locations. Your games should appear in the list if placed correctly in Step 2. -5. **Configure Settings (CRUCIAL):** - * Select **"Settings"** at the bottom of the game list. - * Go to **"Audio"**. - * Check **"Enable Audio"**. - * (Recommended) Change **"DSP Emulation"** to **"LLE"**. - * Go back > **"Xbox Specific"**. - * Check **"Stretch Window (ignores resolution)"** for fullscreen. - * Select **"Back"**. - -## Step 6: Launching and Exiting Games - -1. **Launch Game:** Highlight a game from the list and press A. -2. **Exit Game:** Press **Start + Select** (Menu + View buttons) simultaneously > Select **"Quit to Main Menu"**. - -## Troubleshooting - -**Error: "Critical Error - Exception: filesystem error: directory iterator cannot open directory: No such file or directory [E:/] Application will now freeze."** - -* **Cause:** This error typically means Panda3DS cannot find *any* games in the expected locations on the external drive (`E:\` or `E:\Panda3DS`), or there's an issue accessing the drive itself. -* **Solutions:** - 1. **Verify Game Location:** Double-check that your game files are placed *directly* in one of the four valid locations described in **Step 2**. Ensure they are **not** inside extra subfolders. - 2. **USB Connected?:** Make sure your external USB drive was connected to the Xbox *before* launching Panda3DS. - 3. **USB Formatting/Permissions:** Confirm your USB drive is formatted as NTFS and has the correct permissions set ("ALL APPLICATION PACKAGES" > Full Control). Refer to the [_Xbox Developer Mode Setup_](/docs/xbox-setup/xbox-developer-mode-setup) guide if needed. - 4. **Try `LocalState`:** As a test, try placing one game file in the root of the app's `LocalState` folder (Option C in Step 2) using the Device Portal and see if the error persists. This helps determine if the issue is USB-specific. - -**Other Issues:** - -* **No Games Listed:** Similar causes to the filesystem error above. Verify game locations and USB permissions/connection. -* **No Audio:** Ensure you enabled audio in the Panda3DS settings (Step 5). -* **Small Screen:** Ensure "Stretch Window" is enabled in the Panda3DS settings (Step 5). diff --git a/docs/experimental/sm64hd-guide.mdx b/docs/experimental/sm64hd-guide.mdx index 36d87d3..5d26b91 100644 --- a/docs/experimental/sm64hd-guide.mdx +++ b/docs/experimental/sm64hd-guide.mdx @@ -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 diff --git a/docs/experimental/touchhle-guide.mdx b/docs/experimental/touchhle-guide.mdx deleted file mode 100644 index c0294bf..0000000 --- a/docs/experimental/touchhle-guide.mdx +++ /dev/null @@ -1,171 +0,0 @@ ---- -sidebar_position: 6 -title: TouchHLE UWP Setup Guide -description: Complete guide for installing and setting up TouchHLE iOS emulator on Xbox -tags: - - emulation - - ios - - touchhle - - uwp - - xbox -updated: 12/11/2025 -slug: touchhle-guide ---- - -import AtAGlance from '@site/src/components/AtAGlance'; - -# TouchHLE UWP Setup Guide - -This guide provides instructions for installing and setting up TouchHLE, an emulator for early iOS applications (iOS 3 and under), on an Xbox Series S/X console running in Developer Mode. - - - -**Important:** - -:::caution -- This is a work-in-progress emulator. Compatibility is limited, and many games may not work correctly or at all. -- **An External USB Drive is REQUIRED** for this emulator. It is used to store necessary system files and the game itself. -- This guide is based on the setup process demonstrated in the referenced video. -::: - -## Prerequisites - -Before you begin, ensure the following conditions are met: - -1. **Xbox Developer Mode Activated:** Your Xbox Series S/X must be successfully set up and running in Developer Mode. -2. **Remote Access Enabled:** Remote Access must be enabled and configured within the Xbox Dev Home application. -3. **External USB Drive:** A USB drive formatted as NTFS with full read/write permissions set for UWP applications. -4. **PC:** A Windows PC for downloading files and accessing the Xbox Device Portal. -5. **iOS Game Files:** Your own legally dumped and **decrypted** iOS game files (`.ipa` format) compatible with iOS 3 or under. - -> **Need help with prerequisites?** See the [_Xbox Developer Mode Setup_](/docs/xbox-setup/xbox-developer-mode-setup) guide for detailed instructions on activating Dev Mode, setting up Remote Access, and preparing a USB drive. - -## Step 1: Downloading Files - -You will need to download two separate packages: the UWP application for the Xbox and the standard PC version to extract necessary files. - -### 1.1. Download the TouchHLE UWP App - -1. **Open Emulation Revival Store:** Go to [Emulators on Emulation Revival Store](https://emulationrevival.github.io/xbox-dev-mode/emulators.html). -2. **Find TouchHLE:** Scroll the list until you locate **TouchHLE (ALPHA)**. -3. **Download package:** Click **Download** to get the `.zip` containing the UWP build and dependencies. -4. **Extract files:** On your PC, extract the downloaded `.zip`. Inside, you should find the main `.msixbundle` or `.appx` and dependency `.appx` files. - -### 1.2. Download the TouchHLE PC Version (for required assets) - -1. **Download PC Version for Required Files:** Go to the official TouchHLE GitHub releases page: [**https://github.com/touchHLE/touchHLE/releases**](https://github.com/touchHLE/touchHLE/releases). -2. **Download the Windows `.zip` file** from the latest stable release (e.g., `touchHLE-vX.X.X-windows_x86_64.zip`). -3. **Extract PC Files:** Extract this second `.zip` file to a separate, known location on your PC. We will need files from this folder later. - -## Step 2: Install via Device Portal - -1. **Access Dev Portal:** On your PC, open a web browser and connect to your Xbox Device Portal. -2. **Bypass Security Warning:** If necessary, bypass the browser's security warning. -3. **Navigate to "Add":** Under "My games & apps", click "Add". -4. **Upload Main Package:** Click "Choose File" (or drag and drop) and select the TouchHLE `.msixbundle` or `.appx` file from the **UWP download** (Step 1.1). -5. **Upload Dependencies:** Click "Next". Add **all** the dependency files from the UWP download one by one. -6. **Start Installation:** Click "Start" and wait for completion ("Package successfully registered"). Click "Done". - -## Step 3: Configure on Xbox - -1. **Locate TouchHLE in Dev Home:** On your Xbox, go to Dev Home. Find `TouchHLE`. -2. **Change Type to "Game":** Highlight the app > Press "View" button > "View details" > Change "App type" to "Game" > Press B. -3. **(Recommended) Restart Console:** Select "Restart console" from the Dev Home main menu. - -## Step 4: Prepare External USB Drive (CRITICAL) - -This step requires placing specific folders and files from the **PC version of TouchHLE** onto your USB drive. - -1. **Connect USB Drive:** Plug your prepared external USB drive into your PC. -2. **Create `iOS` Folder:** At the *root* of your USB drive (e.g., `E:\`), create a new folder named exactly `iOS`. -3. **Copy Folders to Root:** - * Navigate to the folder where you extracted the **PC version** of TouchHLE (from Step 1.2). - * Find the `touchHLE_dylibs` and `touchHLE_fonts` folders. - * Copy *both* of these folders to the **root** of your USB drive (e.g., to `E:\`). -4. **Copy Config Files:** - * Still in the PC version folder, find the `touchHLE_default_options.txt` file. - * Copy this file to the **root** of your USB drive (e.g., to `E:\`). - * Now, find the `touchHLE_options.txt` file. - * Copy this file *into* the `iOS` folder you created on your USB drive (e.g., to `E:\iOS`). - -Your USB drive should now have this structure at its root: -* `E:\touchHLE_dylibs` (folder) -* `E:\touchHLE_fonts` (folder) -* `E:\iOS` (folder, containing `touchHLE_options.txt`) -* `E:\touchHLE_default_options.txt` (file) - -## Step 5: Adding and Launching a Game - -The UWP port currently loads games in a specific way. - -1. **Obtain Game:** Get your decrypted iOS game file (`.ipa`). For testing, you can legally download compatible freeware games like "Touch & Go" directly from the **iOS App Archive**: [**https://touchhle.org/app-archive/**](https://touchhle.org/app-archive/). -2. **Rename Game File:** You **must** rename your game file to exactly `app.ipa`. -3. **Place Game on USB:** Copy the renamed `app.ipa` file to the **root** of your USB drive (e.g., `E:\app.ipa`). -4. **Connect and Launch:** - * Safely eject the USB drive from your PC and connect it to your Xbox. - * Launch TouchHLE from the Xbox dashboard. -5. **Update Prompt:** - * You may see a "TouchHLE Update Available" prompt. **It is highly recommended to select "NO" for now.** -6. **Play:** The game should now launch. - -## Step 6: Controls - -The controller emulates touch input: - -* **Right Stick:** Moves the touch cursor. -* **Right Stick Click (R3) or Right Bumper (RB):** Simulates a screen tap. -* **Left Stick:** Simulates device tilt/gyro controls. - -## Step 7: Advanced Configuration (e.g., Fullscreen) - -You can set per-game options, like forcing fullscreen, by editing `touchHLE_options.txt`. - -1. **Launch Game Once:** Launch the game you want to configure at least once. This generates a log file. -2. **Find Game Identifier:** - * Connect the USB drive back to your PC. - * Navigate into the `E:\iOS` folder. - * Open the newly created `touchHLE_log.txt` file. - * Look for a line that starts with `Identifier:`. Copy the full identifier string (e.g., `com.thegamecreators.TouchAndGo`). -3. **Edit Options File:** - * Open the `touchHLE_options.txt` file located in `E:\iOS`. - * On a new line, paste the identifier you copied. - * Immediately after the identifier, add a colon (`:`). - * After the colon, add the command-line option you want to use. For fullscreen, use `--fullscreen`. - * The final line should look like this: `com.thegamecreators.TouchAndGo:--fullscreen` -4. **Save and Relaunch:** Save the `touchHLE_options.txt` file, connect the USB back to your Xbox, and launch the game. It should now run with the specified options. - -:::tip -You can find a list of all available options (like `--scale-hack`, controller button mapping, etc.) by looking inside the `OPTIONS_HELP.txt` file included with the **PC version** of TouchHLE. -::: - -## Troubleshooting - -* **Game is a tiny window:** The game is not running in fullscreen. Follow **Step 7** to add the `--fullscreen` option for your game's identifier in `touchHLE_options.txt`. -* **Game won't launch:** - * Ensure your `.ipa` file is renamed to exactly `app.ipa` and is located at the **root** of your USB drive. - * Verify the game is decrypted and compatible with iOS 3 or under. - * Check that the `touchHLE_dylibs`, `touchHLE_fonts`, and other required files are correctly placed on the USB drive as described in **Step 4**. -* **Game layout is broken (e.g., horizontal instead of vertical):** This may happen if you accept the in-app update. For now, it is best to **decline the update** when prompted. If you've already updated, you may need to reinstall the original version from the Emulation Revival Store. From 44cf7025daf3fd135978518e8f8eda75a3a7ea42 Mon Sep 17 00:00:00 2001 From: SternXD Date: Mon, 11 May 2026 11:43:30 -0400 Subject: [PATCH 3/3] docs: Add compiling SDL3 guide --- docs/development/compiling-sdl3-guide.mdx | 105 ++++++++++++++++++++++ docs/development/index.mdx | 1 + 2 files changed, 106 insertions(+) create mode 100644 docs/development/compiling-sdl3-guide.mdx diff --git a/docs/development/compiling-sdl3-guide.mdx b/docs/development/compiling-sdl3-guide.mdx new file mode 100644 index 0000000..3ff23c9 --- /dev/null +++ b/docs/development/compiling-sdl3-guide.mdx @@ -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). diff --git a/docs/development/index.mdx b/docs/development/index.mdx index 4de918b..6e0df8f 100644 --- a/docs/development/index.mdx +++ b/docs/development/index.mdx @@ -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