# Video Cards for 3D + ZFS



## norbot (Nov 16, 2008)

I would like to be able to run a desktop environment with modest 3D acceleration (OpenGL for games, Google Earth, Compiz, ...) and ZFS.  I am not philosophically opposed to a proprietary 3rd party driver.  I have been very satisfied with Nvidia cards and their drivers for years.  However, with no support for amd64 and a imposing a limit of 512M on kmem_size, the nvidia driver constrains ZFS.  It can be made to work by limiting ZFS's ARC size, but I would really like to able to give ZFS more memory to play with.

Are there any alternatives to nvidia that are stable and offer reasonable performance?


----------



## warinthepocket (Nov 16, 2008)

run a 32bit machine with a nice desktop setup, and a separate ZFS file server


----------



## SaveTheRbtz (Nov 16, 2008)

basic tuning
vm.kmem_size="1536M"
vm.kmem_size_max="1536M"
vfs.zfs.arc_min="16M"
vfs.zfs.arc_max="64M"

Plus 
options KVA_PAGES=512

in kernel config should help, I think.


----------



## hedwards (Nov 16, 2008)

I think that I'll try that. Unfortunately as of right now the only 2 companies producing decent graphics chips are AMD/ATI and nVidia, and nVidia doesn't yet have and amd64 compatible driver and I think that AMD/ATI drivers for 3d are still forthcoming for newer chips.

And you are correct, if you go above, 512M IIRC, you'll get an instant panic as the kernel first loads. That kernel option is mandatory if you're wanting to increase kmem that much. Or at least it is on my 2gb rig.


----------



## aragon (Nov 16, 2008)

An old ATI card is probably the only option right now.  I think both the ATI driver projects (ati and radeonhd) have 3D support for RV500 and older chipsets.


----------



## norbot (Nov 16, 2008)

SaveTheRbtz said:
			
		

> basic tuning
> vm.kmem_size="1536M"
> vm.kmem_size_max="1536M"
> vfs.zfs.arc_min="16M"
> ...



Unfortunately, the nvidia driver will not start if KVA_PAGES is increased.  This is the basic problem I am trying to address.


----------



## Almindor (Nov 17, 2008)

Note that to get 3D on R500 cards with the OSS "radeon" driver you need to compile your own latest and greatest Mesa as well as [lib]drm (which is much less of a fuzz, and gets you accelerated 2D via EXA).

I only did the drm part, works fine. Since 7.1 is SUPPOSEDLY going to update Xserver to 1.5 (is it?) then I'll just wait for the basic 3D to work by then.

NOTE: no GL 1.3+ functionality, no GLSL.


----------



## norbot (Nov 17, 2008)

@aragon and @Almindor:
Very interesting.  Thanks.  I probably won't be able to find an old card retail, and would have to get it 2nd-hand somewhere.
What's your experience with these drivers on amd64?


----------



## aragon (Nov 17, 2008)

Norbot, I've run both drivers on amd64 with 8 GB RAM and they work flawlessly, except I have an RV620 based card so I don't even get XV support, let alone 3D support.  Despite that, everything except games/3D works fine.  My E8500 CPU is fast enough to decode h.264 video (only tested upto 720p).

So the only problem with the ATI drivers is hardware support.  They've been rock stable for me on amd64.


----------



## rink@ (Nov 17, 2008)

I've had terrible experiences with the 'nv' driver on amd64 - in fact, it hurts performance so much that my machine was unusable :-(

And the 'nvidia' driver on i386 doesn't seem to work if you have >=4GB RAM (I have 8GB).

However, when I still had 2GB RAM, FreeBSD/i386 + x11/nvidia-driver simply ROCKED! Great performance, and ZFS never paniced on me after some tuning. Note that I run CURRENT, so YMMV...


----------



## Almindor (Nov 18, 2008)

norbot said:
			
		

> @aragon and @Almindor:
> Very interesting.  Thanks.  I probably won't be able to find an old card retail, and would have to get it 2nd-hand somewhere.
> What's your experience with these drivers on amd64?



You could also try the radeonhd driver. I tried that one sometime in the past (on same card, but radeonhd support R500+ so I was "lucky" in this regard) and it seemed to be working with some quirks. I noticed there's a -devel port for it so perhaps try it out?

It has a "shadowFB" accel method for 2D which is supposedly better for it than EXA. Don't expect any 3D tho.

Anyways, for me it's either "all" or "nothing" when it comes to 3D. I need GLSL to work on projects, so right now I just go to windblows for those.


----------

