Update nVidia binary drivers to most recent released version, 6113.
Features: * Support for the latest NVIDIA GPUs including GeForce 6800 Series * Improved interaction with -CURRENT's new threading libraries. It also brings some more general fixes to the port: * Utilizes PORTDOCS * New knobs added * pkg-plist fixed Special note for -CURRENT users: nVidia driver now depends on mem.ko kernel module. Submitted by: Alexey Dokuchaev <danfe@regency.nsu.ru> (maintainer) PR: 70561
This commit is contained in:
parent
d2a465f672
commit
9becd45701
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=116507
@ -7,7 +7,6 @@
|
||||
|
||||
PORTNAME= nvidia-driver
|
||||
PORTVERSION= 1.0.${NVVERSION}
|
||||
PORTREVISION?= 2
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= http://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \
|
||||
ftp://download.nvidia.com/freebsd/1.0-${NVVERSION}/ \
|
||||
@ -22,7 +21,7 @@ USE_X_PREFIX= yes
|
||||
NO_PACKAGE= should be recompiled for a particular FreeBSD kernel
|
||||
INSTALLS_SHLIB= yes
|
||||
|
||||
NVVERSION= 4365
|
||||
NVVERSION= 6113
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
@ -36,10 +35,13 @@ PLIST_SUB= XSERVVERSION=${XSERVVERSION} XLIBVERSION=${XLIBVERSION} \
|
||||
|
||||
.if !defined(WITHOUT_LINUX)
|
||||
USE_LINUX= yes
|
||||
PLIST_SUB+= LINUX=""
|
||||
.else
|
||||
PLIST_SUB+= LINUX="@comment "
|
||||
.endif
|
||||
|
||||
.if ${OSVERSION} < 470000
|
||||
IGNORE= "requires FreeBSD -STABLE, version 4.7-RELEASE or later"
|
||||
.if ${OSVERSION} < 490000 || (${OSVERSION} >= 500000 && ${OSVERSION} < 502001)
|
||||
IGNORE= "supports FreeBSD -STABLE (4.9 or later), or FreeBSD -CURRENT (5.2.1 or later)"
|
||||
.endif
|
||||
|
||||
.if ${OSVERSION} < 500000
|
||||
@ -52,53 +54,46 @@ pre-everything::
|
||||
.if !defined(WITH_FREEBSD_AGP)
|
||||
@${ECHO_MSG} "Define WITH_FREEBSD_AGP to use FreeBSD AGP GART driver"
|
||||
.endif
|
||||
.if !defined(FORCE_AGP_RATE)
|
||||
@${ECHO_MSG} "Define FORCE_AGP_RATE to limit the driver to lower speeds"
|
||||
.if !defined(WITH_VM86_INT10CALL)
|
||||
@${ECHO_MSG} "Define WITH_VM86_INT10CALL to use VM86 interface for INT10 calls (video BIOS)"
|
||||
.endif
|
||||
.if !defined(WITH_NVIDIA_HACKS)
|
||||
@${ECHO_MSG} "Define WITH_NVIDIA_HACKS to enable work-arounds to override basic AGP setup"
|
||||
.if !defined(WITH_ACPI)
|
||||
@${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.X only!)"
|
||||
.endif
|
||||
.if !defined(WITHOUT_LINUX)
|
||||
@${ECHO_MSG} "Define WITHOUT_LINUX to build without support for Linux compatibility"
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FREEBSD_AGP) || defined(FORCE_AGP_RATE) || defined(WITH_NVIDIA_HACKS) || ${OSVERSION} > 501106
|
||||
.if defined(WITH_FREEBSD_AGP) || defined(WITH_VM86_INT10CALL) || defined(WITH_ACPI) || defined(WITHOUT_LINUX)
|
||||
USE_REINPLACE= yes
|
||||
|
||||
post-patch:
|
||||
. if defined(WITH_FREEBSD_AGP)
|
||||
@${REINPLACE_CMD} 's/undef USE_OS_AGP_GART/define USE_OS_AGP_GART/' \
|
||||
@${REINPLACE_CMD} 's/undef NV_SUPPORT_OS_AGP/define NV_SUPPORT_OS_AGP/' \
|
||||
${WRKSRC}/src/nv-freebsd.h
|
||||
. endif
|
||||
. if defined(FORCE_AGP_RATE)
|
||||
@${REINPLACE_CMD} 's/NVreg_ReqAGPRate,[[:blank:]]*0/NVreg_ReqAGPRate, 1/' \
|
||||
${WRKSRC}/src/nvidia_os_registry.c
|
||||
. if defined(WITH_VM86_INT10CALL)
|
||||
@${REINPLACE_CMD} 's/undef NV_USE_OS_VM86_INT10CALL/define NV_USE_OS_VM86_INT10CALL/' \
|
||||
${WRKSRC}/src/nv-freebsd.h
|
||||
. endif
|
||||
. if defined(WITH_NVIDIA_HACKS)
|
||||
@${REINPLACE_CMD} 's/NVreg_UpdateKernelAGP,[[:blank:]]*1/NVreg_UpdateKernelAGP, 0/' \
|
||||
${WRKSRC}/src/nvidia_os_registry.c
|
||||
. if defined(WITH_ACPI)
|
||||
@${REINPLACE_CMD} 's/undef NV_SUPPORT_ACPI_PM/define NV_SUPPORT_ACPI_PM/' \
|
||||
${WRKSRC}/src/nv-freebsd.h
|
||||
. endif
|
||||
. if ${OSVERSION} > 501106
|
||||
@${REINPLACE_CMD} 's/PCIR_HEADERTYPE/PCIR_HDRTYPE/' ${WRKSRC}/src/nvidia_sysctl.c
|
||||
. endif
|
||||
. if ${OSVERSION} > 502115
|
||||
. for f in nv-freebsd.h nvidia_ctl.c nvidia_dev.c nvidia_subr.c
|
||||
@${REINPLACE_CMD} 's/dev_t/struct cdev \*/g' ${WRKSRC}/src/${f}
|
||||
. endfor
|
||||
. if defined(WITHOUT_LINUX)
|
||||
@${REINPLACE_CMD} 's/define NV_SUPPORT_LINUX_COMPAT/undef NV_SUPPORT_LINUX_COMPAT/' \
|
||||
${WRKSRC}/src/nv-freebsd.h
|
||||
. endif
|
||||
.endif
|
||||
|
||||
pre-install:
|
||||
.if defined(WITHOUT_LINUX)
|
||||
@${MKDIR} ${LINUXBASE}/usr/lib
|
||||
.endif
|
||||
-@(kldstat -n linux || kldload linux)
|
||||
|
||||
post-install:
|
||||
.if ${OSVERSION} < 500000
|
||||
.for dev in 0 1 2 3
|
||||
@rm -f /dev/nvidia${dev}
|
||||
@${RM} -f /dev/nvidia${dev}
|
||||
@mknod /dev/nvidia${dev} c 180 ${dev}
|
||||
@${CHMOD} 0666 /dev/nvidia${dev}
|
||||
.endfor
|
||||
@rm -f /dev/nvidiactl
|
||||
@${RM} -f /dev/nvidiactl
|
||||
@mknod /dev/nvidiactl c 180 255
|
||||
@${CHMOD} 0666 /dev/nvidiactl
|
||||
.endif
|
||||
|
@ -1,2 +1,2 @@
|
||||
MD5 (NVIDIA-FreeBSD-x86-1.0-4365.tar.gz) = e14d9f2668746ee4d8b47e1c9dbc78af
|
||||
SIZE (NVIDIA-FreeBSD-x86-1.0-4365.tar.gz) = 4522076
|
||||
MD5 (NVIDIA-FreeBSD-x86-1.0-6113.tar.gz) = 1dab16b9ebf3ab4253811b6ba29fc701
|
||||
SIZE (NVIDIA-FreeBSD-x86-1.0-6113.tar.gz) = 6215565
|
||||
|
@ -1,13 +0,0 @@
|
||||
--- module/Makefile.orig Wed May 28 23:51:52 2003
|
||||
+++ module/Makefile Sun Jan 25 11:47:48 2004
|
||||
@@ -14,6 +14,10 @@
|
||||
BUILD_DONE= ${.CURDIR}/.build_done
|
||||
CLEANFILES+= ${BUILD_DONE}
|
||||
|
||||
+.if ${OSVERSION} > 500011
|
||||
+KMODDIR?= /boot/modules
|
||||
+.endif
|
||||
+
|
||||
#
|
||||
# To enable debugging see nvidia_debug.h
|
||||
# uncomment the following line and change the 'debug'
|
@ -1,15 +0,0 @@
|
||||
--- src/nvidia_ctl.c.old Sun Feb 22 13:05:46 2004
|
||||
+++ src/nvidia_ctl.c Sun Feb 22 13:07:25 2004
|
||||
@@ -43,7 +43,12 @@
|
||||
.d_ioctl = nvidia_ctl_ioctl,
|
||||
.d_poll = nvidia_ctl_poll,
|
||||
.d_name = "nvidiactl",
|
||||
+#if __FreeBSD_version < 502103
|
||||
.d_maj = CDEV_MAJOR,
|
||||
.d_flags = D_TRACKCLOSE
|
||||
+#else
|
||||
+ .d_version = D_VERSION,
|
||||
+ .d_flags = D_NEEDGIANT|D_TRACKCLOSE
|
||||
+#endif
|
||||
#endif
|
||||
};
|
@ -1,15 +0,0 @@
|
||||
--- src/nvidia_dev.c.old Wed May 28 12:51:52 2003
|
||||
+++ src/nvidia_dev.c Sun Feb 22 13:36:25 2004
|
||||
@@ -45,7 +45,12 @@
|
||||
.d_poll = nvidia_dev_poll,
|
||||
.d_mmap = nvidia_dev_mmap,
|
||||
.d_name = "nvidia",
|
||||
+#if __FreeBSD_version < 502103
|
||||
.d_maj = CDEV_MAJOR,
|
||||
.d_flags = D_MEM|D_TRACKCLOSE
|
||||
+#else
|
||||
+ .d_version = D_VERSION,
|
||||
+ .d_flags = D_MEM|D_TRACKCLOSE|D_NEEDGIANT
|
||||
+#endif
|
||||
#endif
|
||||
};
|
@ -1,21 +1,12 @@
|
||||
--- src/nvidia_pci.c.orig Thu May 29 02:51:52 2003
|
||||
+++ src/nvidia_pci.c Fri Oct 3 01:19:55 2003
|
||||
@@ -33,6 +33,18 @@
|
||||
if (vendor != NVIDIA_VENDORID || device < 0x0020)
|
||||
return ENXIO;
|
||||
--- src/nvidia_pci.c.orig Mon Aug 16 17:40:56 2004
|
||||
+++ src/nvidia_pci.c Mon Aug 16 17:41:20 2004
|
||||
@@ -218,6 +218,9 @@
|
||||
};
|
||||
|
||||
+ /* Exclude nForce MCP devices from detection */
|
||||
+ if (device >= 0x01A4 && device <= 0x01ef)
|
||||
+ return ENXIO;
|
||||
+
|
||||
+ /* Exclude nForce2 MCP2 devices from detection */
|
||||
+ if (device >= 0x0060 && device <= 0x006e)
|
||||
+ return ENXIO;
|
||||
+
|
||||
+ /* Exclude nForce3 MCP3 devices from detection */
|
||||
+ if (device >= 0x00d4 && device <= 0x00da)
|
||||
+ return ENXIO;
|
||||
+
|
||||
if (rm_get_device_name(device, NV_DEVICE_NAME_LENGTH, name)
|
||||
!= RM_OK) {
|
||||
strcpy(name, "Unknown");
|
||||
DRIVER_MODULE(nvidia, pci, nvidia_pci_driver, nvidia_devclass, nvidia_modevent, 0);
|
||||
+#if __FreeBSD_version > 502126
|
||||
+MODULE_DEPEND(nvidia, mem, 1, 1, 1);
|
||||
+#endif
|
||||
|
||||
#ifdef NV_SUPPORT_OS_AGP
|
||||
MODULE_DEPEND(nvidia, agp, 1, 1, 1);
|
||||
|
@ -1,16 +1,26 @@
|
||||
|
||||
To use these drivers, make sure that you have loaded the nvidia kernel
|
||||
module, by doing
|
||||
|
||||
# kldload nvidia
|
||||
|
||||
If you compile this package with WITH_FREEBSD_AGP=yes, you must load
|
||||
the agp.ko kernel module *at boot time* by putting the following
|
||||
line into your /boot/loader.conf:
|
||||
or adding
|
||||
|
||||
agp_load="YES"
|
||||
nvidia_load="YES"
|
||||
|
||||
or have your kernel compiled with "device agp".
|
||||
to your /boot/loader.conf (normally done automatically when installing
|
||||
the port).
|
||||
|
||||
Otherwise the nvidia kernel module will not load.
|
||||
If you build this port with WITH_FREEBSD_AGP=yes, make sure you have
|
||||
agp.ko kernel module compiled and installed, since nvidia.ko will
|
||||
depend on it, or have your kernel compiled with "device agp". Other-
|
||||
wise the nvidia kernel module will not load. Also, care to specify
|
||||
correct ``Option "NvAGP"'' in ``Device'' section of your X11 configu-
|
||||
ration file.
|
||||
|
||||
See ${PREFIX}/share/doc/NVIDIA/README for more information.
|
||||
When building with Linux compatibility (WITH_LINUX=yes), make sure
|
||||
linux.ko is available as well (or have it compiled in kernel).
|
||||
|
||||
Note that this driver does not support PAE-enabled kernels.
|
||||
|
||||
See ${PREFIX}/share/doc/NVIDIA_GLX-1.0/README for more information.
|
||||
|
@ -18,18 +18,33 @@ lib/libGLcore.so.1
|
||||
lib/libXvMCNVIDIA.so.1
|
||||
@exec ln -sf %D/lib/libXvMCNVIDIA.so.1 %D/lib/libXvMCNVIDIA.so
|
||||
@unexec rm -f %D/lib/libXvMCNVIDIA.so
|
||||
lib/libnvidia-tls.so.1
|
||||
@exec ln -sf %D/lib/libnvidia-tls.so.1 %D/lib/libnvidia-tls.so
|
||||
@unexec rm -f %D/lib/libnvidia-tls.so
|
||||
lib/libXvMCNVIDIA.a
|
||||
lib/modules/drivers/nvidia_drv.o
|
||||
lib/modules/extensions/libglx.so.1
|
||||
@exec ln -sf %D/lib/modules/extensions/libglx.so.1 %D/lib/modules/extensions/libglx.so
|
||||
@unexec rm -f %D/lib/modules/extensions/libglx.so
|
||||
share/doc/NVIDIA/README
|
||||
share/doc/NVIDIA/README.Linux
|
||||
share/doc/NVIDIA/XF86Config.sample
|
||||
share/doc/NVIDIA/license.txt
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/README
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/README.Linux
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/XF86Config.sample
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/license.txt
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/gl.h
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/glx.h
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/glext.h
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/glxtokens.h
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/agp.ko-hints.diff
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/machdep.c.diff
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/vm_map.c_4.10.diff
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/device_pager.c_4.10.diff
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/vm_object.c_5.2.diff
|
||||
%%PORTDOCS%%share/doc/NVIDIA_GLX-1.0/device_pager.c_5.2.diff
|
||||
%%PORTDOCS%%@dirrm share/doc/NVIDIA_GLX-1.0
|
||||
%%FREEBSD4%%@cwd /modules
|
||||
%%FREEBSD5%%@cwd /boot/modules
|
||||
nvidia.ko
|
||||
%%FREEBSD5%%@unexec kldxref %D
|
||||
%%FREEBSD4%%@cwd /dev
|
||||
%%FREEBSD4%%MAKEDEV.nvidia
|
||||
%%FREEBSD4%%@exec mknod /dev/nvidia0 c 180 0
|
||||
@ -47,8 +62,13 @@ nvidia.ko
|
||||
%%FREEBSD4%%@unexec rm -f /dev/nvidia2
|
||||
%%FREEBSD4%%@unexec rm -f /dev/nvidia3
|
||||
%%FREEBSD4%%@unexec rm -f /dev/nvidiactl
|
||||
@cwd %%LINUXBASE%%
|
||||
usr/lib/libGL.so.1.0.%%NVVERSION%%
|
||||
usr/lib/libGLcore.so.1.0.%%NVVERSION%%
|
||||
@exec ln -sf %D/usr/lib/libGL.so.1.0.%%NVVERSION%% %D/usr/lib/libGL.so.1
|
||||
@exec ln -sf %D/usr/lib/libGLcore.so.1.0.%%NVVERSION%% %D/usr/lib/libGLcore.so.1
|
||||
%%LINUX%%@cwd %%LINUXBASE%%
|
||||
%%LINUX%%usr/lib/libGL.so.1.0.%%NVVERSION%%
|
||||
%%LINUX%%usr/lib/libGLcore.so.1.0.%%NVVERSION%%
|
||||
%%LINUX%%usr/lib/libnvidia-tls.so.1.0.%%NVVERSION%%
|
||||
%%LINUX%%@exec ln -sf %D/usr/lib/libGL.so.1.0.%%NVVERSION%% %D/usr/lib/libGL.so.1
|
||||
%%LINUX%%@exec ln -sf %D/usr/lib/libGLcore.so.1.0.%%NVVERSION%% %D/usr/lib/libGLcore.so.1
|
||||
%%LINUX%%@exec ln -sf %D/usr/lib/libnvidia-tls.so.1.0.%%NVVERSION%% %D/usr/lib/liblibnvidia-tls.so.1
|
||||
%%LINUX%%@unexec rm -f %D/usr/lib/libGL.so.1
|
||||
%%LINUX%%@unexec rm -f %D/usr/lib/libGLcore.so.1
|
||||
%%LINUX%%@unexec rm -f %D/usr/lib/liblibnvidia-tls.so.1
|
||||
|
Loading…
Reference in New Issue
Block a user