Files
fennec/planning/PLATFORM_SUPPORT.md
Medusa Slockbower ff27caab4f - Fixed some variable naming with graph and it's PrettyPrinter
- Added boost-atomic and boost-thread as dependencies for concurrency support
2025-08-21 06:44:22 -04:00

1.6 KiB
Raw Blame History

Platform Support Library (platform)

Table of Contents

Introduction

The platform support library will include headers, functions, and classes related to supporting various platforms. Platforms may be defined as any Hardware, OS, or Drivers that must be initialized for the engine context.

Implementation

Platform Support will be implemented in the following order:

  • Linux/BSD
    • Wayland
      • OpenGL (EGL)
      • XKB
      • PulseAudio
      • Vulkan
    • X11
      • ALSA
      • Vulkan
  • Microsoft Windows
    • XInput
    • OpenGL (WGL)
    • WASAPI
    • Vulkan
  • Android
    • OpenGL ES
    • AAudio
    • openslES
  • macOS/iOS
    • cocoa
      • OpenGL
      • Core Audio
      • Vulkan
      • Metal

Linux Wayland will be implemented first. Once setup, the core engine will be implemented and tested on top of Wayland. Once the engine is in a stable state, then support for other platforms will be resumed.

Consoles

Most consoles will never get official platform support due to NDAs which conflict with the principles of this engine. fennec will avoid using proprietary libraries except when strictly necessary, such as support for Windows and MacOS. fennec will interact with any drivers required for the listed operating systems above, even if proprietary.