Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. :!: this page was last edited 2010-04-07 21:16:51 by AndrewThompson. It is certainly stale. ==== Nvidia Feature Requests ==== Nvidia currently supports the %%FreeBSD%%/i386 platform, which essentially means that anyone can download their binary driver and get hardware accellerated %%OpenGL%% support (yes, you can actually play and enjoy games like Doom3 and Quake4 on %%FreeBSD%%. Awesome, isn't it?). Nvidia has lately been looking at possible ways to (a) improve their current driver for the %%FreeBSD%%/i386 platform and (b) create a new driver for the %%FreeBSD%%/amd64 platform. This has transformed into several kernel feature requests, which are necessary in order to achieve (a) and (b). This page tries to document each feature request and its current status. **Update:** At this point in time, all of the necessary features are present in %%FreeBSD%% 7 and 8 and will be present in 7.3 and 8.0. Note that the prefaulting is not a required feature, but an optimization that may improve performance in the future. **Update:** A public BETA driver has been posted by Nvidia. More details are available at http://www.nvnews.net/vbulletin/showthread.php?t=148959 === List of tasks === ^ Task ^ Why? ^ Priority ^ Status ^ Responsible ^ | Implement pmap_mapdev_attr() on %%FreeBSD%%/i386 and on %%FreeBSD%%/amd64. | Allows reliable creation of kernel mappings of I/O memory with specific cache attributes (with per-page granularity). | Needed for %%FreeBSD%%/amd64. | Complete / Merged | alc@ | | Design/implement better mmap(2) mechanism for mapping memory to user space (context information, cache attributes). | Allows reliable creation of user mappings of DMA and I/O memory and support for systems with more than 4GB of RAM. | PCI-E performance improvements, SLI support, %%FreeBSD%%/amd64 support. | Complete / Merged | jhb@ | | Allow VM objects to be mapped with non-default cache modes | " | " | Complete / Merged | alc@ / jhb@ | | Add a new OBJT_SG VM object to map arbitrary address ranges | " | " | Complete / Merged | jhb@ | | Allow mmap() to prefault mappings for OBJT_SG and possibly OBJT_DEVICE | " | " | Not implemented | alc@ / jhb@ | | Implement pmap_change_attr() on %%FreeBSD%%/i386 and on %%FreeBSD%%/amd64. | Allows prevention of cache coherency problems. | Needed for %%FreeBSD%%/amd64. | Complete / Merged | alc@ | | Implement mechanism to allow character drivers to maintain per-open instance data (e.g. like the Linux kernel's 'struct file *'). | Allows per thread NVIDIA notification delivery; also reduces CPU overhead for notification delivery from the NVIDIA kernel module to the X driver and to %%OpenGL%%. The %%FreeBSD%% kernel provides some support for this via cloning devices; the NVIDIA %%FreeBSD%% graphics driver used this interface for a while, but bugs/limitations and differences between kernel versions made it necessary to revert to regular device nodes. | Improved X/%%OpenGL%% performance. | Complete / Merged | kib@ | === Contact === * czander (at nvidiadotcom) if you'd like to work on something on this list. === Status, information etc === * [2009-12-04] http://www.nvnews.net/vbulletin/showthread.php?t=142120 * [2009-05-07] http://www.freebsd.org/news/status/report-2009-01-2009-03.html#Device-mmap()-Extensions * [2008-07-09] http://www.nvnews.net/vbulletin/showpost.php?p=1706487&postcount=6 * [2008-05-03] http://www.nvnews.net/vbulletin/showpost.php?p=1646164&postcount=314 * [2008-04-08] http://www.nvnews.net/vbulletin/showpost.php?p=1621203&postcount=290 * [2007-11-06] http://lists.freebsd.org/pipermail/freebsd-current/2007-November/079412.html * [2007-06-24] http://www.nvnews.net/vbulletin/showpost.php?p=1294499&postcount=3 * [2007-05-21] http://www.nvnews.net/vbulletin/showpost.php?p=1262407&postcount=19 * [2006-06-29] http://lists.freebsd.org/pipermail/freebsd-hackers/2006-June/016995.html (check out the whole thread for more replies) === Downloads === * http://www.nvidia.com/object/unix.html (Get the official driver from Nvidia) * http://www.freshports.org/x11/nvidia-driver/ (The Nvidia driver at %%FreshPorts%%) ---- {{tag>Stale}} nvidiafeaturerequests.txt Last modified: 2020/07/31 23:27by MarkLinimon