The OpenGL/Vulkan implementation is not open-sourced yet, but it looks like the core driver code is.
I remember reading that Nvidia shares most of its driver code between OSes (e.g. FreeBSD and Linux drivers are extremely similar). So if/when the OpenGL/Vulkan part is open-sourced, 3D accelerated Nvidia drivers for Haiku become a real possibility. Should be much easier than porting Linux AMD drivers.
AMD drivers are already somewhat working
Vulkan only and IIRC with slow performance. (still very impressive and useful)
It’s the same amount of work to bring Nvidia drivers over, the same process
It’s already a step on the right direction. Let’s hope that it’s only the first of a long list.
In my opinion, it’s more the “Anyway we can’t maintain that code. Let’s open it, they will fix it for free and we will make the buzz.” kind of move.
It will certainly help a bit but Haiku is not a linux distro; unless they are well documented, don’t expect much from that. Perhaps, it will be easier to get help from them to have basics working.
A deeper analysis of what actually happened (thread):
From OS developer perspective moving some GPU management code to GPU itself and internal RISC-V core is a good thing. It will simplify porting driver and improve stability and security because GPU management code run on dedicated CPU chat have no access to OS kernel code.
About proprietary blob: don’t forget that core and most complex GPU intellectual property – hardware silicon chip design is closed source and heavily protected. Having additional chip with its own blob will not make things worse then already is. If considering open source, whole GPU should be open source, hardware and software.
UPDATE: issue about non-Linux OS support including Haiku.
From the issue:
Traditional NVIDIA drivers use the same binary blob (
nv-kernel.o) on FreeBSD and Solaris and only have a minor OS-specific adapter layer that is available in source form when you download the drivers.
If this is really true, then wouldn’t porting the binary drivers by replacing the OS adapter layer be possible already, and with much less work than AMD drivers? Or is there something preventing it for Haiku?
As X512 says from a practical perspective moving more of the code into firmware is a good thing, as that is OS-agnostic. Even if it seems less “free”.
I also think focusing on Linux for now is reasonable, as they responded in the GitHub issue. At least they are open to supporting other OSes, as opposed to almost being actively hostile which was kind of the previous situation.
I think that even if the main team is concentrated on linux, there should be problems in accepting patches that make the use of the drivers work also on haiku, as long as, obviously, these do not interfere with the code intended for linux
nvidia is a no-go for me anyway, 10 years with issues in Linux, let alone Haiku where the VESA BIOS didn’t know about my FullHD panel… I just spent more than a year trying to find a usable ThinkPad sans nvidia inside.
I think the world is changing rapidly, everything was business, the rules of the game have now changed.
I understand all the frustrations but I think that looking to the future we should think according to these new dynamics
This negative attitude is called
In what way is it less free?
It’s more “free” than a fully closed source driver. It’s less “free” than a fully open source driver with no firmware blob. Because if all was done in software on the main CPU, you could change everything in the code in an easier way.
It seems that Nvidia kernel driver sources compile fine on Haiku after adding claim that Haiku is UNIX and similar minor fixes. It need Haiku kernel integration layer and app_server accelerant add-on to be functional.
Cool …, may be, free modules make 3d fast work
then nvidia driver and amdgpu driver will be soon on our nighthies? it will be the greatest thing!