Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Sep 2010 02:48:11 +0400
From:      Anonymous <swell.k@gmail.com>
To:        Kata Goto <black.katagoto@gmail.com>
Cc:        "Lists.FreeBSD.X11" <freebsd-x11@freebsd.org>
Subject:   Re: NVIDIA GeForce GTX 460 vs 16 years old screen
Message-ID:  <86eicq4qj8.fsf@gmail.com>
In-Reply-To: <AANLkTikf9pp06nONUXDeGn3creBEEgPZYz8TF4zFLQWN@mail.gmail.com> (Kata Goto's message of "Sat, 18 Sep 2010 19:31:15 %2B0200")
References:  <AANLkTimWsq95R53WeFU6w1jv-e_06SconCwgtvch0cVc@mail.gmail.com> <86r5gr86wn.fsf@gmail.com> <AANLkTikf9pp06nONUXDeGn3creBEEgPZYz8TF4zFLQWN@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-=
Content-Type: text/plain

Kata Goto <black.katagoto@gmail.com> writes:

> 2010/9/18 Anonymous <swell.k@gmail.com> writes:
>> Try to select vesa(4x) explicitly or deinstall nv(4x).
>
>> BTW, I think your chip (0x0e22) is supported by nvidia-driver
>> since 256.44,
>> the latest being is 260.19.06.
>
> Thank you for you quickly answer,
> First I have deinstall nv driver, but the problem was already here,
> then, I edit my xorg.conf : I replace nv by vesa, and now it works!

> But, is the 3D acceleration activate ?

Of course not. If you want any 3D (not 2D) accel better install
nvidia-driver. Well, for 2D accel I'd still suggest it because with
nv(4x) you'll not have XVIDEO/RENDER accel on your card and nouveau(4x)
is slowly bitrotting in our ports.

While I'm not sure why update is delayed you can try latest
nvidia-driver with my patch (attached) in the meantime. But I've only
tested it on /head@amd64 + Xserver 1.9.0. Also note, I removed VDPAU
bits deliberately, they're gonna be provided by libvdpau port
(cf. ports/150368 et al.), the distfile doesn't have vdpau*.h headers,
anyway.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=nvidia-260.19.06.diff

Index: x11/nvidia-driver/Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11/nvidia-driver/Makefile,v
retrieving revision 1.98
diff -u -p -r1.98 Makefile
--- x11/nvidia-driver/Makefile	24 May 2010 03:01:56 -0000	1.98
+++ x11/nvidia-driver/Makefile	17 Sep 2010 06:00:31 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	nvidia-driver
-DISTVERSION?=	195.36.15
+DISTVERSION?=	260.19.06
 PORTREVISION?=	0			# As a reminder it can be overridden
 CATEGORIES=	x11 kld
 MASTER_SITES=	${MASTER_SITE_NVIDIA}
@@ -144,8 +144,6 @@ post-install:
 .if ${NVVERSION} < 1802900
 	@${REINPLACE_CMD} '/vdpau/d' ${TMPPLIST}
 .else
-	@${MKDIR} ${PREFIX}/include/vdpau
-	@${LN} -sf ${DOCSDIR}/vdpau*.h ${PREFIX}/include/vdpau
 .endif
 .if ${NVVERSION} < 1851829
 	@${REINPLACE_CMD} '/libcuda/d' ${TMPPLIST}
Index: x11/nvidia-driver/distinfo
===================================================================
RCS file: /a/.cvsup/ports/x11/nvidia-driver/distinfo,v
retrieving revision 1.36
diff -u -p -r1.36 distinfo
--- x11/nvidia-driver/distinfo	10 Apr 2010 13:40:07 -0000	1.36
+++ x11/nvidia-driver/distinfo	18 Sep 2010 21:56:37 -0000
@@ -1,9 +1,9 @@
-MD5 (NVIDIA-FreeBSD-x86-195.36.15.tar.gz) = 2537ca726240344c7eaa44857e2b134e
-SHA256 (NVIDIA-FreeBSD-x86-195.36.15.tar.gz) = 21fc89fa59e2cc96e560af856a3fa583ce4bfb7975465c71170c64962201e7a1
-SIZE (NVIDIA-FreeBSD-x86-195.36.15.tar.gz) = 25614326
-MD5 (NVIDIA-FreeBSD-x86_64-195.36.15.tar.gz) = 95af03aedc818a3dfd8ae9f289746ba4
-SHA256 (NVIDIA-FreeBSD-x86_64-195.36.15.tar.gz) = d64c664398cb4dade24af6b108e03607614f1f7584c71449230c646c313d0e7e
-SIZE (NVIDIA-FreeBSD-x86_64-195.36.15.tar.gz) = 26449559
+MD5 (NVIDIA-FreeBSD-x86-260.19.06.tar.gz) = f35622e9ec841473de5d9571b54875ed
+SHA256 (NVIDIA-FreeBSD-x86-260.19.06.tar.gz) = 0eda86ccf4145bc6f3a67c94fb0e055a37980099fe23def26e0f64924896b4ba
+SIZE (NVIDIA-FreeBSD-x86-260.19.06.tar.gz) = 27087344
+MD5 (NVIDIA-FreeBSD-x86_64-260.19.06.tar.gz) = 9808f2bb71c0ff344a6edc27e56c1e09
+SHA256 (NVIDIA-FreeBSD-x86_64-260.19.06.tar.gz) = 29c637a86b938f55af185a2a0fd67346cb8f27edc58430f3473d78dd23f4acc8
+SIZE (NVIDIA-FreeBSD-x86_64-260.19.06.tar.gz) = 27754746
 MD5 (NVIDIA-FreeBSD-x86-173.14.25.tar.gz) = 1eca3916a9ae86b953f54405e1881774
 SHA256 (NVIDIA-FreeBSD-x86-173.14.25.tar.gz) = c432ed94ce71e297b2d9304d9f34f906b58e2c7c4bc13d8dbac264ed52fd6261
 SIZE (NVIDIA-FreeBSD-x86-173.14.25.tar.gz) = 16682722
Index: x11/nvidia-driver/pkg-plist
===================================================================
RCS file: /a/.cvsup/ports/x11/nvidia-driver/pkg-plist,v
retrieving revision 1.27
diff -u -p -r1.27 pkg-plist
--- x11/nvidia-driver/pkg-plist	10 Apr 2010 13:40:07 -0000	1.27
+++ x11/nvidia-driver/pkg-plist	18 Sep 2010 22:23:45 -0000
@@ -10,26 +10,19 @@
 @unexec mv -f %D/%%MODULESDIR%%/extensions/XXX-libglx.so.%%%%.%%XSERVVERSION%% %D/%%MODULESDIR%%/extensions/libglx.so
 @exec mv -f %D/lib/libGL.so.1 %D/lib/XXX-libGL.so.1.%%%%.%%LIBGLVERSION%%
 @unexec mv -f %D/lib/XXX-libGL.so.1.%%%%.%%LIBGLVERSION%% %D/lib/libGL.so.1
-include/vdpau/vdpau.h
-include/vdpau/vdpau_x11.h
-@dirrm include/vdpau
 lib/libnvidia-tls.so.1
 lib/libnvidia-tls.so
 lib/libnvidia-cfg.so.1
 lib/libnvidia-cfg.so
-lib/libGLcore.so.1
-lib/libGLcore.so
-lib/libvdpau.so.1
-lib/libvdpau.so
+lib/libnvidia-glcore.so.1
+lib/libnvidia-glcore.so
 lib/vdpau/libvdpau_nvidia.so.1
 lib/libvdpau_nvidia.so
-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
-@dirrm lib/vdpau
+@dirrmtry lib/vdpau
 %%MODULESDIR%%/libnvidia-wfb.so.1
 %%MODULESDIR%%/drivers/nvidia_drv.so
 %%MODULESDIR%%/extensions/libglx.so.1
@@ -37,16 +30,15 @@ lib/libXvMCNVIDIA_dynamic.so.1
 @dirrmtry %%MODULESDIR%%/drivers
 @cwd /boot/modules
 nvidia.ko
+@rmtry nvidia.ko.symbols
 @unexec kldxref %D
 %%LINUX%%@cwd %%LINUXBASE%%
 %%LINUX%%usr/lib/libGL.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libGL.so.1
-%%LINUX%%usr/lib/libGLcore.so.%%SHLIB_VERSION%%
-%%LINUX%%usr/lib/libGLcore.so.1
+%%LINUX%%usr/lib/libnvidia-glcore.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libcuda.so.%%SHLIB_VERSION%%
 %%LINUX%%usr/lib/libcuda.so.1
 %%LINUX%%usr/lib/libnvidia-tls.so.%%SHLIB_VERSION%%
-%%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
Index: x11/nvidia-driver/files/patch-lib::Makefile
===================================================================
RCS file: /a/.cvsup/ports/x11/nvidia-driver/files/patch-lib::Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 patch-lib::Makefile
--- x11/nvidia-driver/files/patch-lib::Makefile	19 Apr 2008 17:54:30 -0000	1.4
+++ x11/nvidia-driver/files/patch-lib::Makefile	8 Sep 2010 01:21:35 -0000
@@ -1,11 +1,28 @@
 --- lib/Makefile.orig	Fri Jun 17 09:44:23 2005
 +++ lib/Makefile	Wed Jun 22 19:12:16 2005
-@@ -6,7 +6,7 @@
+@@ -6,15 +6,13 @@ SUBDIR= 	libGL		\
+ 		libnvidia-tls	\
+ 		libnvidia-cfg	\
+ 		libnvidia-glcore	\
+-		libvdpau	\
+ 		libvdpau_nvidia	\
+-		libvdpau_trace	\
+ 		libXvMCNVIDIA
+ 
  FIND_DIRS=	/usr/lib	\
- 		${LOCALBASE}/lib
+ 		${X11BASE}/lib
  
 -.if exists(/compat/linux)
 +.if exists(/compat/linux) && !defined(WITHOUT_LINUX)
  SUBDIR+=	compat
  FIND_DIRS+=	/compat/linux/lib \
  		/compat/linux/usr/lib \
+@@ -27,7 +25,7 @@ FIND_FILES!=(find ${FIND_DIRS} \
+ 		-name libnvidia-tls.so\* -or \
+ 		-name libnvidia-cfg.so\* -or \
+ 		-name libnvidia-glcore.\* -or \
+-		-name libvdpau\* -or \
++		-name libvdpau_nvidia\* -or \
+ 		-name libXvMCNVIDIA.\* -or \
+ 		-name libglx.\* \
+ 		| xargs ${ECHO})
Index: x11/nvidia-driver/files/patch-src::nvidia_os.c
===================================================================
RCS file: x11/nvidia-driver/files/patch-src::nvidia_os.c
diff -N x11/nvidia-driver/files/patch-src::nvidia_os.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ x11/nvidia-driver/files/patch-src::nvidia_os.c	18 Sep 2010 22:40:29 -0000
@@ -0,0 +1,35 @@
+--- src/nvidia_os.c~
++++ src/nvidia_os.c
+@@ -16,6 +16,10 @@
+ MALLOC_DEFINE(M_NVIDIA, "nvidia", "NVIDIA memory allocations");
+ TASKQUEUE_DEFINE_THREAD(nvidia);
+ 
++#if __FreeBSD_version >= 900015
++static nvidia_work_t *work;
++#endif
++
+ RM_STATUS NV_API_CALL os_alloc_mem(
+     void **address,
+     NvU32 size
+@@ -316,7 +320,9 @@ static void os_execute_work_item(void *c
+ RM_STATUS NV_API_CALL os_queue_work_item(void *data)
+ {
+     RM_STATUS status;
++#if __FreeBSD_version < 900015
+     nvidia_work_t *work;
++#endif
+ 
+     status = os_alloc_mem((void **)&work, sizeof(nvidia_work_t));
+     if (status != status)
+@@ -332,7 +338,11 @@ RM_STATUS NV_API_CALL os_queue_work_item
+ 
+ RM_STATUS NV_API_CALL os_flush_work_queue(void)
+ {
++#if __FreeBSD_version >= 900015
++    taskqueue_drain(taskqueue_nvidia, &work->task);
++#else
+     taskqueue_run(taskqueue_nvidia);
++#endif
+     return RM_OK;
+ }
+ 

--=-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86eicq4qj8.fsf>