NjRAA Work-in-progress Driver Foundation
What I'm doing here is a GPU driver for Linux as a prototype for future graphics stack of the @GreenteaOS
To support AMD GCN 1.0+ GPUs. And Intel/Nvidia ones that conform to Resource binding Tier 3 and Resource heap Tier 2.
This project is a part of future Driver Reusability Initiative (to be announced).
AMD Radeon R7 200 Series
Oland GFX6 (gfx601)
Radeon RX 5500 XT
Navi GFX10 (gfx1012)
Later GCN/RDNA GPUs will reuse huge parts of GCN 1.0 code.
Intel(R) HD Graphics 500
Gen. 9 (Skylake)
Intel(R) UHD Graphics 630
Gen. 9.5 (Kaby Lake)
Intel(R) UHD Graphics 750
Gen. 12 (Rocket Lake-S)
Intel(R) Iris(R) Xe Graphics
G7 Gen. 12 (Tiger Lake-U)
Step by step
- Create IOCTL API to control driver from userspace
- Init GPU engine and setup command buffer
- Mode setting
- Draw anything on screen
Only fullscreen applications supported, no desktop GUI! Use only for secondary GPU with extra screen (or use extra inputs and switch dynamically).
make to build
kmodule kernel mode driver.
GNU LESSER GENERAL PUBLIC LICENSE Version 3