nvidia-driver 64bit version

Alexey Dokuchaev danfe at FreeBSD.org
Sun Dec 6 22:19:42 UTC 2009


On Fri, Dec 04, 2009 at 03:35:47PM +0000, Alexey Dokuchaev wrote:
> In any case, I'll post a diff here for review before I make any commits
> WRT amd64 support in nvidia-driver.

OK, see attached diff.  I could not test amd64 version, because my amd64
box is currently down, but will certainly do so once it's up'n'running
again.  i386 version works fine so far.

I would appreciate any testing (esp. amd64) of the patched port.  Please
note that some changes in pkg-list occurred; try to see that port
deinstalls cleanly in amd64 case (both via "make deinstall" and
"pkg_delete").  And, of course, that it installs and works.

Thanks.

./danfe
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /mnt/fbsd/development/FreeBSD-CVS/ports/x11/nvidia-driver/Makefile,v
retrieving revision 1.93
diff -u -r1.93 Makefile
--- Makefile	29 Sep 2009 13:25:25 -0000	1.93
+++ Makefile	6 Dec 2009 20:56:53 -0000
@@ -6,18 +6,23 @@
 #
 
 PORTNAME=	nvidia-driver
-DISTVERSION?=	185.18.36
+DISTVERSION?=	195.22
 PORTREVISION?=	0			# As a reminder it can be overridden
 CATEGORIES=	x11 kld
 MASTER_SITES=	${MASTER_SITE_NVIDIA}
+ARCH_SUFX=	${ARCH:S/i386//:S/amd/_/}
+.if ${DISTVERSION} == 195.22
+MASTER_SITE_SUBDIR=	XFree86/FreeBSD-x86${ARCH_SUFX}/${DISTVERSION}
+ONLY_FOR_ARCHS=	i386 amd64
+.else
 MASTER_SITE_SUBDIR=	freebsd/${DISTVERSION}
-DISTNAME=	NVIDIA-FreeBSD-x86-${DISTVERSION}
+ONLY_FOR_ARCHS=	i386
+.endif
+DISTNAME=	NVIDIA-FreeBSD-x86${ARCH_SUFX}-${DISTVERSION}
 
 MAINTAINER=	danfe at FreeBSD.org
 COMMENT=	NVidia graphics card binary drivers for hardware OpenGL rendering
 
-ONLY_FOR_ARCHS=	i386
-
 NO_PACKAGE=	should be recompiled for a particular FreeBSD kernel
 USE_GL=		gl
 USE_LDCONFIG=	yes
@@ -27,8 +32,11 @@
 PORTDOCS=	*
 
 OPTIONS=	FREEBSD_AGP	"Use FreeBSD AGP GART driver" off \
-		ACPI		"Enable support for ACPI Power Management" off \
+		ACPI_PM		"Enable support for ACPI Power Management" off \
 		LINUX		"Build with support for Linux compatibility" on
+.if ${DISTVERSION} == 195.22
+OPTIONS+=	WBINVD		"Enable heavy-weight cache-flush logic" off
+.endif
 
 # Starting with version 1.0-7667, NVidia has dropped support for numerous
 # "legacy" GPUs.  Consult NVidia README (the Appendix) to find out whether
@@ -37,7 +45,7 @@
 # slave ports.
 #
 # XXX Until NVidia starts to name their releases consistently, employ this
-# ugly hack to derive NVVERSION. XXX
+# ugly hack below to derive NVVERSION. XXX
 #
 .if ${DISTVERSION:C/[0-9]+//g} == ".."			# major.minor.update
 NVVERSION=	${DISTVERSION:S/.//g}
@@ -80,7 +88,7 @@
 	${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \
 		${WRKSRC}/src/nv-freebsd.h
 .endif
-.if defined(WITH_ACPI)
+.if defined(WITH_ACPI_PM)
 	${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \
 		${WRKSRC}/src/nv-freebsd.h
 .endif
@@ -88,8 +96,12 @@
 	${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \
 		${WRKSRC}/src/nv-freebsd.h
 .endif
+.if defined(WITH_WBINVD)
+	${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \
+		${WRKSRC}/src/nv-freebsd.h
+.endif
 # Don't build any binaries (nvidia-settings and nvidia-xconfig) and manuals
-.if ${NVVERSION} < 974600
+.if ${NVVERSION} < 974600 || ${NVVERSION} == 1952200
 	${REINPLACE_CMD} -E 's/(extension).*/\1/' ${WRKSRC}/x11/Makefile
 .else
 	${REINPLACE_CMD} -E 's/(lib).*/\1/' ${WRKSRC}/x11/Makefile
@@ -111,7 +123,7 @@
 .if ${NVVERSION} < 817400
 	@${REINPLACE_CMD} '/libnvidia-cfg/d' ${TMPPLIST}
 .endif
-.if ${NVVERSION} < 974600
+.if ${NVVERSION} < 974600 || ${NVVERSION} == 1952200
 	@${REINPLACE_CMD} '/wfb/d' ${TMPPLIST}
 .endif
 .if ${NVVERSION} < 1802900
Index: distinfo
===================================================================
RCS file: /mnt/fbsd/development/FreeBSD-CVS/ports/x11/nvidia-driver/distinfo,v
retrieving revision 1.33
diff -u -r1.33 distinfo
--- distinfo	29 Sep 2009 13:25:25 -0000	1.33
+++ distinfo	6 Dec 2009 18:19:43 -0000
@@ -1,6 +1,9 @@
-MD5 (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = feff4da79a8c3a2f194f46c95c545adb
-SHA256 (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = 890b9543d3c81bccc72d60c653647a719c9037f8fc7a88144a18b2a012fbd4a7
-SIZE (NVIDIA-FreeBSD-x86-185.18.36.tar.gz) = 19245550
+MD5 (NVIDIA-FreeBSD-x86-195.22.tar.gz) = 2c7faa5baa155693be978c446c5d44a3
+SHA256 (NVIDIA-FreeBSD-x86-195.22.tar.gz) = 2299aeadeec81a1210d65529c17c2829fdc4d5586c46b1ae6f8b20089a2122e8
+SIZE (NVIDIA-FreeBSD-x86-195.22.tar.gz) = 24784839
+MD5 (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = c9b0cdeb68d573556a38e16c02ffed55
+SHA256 (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = 3a6a0fc3003615c07090c04f2d5b41fa86cf8493309bf48eff8bcaa37126508c
+SIZE (NVIDIA-FreeBSD-x86_64-195.22.tar.gz) = 25503618
 MD5 (NVIDIA-FreeBSD-x86-173.14.20.tar.gz) = 54869428baee8878c04c19751a2a8047
 SHA256 (NVIDIA-FreeBSD-x86-173.14.20.tar.gz) = c5a27324d96391ada41b4ccbbf2a321c3d86693e54d1e9d1139d97c3132530f3
 SIZE (NVIDIA-FreeBSD-x86-173.14.20.tar.gz) = 16211218
Index: pkg-plist
===================================================================
RCS file: /mnt/fbsd/development/FreeBSD-CVS/ports/x11/nvidia-driver/pkg-plist,v
retrieving revision 1.25
diff -u -r1.25 pkg-plist
--- pkg-plist	4 Aug 2009 08:27:43 -0000	1.25
+++ pkg-plist	6 Dec 2009 21:21:37 -0000
@@ -18,14 +18,15 @@
 lib/libGLcore.so
 lib/libvdpau.so.1
 lib/libvdpau.so
-lib/libvdpau_nvidia.so.1
+lib/vdpau/libvdpau_nvidia.so.1
 lib/libvdpau_nvidia.so
-lib/libvdpau_trace.so.1
+lib/vdpau/libvdpau_trace.so.1
 lib/libvdpau_trace.so
 lib/libXvMCNVIDIA.so.1
 lib/libXvMCNVIDIA.so
 lib/libXvMCNVIDIA.a
 lib/libXvMCNVIDIA_dynamic.so.1
+ at dirrm lib/vdpau
 %%MODULESDIR%%/libnvidia-wfb.so.1
 %%MODULESDIR%%/drivers/nvidia_drv.so
 %%MODULESDIR%%/extensions/libglx.so.1
@@ -44,9 +45,12 @@
 %%LINUX%%usr/lib/libnvidia-tls.so.1
 %%LINUX%%usr/lib/libvdpau.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libvdpau.so.1
-%%LINUX%%usr/lib/libvdpau_nvidia.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libvdpau_nvidia.so
-%%LINUX%%usr/lib/libvdpau_trace.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libvdpau_trace.so
+%%LINUX%%usr/lib/vdpau/libvdpau_nvidia.so.%%SHLIB_VERSION%%
+%%LINUX%%usr/lib/vdpau/libvdpau_nvidia.so.1
+%%LINUX%%usr/lib/vdpau/libvdpau_trace.so.%%SHLIB_VERSION%%
+%%LINUX%%usr/lib/vdpau/libvdpau_trace.so.1
+%%LINUX%%@dirrm usr/lib/vdpau
 %%LINUX%%@exec %D/sbin/ldconfig -r %D
 %%LINUX%%@unexec %D/sbin/ldconfig -r %D


More information about the freebsd-ports mailing list