/NjRAA

Graphics stack of the @GreenteaOS

GNU Lesser General Public License v3.0LGPL-3.0

NjRAA Work-in-progress GPU Driver Foundation

[nee-jee-ray] stands for Not just Renamed AMD API

What we are doing here is a GPU driver as a prototype for future graphics stack of the @GreenteaOS

  • Vulkan
  • DirectX / Direct3D
  • OpenGL
  • OpenCL

Uses safe programming language Hexa.

Aim

To support AMD GCN 1.0+ GPUs. And Intel/Nvidia ones that conform to Resource binding Tier 3 and Resource heap Tier 2.

Later GCN/RDNA GPUs will reuse huge parts of GCN 1.0 code.

Investigate three ways of implementing things. You are welcome to participate at any one you feel comfortable:

  • Use NT GPU drivers
    • Note that means using closed-source third-party software
    • Implementing Vulkan ICD and then use it in tandem with DXVK seems like the most approachable way
  • Use Mesa open-source drivers
    • This one requires libDRM compatible API implementation
  • Write own GPU drivers
    • Mostly depends on DMA mapping and command stream (modern GPUs)

Supported GPUs

Depends on the available hardware. You may sponsor this project for broader testable hardware.

Step by step goals

  • Create IOCTL API to control the driver from userspace
  • Init GPU engine and setup command buffer
  • Mode setting
  • Draw anything on screen

Build

Follow build instructions from the Tofita repo.

License

GNU LESSER GENERAL PUBLIC LICENSE Version 3