Date: Tue, 17 Aug 2004 12:16:05 +0700 (NOVST) From: Alexey Dokuchaev <danfe@regency.nsu.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/70561: PORT UPDATE: x11/nvidia-driver to 6113 version (latest) Message-ID: <200408170516.i7H5G56G021341@regency.nsu.ru> Resent-Message-ID: <200408170520.i7H5KIrn040290@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 70561 >Category: ports >Synopsis: PORT UPDATE: x11/nvidia-driver to 6113 version (latest) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Tue Aug 17 05:20:18 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Alexey Dokuchaev >Release: FreeBSD 5.2-CURRENT i386 >Organization: CNIT NSU >Environment: System: FreeBSD stan.asempra.local 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Thu Aug 12 15:26:12 NOVST 2004 root@stan.asempra.local:/usr/src/sys/i386/compile/STAN i386 >Description: This updates NVidia binary drivers to most recent released version, 6113, available for download at thier website. They feature: * 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 * Fix pkg-plist *** CAUTION!! *** ACHTUNG!! *** WARNING!! *** KLDUNLOADING NVIDIA.KO ON WEEK-OLD -CURRENT HANGS THE BOX. WORKS ON 4.9-STABLE, NO REPORTS FOR 5.2.1-RELEASE YET. COMMIT WITH CARE. ********************************************* >How-To-Repeat: N/A >Fix: Apply the diff below. Remove these files: files/patch-module::Makefile files/patch-src::nvidia_ctl.c files/patch-src::nvidia_dev.c %%% diff -Naur /usr/ports/x11/nvidia-driver/Makefile nvidia-driver/Makefile --- /usr/ports/x11/nvidia-driver/Makefile Tue Aug 10 17:41:42 2004 +++ nvidia-driver/Makefile Tue Aug 17 12:04:44 2004 @@ -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 @@ 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 @@ .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 @@ .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_ACPI) + @${ECHO_MSG} "Define WITH_ACPI to enable support for ACPI Power Management (5.X only!)" .endif -.if !defined(WITH_NVIDIA_HACKS) - @${ECHO_MSG} "Define WITH_NVIDIA_HACKS to enable work-arounds to override basic AGP setup" +.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 -. 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_VM86_INT10CALL) + @${REINPLACE_CMD} 's/undef NV_USE_OS_VM86_INT10CALL/define NV_USE_OS_VM86_INT10CALL/' \ + ${WRKSRC}/src/nv-freebsd.h . endif -. if ${OSVERSION} > 501106 - @${REINPLACE_CMD} 's/PCIR_HEADERTYPE/PCIR_HDRTYPE/' ${WRKSRC}/src/nvidia_sysctl.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} > 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 diff -Naur /usr/ports/x11/nvidia-driver/distinfo nvidia-driver/distinfo --- /usr/ports/x11/nvidia-driver/distinfo Mon Aug 9 17:06:18 2004 +++ nvidia-driver/distinfo Mon Aug 16 14:57:57 2004 @@ -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 diff -Naur /usr/ports/x11/nvidia-driver/files/patch-lib::Makefile nvidia-driver/files/patch-lib::Makefile --- /usr/ports/x11/nvidia-driver/files/patch-lib::Makefile Thu Jan 1 07:00:00 1970 +++ nvidia-driver/files/patch-lib::Makefile Mon Aug 16 17:37:38 2004 @@ -0,0 +1,26 @@ +--- lib/Makefile.orig Mon Aug 16 17:05:30 2004 ++++ lib/Makefile Mon Aug 16 17:07:47 2004 +@@ -1,13 +1,19 @@ + SUBDIR= libGL \ + libnvidia-tls \ + libGLcore \ +- libXvMCNVIDIA \ +- compat ++ libXvMCNVIDIA + +-FIND_DIRS= /usr/lib ${X11BASE}/lib \ +- /compat/linux/lib \ ++.if !defined(WITHOUT_LINUX) ++SUBDIR+= compat ++.endif ++ ++FIND_DIRS= /usr/lib ${X11BASE}/lib ++ ++.if !defined(WITHOUT_LINUX) ++FIND_DIRS+= /compat/linux/lib \ + /compat/linux/usr/lib \ + /compat/linux/usr/X11R6/lib ++.endif + + FIND_FILES!=(find ${FIND_DIRS} \ + -name libGL.a\* -or \ diff -Naur /usr/ports/x11/nvidia-driver/files/patch-module::Makefile nvidia-driver/files/patch-module::Makefile --- /usr/ports/x11/nvidia-driver/files/patch-module::Makefile Sun Feb 1 18:35:57 2004 +++ nvidia-driver/files/patch-module::Makefile Thu Jan 1 07:00:00 1970 @@ -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' diff -Naur /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_ctl.c nvidia-driver/files/patch-src::nvidia_ctl.c --- /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_ctl.c Tue Mar 2 15:33:10 2004 +++ nvidia-driver/files/patch-src::nvidia_ctl.c Thu Jan 1 07:00:00 1970 @@ -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 - }; diff -Naur /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_dev.c nvidia-driver/files/patch-src::nvidia_dev.c --- /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_dev.c Wed Feb 25 19:05:12 2004 +++ nvidia-driver/files/patch-src::nvidia_dev.c Thu Jan 1 07:00:00 1970 @@ -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 - }; diff -Naur /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_pci.c nvidia-driver/files/patch-src::nvidia_pci.c --- /usr/ports/x11/nvidia-driver/files/patch-src::nvidia_pci.c Sun Jan 25 19:52:46 2004 +++ nvidia-driver/files/patch-src::nvidia_pci.c Mon Aug 16 17:42:24 2004 @@ -1,21 +1,10 @@ ---- 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,7 @@ + }; -+ /* 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); ++MODULE_DEPEND(nvidia, mem, 1, 1, 1); + + #ifdef NV_SUPPORT_OS_AGP + MODULE_DEPEND(nvidia, agp, 1, 1, 1); diff -Naur /usr/ports/x11/nvidia-driver/pkg-message nvidia-driver/pkg-message --- /usr/ports/x11/nvidia-driver/pkg-message Fri Jul 4 21:35:19 2003 +++ nvidia-driver/pkg-message Tue Aug 17 10:59:21 2004 @@ -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 + + nvidia_load="YES" + +to your /boot/loader.conf (normally done automatically when installing +the port). - agp_load="YES" +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. -or have your kernel compiled with "device agp". +When building with Linux compatibility (WITH_LINUX=yes), make sure +linux.ko is available as well (or have it compiled in kernel). -Otherwise the nvidia kernel module will not load. +Note that this driver does not support PAE-enabled kernels. -See ${PREFIX}/share/doc/NVIDIA/README for more information. +See ${PREFIX}/share/doc/NVIDIA_GLX-1.0/README for more information. diff -Naur /usr/ports/x11/nvidia-driver/pkg-plist nvidia-driver/pkg-plist --- /usr/ports/x11/nvidia-driver/pkg-plist Mon Aug 9 17:06:18 2004 +++ nvidia-driver/pkg-plist Mon Aug 16 19:00:28 2004 @@ -18,18 +18,33 @@ 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 @@ %%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 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408170516.i7H5G56G021341>