
помогает перезагрузка иксов
может есть другой способ?
Код: Выделить всё
--- x11/nvidia-driver/Makefile.orig 2007-09-17 09:22:23.000000000 +0400
+++ x11/nvidia-driver/Makefile 2007-10-29 02:44:09.000000000 +0300
@@ -6,7 +6,7 @@
#
PORTNAME= nvidia-driver
-DISTVERSION?= 100.14.11
+DISTVERSION?= 100.14.23
PORTREVISION?= 0 # For consistency with slave ports
CATEGORIES= x11 kld
MASTER_SITES= ${MASTER_SITE_NVIDIA}
--- x11/nvidia-driver/distinfo.orig 2007-08-20 16:56:06.000000000 +0400
+++ x11/nvidia-driver/distinfo 2007-10-29 02:46:40.000000000 +0300
@@ -1,9 +1,3 @@
-MD5 (NVIDIA-FreeBSD-x86-1.0-7185.tar.gz) = 053b385a944dd8770e6d5985e493b9b4
-SHA256 (NVIDIA-FreeBSD-x86-1.0-7185.tar.gz) = a78e4ac89fa4eede8c0510066be441084d605fb0b9c82056ebe6f82c3d32665f
-SIZE (NVIDIA-FreeBSD-x86-1.0-7185.tar.gz) = 8433584
-MD5 (NVIDIA-FreeBSD-x86-1.0-9639.tar.gz) = 2947394ea9f6a7f7dc6e5bcdd1f6e3db
-SHA256 (NVIDIA-FreeBSD-x86-1.0-9639.tar.gz) = a661f039bd838605543a460769bd18a4296717878450eec4baecc6215b91a8a6
-SIZE (NVIDIA-FreeBSD-x86-1.0-9639.tar.gz) = 9668348
-MD5 (NVIDIA-FreeBSD-x86-100.14.11.tar.gz) = af6f1764fd89177514a2b55d254a7730
-SHA256 (NVIDIA-FreeBSD-x86-100.14.11.tar.gz) = 8511656f042a4b2fc2ed5571a96a2b2972fe27961540e0e63d305aaa58753e42
-SIZE (NVIDIA-FreeBSD-x86-100.14.11.tar.gz) = 11419761
+MD5 (NVIDIA-FreeBSD-x86-100.14.23.tar.gz) = b967b1c2d6660e000a90cefa563c5b22
+SHA256 (NVIDIA-FreeBSD-x86-100.14.23.tar.gz) = bff55a3a8d6d485c290c73017046692ae48c4d0ccc5aa84276882c88b444724d
+SIZE (NVIDIA-FreeBSD-x86-100.14.23.tar.gz) = 11150297
--- x11/nvidia-driver/files/patch-mtx.orig 1970-01-01 03:00:00.000000000 +0300
+++ x11/nvidia-driver/files/patch-mtx 2007-10-25 21:59:35.250488376 +0400
@@ -0,0 +1,62 @@
+--- src/nvidia_os.c.orig 2007-10-02 15:27:33.211059621 -0500
++++ src/nvidia_os.c 2007-10-02 15:27:43.708791970 -0500
+@@ -598,7 +598,7 @@
+ != RM_OK))
+ return status;
+
+- mtx_init(&mtx->mutex_mtx, "rm.mutex_mtx", NULL, MTX_SPIN | MTX_RECURSE);
++ mtx_init(&mtx->mutex_mtx, "rm.mutex_mtx", NULL, MTX_DEF | MTX_RECURSE);
+ cv_init(&mtx->mutex_wait, "rm.mutex_wait");
+
+ mtx->refcnt = 1;
+@@ -624,13 +624,13 @@
+ {
+ struct os_mutex *mtx = semaphore;
+
+- mtx_lock_spin(&mtx->mutex_mtx);
++ mtx_lock(&mtx->mutex_mtx);
+ if (mtx->refcnt > 0)
+ rm_disable_interrupts(NULL);
+ mtx->refcnt--;
+ if (mtx->refcnt < 0)
+ cv_wait(&mtx->mutex_wait, &mtx->mutex_mtx);
+- mtx_unlock_spin(&mtx->mutex_mtx);
++ mtx_unlock(&mtx->mutex_mtx);
+
+ return RM_OK;
+ }
+@@ -639,14 +639,14 @@
+ {
+ struct os_mutex *mtx = semaphore;
+
+- mtx_lock_spin(&mtx->mutex_mtx);
++ mtx_lock(&mtx->mutex_mtx);
+ if (mtx->refcnt < 1) {
+- mtx_unlock_spin(&mtx->mutex_mtx);
++ mtx_unlock(&mtx->mutex_mtx);
+ return FALSE;
+ } else {
+ rm_disable_interrupts(NULL);
+ mtx->refcnt--;
+- mtx_unlock_spin(&mtx->mutex_mtx);
++ mtx_unlock(&mtx->mutex_mtx);
+ }
+
+ return TRUE;
+@@ -656,13 +656,13 @@
+ {
+ struct os_mutex *mtx = semaphore;
+
+- mtx_lock_spin(&mtx->mutex_mtx);
++ mtx_lock(&mtx->mutex_mtx);
+ if (mtx->refcnt < 0)
+ cv_signal(&mtx->mutex_wait);
+ if (!mtx->refcnt)
+ rm_enable_interrupts(NULL);
+ mtx->refcnt++;
+- mtx_unlock_spin(&mtx->mutex_mtx);
++ mtx_unlock(&mtx->mutex_mtx);
+
+ return RM_OK;
+ }
+
Код: Выделить всё
mplayer -vo gl2 movie.avi
Код: Выделить всё
FreeBSD xxxxxxxxxxxx 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #0: Wed Jan 16 13:47:39 YEKT 2008 root@xxxxxxxxxxxxxxxxxxxxxx:/usr/obj/usr/src/sys/smp-kernel i386
xorg 7.3
nvidia-driver-100.14.19