Files
SDL/docs/README-platforms.md
Ryan C. Gordon a24429c192 harmonyos: Port SDL3 to HarmonyOS/OpenHarmony.
This is my port of SDL3 to HarmonyOS/OpenHarmony. It has been tested on real
hardware from Huawei, and commercial games are being prepped to ship with it
already.

There is _heavy_ documentation in docs/README-harmonyos.md, including how to
set up a development environment and project, build, and debug, for the
completely uninitiated.

This work was sponsored by Outfit7: https://outfit7.com/

Fixes #9837.
2026-09-15 12:33:00 -04:00

2.5 KiB

Platforms

Supported Platforms

SDL3 has been known to work on the following platforms at some point:

Note that the SDL maintainers do not test on all these platforms; if a less-common system breaks, please let us know and send patches if you can.

If you'd like to port SDL to a new platform, feel free to get in touch! A guide to porting SDL2 was written a while ago, and most of it still applies to SDL3.

Unsupported Platforms

If your favorite system is listed below, we aren't working on it. However, if you send reasonable patches and are willing to support the port in the long term, we are happy to take a look!

All of these still work with SDL2, which is an incompatible API, but an option if you need to support these platforms still.

  • Google Stadia
  • NaCL
  • OS/2
  • WinPhone
  • WinRT/UWP
  • Pandora

General notes for Unix platforms

Some aspects of SDL functionality are common to all Unix-based platforms.

Privileged processes (setuid, setgid, setcap)

SDL is not designed to be used in programs with elevated privileges, such as setuid (chmod u+s) or setgid (chmod g+s) executables, or executables with file-based capabilities (setcap cap_sys_nice+ep or similar). It does not make any attempt to avoid trusting environment variables or other aspects of the inherited execution environment. Programs running with elevated privileges in an attacker-controlled execution environment should not call SDL functions.