March 30, 2009

We can haz Nouveau on FreeBSD!

Categories: FreeBSD, Sysadmin.

Nouveau is a project which aims at producing Open Source 3D drivers for nVidia cards.

As a good resolution for new year 2008, I wanted to have an IPv6 network and switch to 64bit. Unfortunately I have a nVidia video card and two screens, making it impossible to use the free/libre nv video driver. For this reason, I was stuck with the proprietary, bugged and 32bit only nvidia video driver, which was the only non-FLOSS package on my system. This sucked!

Good news! Nouveau is being ported to FreeBSD!

I can now consider switching to the x86-64 (aka amd64), thus use all the RAM I bought 2 years ago (since PAE can't cope with the nVidia BLOB too), use ZFS etc. This is not straightforward yet, but still quite easy:

  1. Uninstall any nvidia driver
    # pkg_delete nvidia-driver-\*
    # vi /boot/loader.conf # Remove the line 'nvidia_load="YES"'
  2. Patch your kernel (Update your system if you are not running 8.0-CURRENT or a recent 7.1-STABLE / 7.2-PRERELEASE):
    # cd /usr/src/sys
    # fetch
    # mkdir modules/drm/nouveau
    # patch > drm-nouveau-032109.patch
    # cd /usr/src && make kernel
    # reboot
  3. Install libdrm from git:
    % git clone git://
    % cd drm
    % ./autogen --enable-nouveau-experimental-api
    % gmake
    % sudo gmake install
  4. Install xf86-video-nouveau from git:
    % git clone git://
    % cd xf86-video-nouveau
    % ./autogen
    % gmake
    % sudo gmake install
  5. Update /usr/local/etc/X11/xorg.conf.


On April 1, 2009, rhaamo wrote:

Yay! great.

it can run with old cards like Quadro4 or it's still at the same point ? :
No drm, run only recents card without this drm :/


On April 2, 2009, rhaamo wrote:

drm0: <NVidia Display Adapter> on vgapci0
info: [drm] Detected an NV17 generation card (0x017c00a4)
vgapci0: child drm0 requested pci_enable_busmaster
info: [drm] AGP at 0xd4000000 64MB
info: [drm] Initialized nouveau 0.0.12 20060213


It's my old laptop with an Quadro4 500GoGL 64Mb, and, seems to works :)

On July 8, 2009, zplane wrote:

Hey Romain. I successfully made it past the git drm and xf86-video-nouveau, but failed on the ./autogen commands. Am I missing something here? Do I need a particular development package to use the ./autogen command? ...yeah, I'm a newbie..


On July 8, 2009, sarumont wrote:

You need some of the autotools. is just a shell script, so you can look to see what it ends up executing.

On July 11, 2009, Romain Tartière wrote:

@zplane, regarding the state of Nouveau in general (basically, works for lucky developers, under heavy development), I would not encourage you into installing it if you are not sure you can fix your system if something goes wrong.

@sarumont, the autotools are in the ports tree and there is a meta-port for them.

On July 8, 2009, sarumont wrote:

Does rotation work for any of you? I have nouveau working now, thanks to this post, but I can't get it to rotate. I run my monitors in portrait rather than landscape mode, so rotation is fairly critical to my work habits. ;)

I'll post back if I get it working...

Also a note: the kernel patch has been updated since this post was made. The latest version right now is:

On July 9, 2009, sarumont wrote:

Got a kernel panic trying to mix nvidia + nouveau, rebooted and rotation is working now. Odd, but awesome. Time to move to amd64 and start playing with zsh. ;)

On July 11, 2009, Romain Tartière wrote:


Don't forget the most important: Nouveau is under development, so expect kernel panics, don't use on production systems etc.

I personally have to reboot every once a while because Xorg cannot restart after I quit the X server, and can't run multiple X servers at once for logging-in with two accounts.

Comments RSS feed | Leave a Reply…