Up-to-date QNX support (#14806)

Co-authored-by: Roberto Speranza <rsperanza@qnx.com>
Co-authored-by: Darcy Phipps <dphipps@qnx.com>
Co-authored-by: Pierce McKinnon <pimckinnon@qnx.com>
This commit is contained in:
eleir9268
2026-01-30 18:32:43 -05:00
committed by GitHub
parent dc597e0e20
commit f4a541682a
14 changed files with 1178 additions and 86 deletions

44
docs/README-qnx.md Normal file
View File

@@ -0,0 +1,44 @@
QNX
=======
SDL port for QNX, providing both screen and Wayland video backends.
This was originally contributed by Elad Lahav for QNX 7.0.
The port was later improved and adapted for QNX 8.0 by:
- Ethan Leir
- Roberto Speranza
- Darcy Phipps
- Jai Moraes
- Pierce McKinnon
Further changes to enable Wayland with the EGL backend were made by Felix Xing
and Aaron Bassett.
## Building
Building SDL3 for QNX requires Wayland to be built and installed. The commands
to build it are,
```bash
# Note, if you're cross-compiling, you will need to source qnxsdp-env.sh and
# provide the path to a cmake toolchain file with -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN_DIR/qnx.nto.toolchain.cmake
cmake -B build -DCMAKE_BUILD_TYPE=Release -DSDL_X11=0
cmake --build build
cmake --install build
```
## QNX self-hosted
QNX provides a self-hosted environment, available with [the free license](https://www.qnx.com/products/everywhere/).
This is the easiest way to get your hands on SDL.
## QNX build-files
You can find the cross-compiled build tools at https://github.com/qnx-ports/build-files
## Notes - screen
- Currently, only software and OpenGLES2 rendering is supported.
- Unless your application is managed by a window manager capable of closing the application, you will need to quit it yourself.
- Restraining the mouse to a window or warping the mouse cursor will not work.