# Can FreeBSD have Nouveau driver port?



## mhakan (Dec 2, 2021)

Can it be possible? Or impossible? Can FreeBSD Developers do this? (Porting Nouveau to FreeBSD.) Thank you. -Sorry for bad English.-


----------



## SirDice (Dec 2, 2021)

mhakan said:


> Can it be possible?


Given enough time and resources anything is possible.


mhakan said:


> Can FreeBSD Developers do this?


Ports typically aren't made by FreeBSD developers. They are mostly made and maintained by the community, not the developers. FreeBSD developers focus on FreeBSD itself. Third party software isn't part of that.

And I suggest you do a search on this forum. This question comes up regularly.


----------



## mhakan (Dec 2, 2021)

SirDice said:


> Given enough time and resources anything is possible.
> 
> Ports typically aren't made by FreeBSD developers. They are mostly made and maintained by the community, not the developers. FreeBSD developers focus on FreeBSD itself. Third party software isn't part of that.
> 
> And I suggest you do a search on this forum. This question comes up regularly.



But is there a community study on this? If so, what about? Thanks.


----------



## SirDice (Dec 2, 2021)

mhakan said:


> But is there a community study on this?


I'm not aware of anyone who's currently working on this. But I don't keep track of it, I'm not interested in nouveau because the x11/nvidia-driver works for me. 



mhakan said:


> If so, what about?


Let me guess, you're just trying to find out if anyone is interested and then you're going to ask someone else to do the actual work?


----------



## mhakan (Dec 2, 2021)

SirDice said:


> Let me guess, you're just trying to find out if anyone is interested and then you're going to ask someone else to do the actual work?



No.


----------



## Beastie7 (Dec 2, 2021)

They can probably port it over using the LinuxKPI. I'd hit up the mailing lists for that kind of stuff though. Nouveau is actually interesting work. I hope it succeeds.


----------



## SirDice (Dec 2, 2021)

mhakan said:


> No.


So you're going to try and port it? Awesome. Start by reading the Porter's handbook, that will provide you with the necessary knowledge on how a port is made. If you have any specific questions please don't hesitate to ask.


----------



## mhakan (Dec 2, 2021)

SirDice said:


> So you're going to try and port it? Awesome. Start by reading the Porter's handbook, that will provide you with the necessary knowledge on how a port is made. If you have any specific questions please don't hesitate to ask.


Which programming languages should I know? (I'm guessing C). Thanks.


----------



## Beastie7 (Dec 2, 2021)

I'm quite surprised the Nouveau team got their stuff working on a GTX 3080 or something. Ridiculous.


----------



## kpedersen (Dec 2, 2021)

@mhaken, FreeBSD did used to have a very early version of Nouveau in an older release. However it was hard to maintain (currently it changes too much due to its roots in Linux mad-land) and it was deemed "not worth it" by the developers whilst the NVIDIA blob currently works adequately.

However, give it time. It is almost guaranteed to be the future and in ~10 years we will be running Nouveau after NVIDIA has let everyone down.

(Edit: though, if possible, do try to buy an AMD GPU instead. We should not be encouraging NVIDIA's current direction by purchasing their products)


----------



## Alain De Vos (Dec 2, 2021)

Can i quote Linus Torvalds.


----------



## mhakan (Dec 3, 2021)

Alain De Vos said:


> Can i quote Linus Torvalds.



Yes u can.


----------



## ayleid96 (Dec 3, 2021)

NetBSD has nouveau working, maybe its better to port it from NetBSD than vanilla Linux.


----------



## sko (Dec 3, 2021)

Would this even be worth the effort? Back when I was using debian (pre-systemd era) on a desktop, the nouveau-drivers were mostly useless and bug-ridden. The nvidia drivers simply were (and still are?) the best and only choice if you actually want to use the GPU for any heavy lifting (e.g. gaming).
One might argue that nouveau are "free" drivers - but at least from a BSD perspective they are still pretty much restricted by the GPL license, so there's not that much of a benefit over the proprietary drivers...


----------



## kpedersen (Dec 3, 2021)

sko said:


> Would this even be worth the effort? Back when I was using debian (pre-systemd era) on a desktop, the nouveau-drivers were mostly useless and bug-ridden. The nvidia drivers simply were (and still are?) the best and only choice if you actually want to use the GPU for any heavy lifting (e.g. gaming).


I don't know when the last time you tried it was but to be fair, these days pretty much any game which has a native port for FreeBSD works very well with Nouveau. As for just getting a native resolution on the screen, then Nouveau is also pretty great because many people probably have a whole stack of fairly ancient NVIDIA GPUs that we might as well put to use.



sko said:


> but at least from a BSD perspective they are still pretty much restricted by the GPL license, so there's not that much of a benefit over the proprietary drivers...


I think most drivers we import from Linux (intel, amdgpu) are GPL aren't they?

Either way, FreeBSD is in a fairly good position. If NVIDIA does indeed pull the plug, I doubt it will be long before Nouveau is pulled in and able to pick up the slack. Possibly I agree that it is a little too early now to import Nouveau; it will just take up precious developer resources trying to neaten up and continuously integrate improvements from upstream Linux.


----------



## SirDice (Dec 3, 2021)

kpedersen said:


> If NVIDIA does indeed pull the plug


I've used the x11/nvidia-driver driver for the past 20 or so years, I don't see this happening any time soon.


----------



## ayleid96 (Dec 3, 2021)

sko said:


> Would this even be worth the effort? Back when I was using debian (pre-systemd era) on a desktop, the nouveau-drivers were mostly useless and bug-ridden. The nvidia drivers simply were (and still are?) the best and only choice if you actually want to use the GPU for any heavy lifting (e.g. gaming).
> One might argue that nouveau are "free" drivers - but at least from a BSD perspective they are still pretty much restricted by the GPL license, so there's not that much of a benefit over the proprietary drivers...


GPL is restrictive... Yes, against big corporations. You can always sell GPL software, but its so important to someone to hide the code. Why? It's stupid.


----------



## Menelkir (Dec 3, 2021)

ayleid96 said:


> GPL is restrictive... Yes, against big corporations. You can always sell GPL software, but its so important to someone to hide the code. Why? It's stupid.


AFAIK, nvidia have several parts from several different companies on their code. Of course they could just redo those parts and make something better, but they didn't care either.


----------



## Alain De Vos (Dec 3, 2021)

You must also check the business case. If one in hundred persons uses linux/bsd.
And if only one in hundred linux/bsd users uses bsd ...


----------



## kpedersen (Dec 3, 2021)

SirDice said:


> I've used the x11/nvidia-driver driver for the past 20 or so years, I don't see this happening any time soon.


Yeah, it will be a very slow process. Only after they drop Solaris, will I start to get prepared.

That said, they already dropped 32-bit versions of their drivers. And as you may know, I do love all my old sh*t equipment


----------



## Alain De Vos (Dec 3, 2021)

And that's why i did my homework and have an amd/radeon-card.


----------



## BSD-Kitsune (Dec 4, 2021)

Nvidia driver only works on x64, and that's probably on the decline with Nuvia and ARM finally catching up from the bottom up, and POWER from the top-down. 

I'm going to get a TALOS II sooner or later, so I'll say the lack of Nouveau is a bit of a bummer for people like me, but as the support for TALOS is crap, I can't say I'm surprised. I'm gonna need to run linux with kvm likely for my own personal dev stuff.


----------



## roarde (Dec 4, 2021)

sko said:


> Would this even be worth the effort? Back when I was using debian (pre-systemd era) on a desktop, the nouveau-drivers were mostly useless and bug-ridden. The nvidia drivers simply were (and still are?) the best and only choice if you actually want to use the GPU for any heavy lifting (e.g. gaming).
> One might argue that nouveau are "free" drivers - but at least from a BSD perspective they are still pretty much restricted by the GPL license, so there's not that much of a benefit over the proprietary drivers...


The authors chose to claim restriction rights via an MIT-license rather than with GPL. Check the repo.


----------



## grahamperrin@ (Dec 20, 2021)

BSD-Kitsune said:


> … 2. Nouveau support. …



▼

FreeBSD Foundation-supported projects: call for ideas, November 2021 ▶ *Graphics* (diff) ◀ <https://lists.freebsd.org/archives/freebsd-hackers/2021-November/000412.html>


----------



## Zare (Dec 20, 2021)

kpedersen said:


> Yeah, it will be a very slow process. Only after they drop Solaris, will I start to get prepared.
> 
> That said, they already dropped 32-bit versions of their drivers. And as you may know, I do love all my old sh*t equipment



nvidia-driver has been here for almost 20 years (since 2003).
Solaris is a dead OS, 32-bit x86 is dead too. FreeBSD is going to drop it down the line.

The diminishing corporate support for obsolete Unix(TM) system or 32bit architecture is hardly any indicator for the future of graphics on FreeBSD.

I'm not aware of the performance of amdgpu driver. Last time I dabbled with ATi it was 10 years ago and the situation wasn't good. There was closed source and open source driver and both had issues. Also, what is the status of long term support, as ATi is notorious for obsolesence of adapters in new driver versions - there's currently 10-15 years of backward support in nvidia-driver(s), you can run the model from yesterday or from 2007.


----------



## kpedersen (Dec 20, 2021)

Zare said:


> I'm not aware of the performance of amdgpu driver. Last time I dabbled with ATi it was 10 years ago and the situation wasn't good. There was closed source and open source driver and both had issues. Also, what is the status of long term support, as ATi is notorious for obsolesence of adapters in new driver versions - there's currently 10-15 years of backward support in nvidia-driver(s), you can run the model from yesterday or from 2007.


Things have changed considerably. I also had terrible experiences with ATi of old; especially the fglrx (Catalyst) driver. I spent hours trying to get that cruft working on Fedora Core 4. These days AMDGPU is probably the best (I never tried the "value added" proprietary version because I don't need audio via hdmi). Likewise with Nouveau I was also pleasantly surprised. It did the job on an older Nvidia GT9xxx card.

The issue with the nvidia blob is mainly that it stops working with newer Xorgs after a while. I experienced something similar to this: https://lists.freebsd.org/pipermail/freebsd-questions/2016-March/270988.html


----------



## larshenrikoern (Feb 11, 2022)

Hi

I am a quite new user of FreeBSD. I use it as workstation and as a desktop. And in 2012-2021 I have been using linux with nouveau without issues. It did even work with gaming. And if FreeBSD is porting intel/amd graphics drivers form linux, why not nouveau. But I fully understand the argument about time. But if Nvidia pulls the chord it will hopefully be done.


----------



## huskers (Nov 2, 2022)

SirDice said:


> I've used the x11/nvidia-driver driver for the past 20 or so years, I don't see this happening any time soon.


Sorry to state existing drivers for some of decade plus old nvidia chipsets do not work with new version of Xorg.  Especially chipsets supported by 304 driver.

On linux nouveau still supports and works on these chipsets, may not support games but definitely can still be used for performing other non-gpu intensive activity.

So your statement it has been working for 20 years only applies to chipsets supported by NVIDIA.


----------



## kpedersen (Nov 2, 2022)

huskers said:


> On linux nouveau still supports and works on these chipsets, may not support games but definitely can still be used for performing other non-gpu intensive activity.


I am also keen to get Nouveau for all my old grubby hardware but it is unlikely for now.

A long while back FreeBSD did have an initial support of Nouveau in the kernel (you can still find the userland X11 components in ports here)

Unfortunately it became unmaintained and ultimately removed. However this did demonstrate that for now, whilst NVidia are providing adequate support for their drivers, many users tend to prefer that. Yes, for us users of older cards, this is unfortunately not always a solution.

Personally I am cautiously optimistic that Nvidia will open-source the remaining parts of their driver and we can migrate to that in the next 10-20 years.


----------

