"Как многие уже знают, Nvidia опубликовала свой драйвер ядра под лицензией MIT (github.com/NVIDIA/open-gpu-kernel-modules) (я буду называть его NVRM). Этот драйвер очень портативен, и его платформонезависимая часть может быть скомпилирована для Haiku с небольшими усилиями (но для того, чтобы он был действительно полезен, необходимо реализовать специфичный для ОС код привязки). Это очень ценно для Haiku, поскольку драйверы ядра GPU Linux очень сложно портировать, и они сильно зависят от внутренних компонентов ядра Linux. К сожалению, исходный код драйвера OpenGL/Vulkan пользовательского пространства не опубликован. Но в рамках проекта Mesa 3D разрабатывается новый драйвер Vulkan «NVK», который уже функционирует. Драйвер Mesa NVK использует Nouveau в качестве драйвера ядра, поэтому его нельзя напрямую использовать с драйвером ядра NVRM. Исходный код NVK обеспечивает абстракцию платформы, которая позволяет реализовать поддержку других драйверов ядра, таких как NVRM.
Мне наконец удалось сделать начальный порт драйвера ядра NVRM для Haiku и добавить начальную поддержку API NVRM в драйвер Mesa NVK Vulkan, так что NVRM и NVK могут работать вместе. Некоторые простые тесты Vulkan работают.
Драйвер будет поддерживать только Turing+ GPU, поскольку старые GPU не имеют микроконтроллера GSP, поэтому они несовместимы с драйвером ядра NVRM. Но более новые GPU Nvidia, вплоть до последних, должны поддерживаться. "
- X512
Мне наконец удалось сделать начальный порт драйвера ядра NVRM для Haiku и добавить начальную поддержку API NVRM в драйвер Mesa NVK Vulkan, так что NVRM и NVK могут работать вместе. Некоторые простые тесты Vulkan работают.
Драйвер будет поддерживать только Turing+ GPU, поскольку старые GPU не имеют микроконтроллера GSP, поэтому они несовместимы с драйвером ядра NVRM. Но более новые GPU Nvidia, вплоть до последних, должны поддерживаться. "
- X512