LINUX.ORG.RU

nVidia 96.31 + Kernel 2.6.23 ?


0

0

Где найти патч для 96.31 ? Для 97.хх и 100.хх я находил, и пытался ручками в 96.31 всунуть. Но несобирается всеравно. 96.31 нужно для МХ440 (((

Кто что может посоветовать....

ПС: а раньше я так любил nvidia......

Ответ на: комментарий от Reset

ЦЫФЕРКА оно конешно хорошо , НОО kvm из каропки да cfs лучше ;)

SilentLexx
() автор топика

96.39 собирай.
Для того, чтобы собралось, надо применить следующий патч:
-----------------------
--- usr/src/nv/nv-linux.h
+++ usr/src/nv/nv-linux.h
@@ -524,12 +524,12 @@
     {                                                \
         free_pages(ptr, order);                      \
     }
-
+// only 5 args in kernel 2.6.23
 #define NV_KMEM_CACHE_CREATE(kmem_cache, name, type)            \
     {                                                           \
         kmem_cache = kmem_cache_create(name, sizeof(type),      \
-                        0, 0, NULL, NULL);                      \
-    } 
+                        0, 0, NULL);                            \
+    }
 
 #define NV_KMEM_CACHE_DESTROY(kmem_cache)                       \
     {                                                           \

--- usr/src/nv/nv.c
+++ usr/src/nv/nv.c
@@ -107,7 +107,7 @@
 
 static int nv_mmconfig_failure_detected = 0;
 
-static kmem_cache_t *nv_pte_t_cache = NULL;
+static struct kmem_cache *nv_pte_t_cache = NULL;	//	kernel 2.6.23
 
 // allow an easy way to convert all debug printfs related to events
 // back and forth between 'info' and 'errors'
@@ -1551,8 +1551,7 @@
         if (apm_nv_dev[i] != NULL) pm_unregister(apm_nv_dev[i]);
 #endif
 
-    if (unregister_chrdev(nv_major, "nvidia") < 0)
-        nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
+    unregister_chrdev(nv_major, "nvidia") ; // kernel 2.6.23 -- this now returns void (don't ask why)
 
     for (i = 0; i < num_nv_devices; i++)
     {
@@ -1578,9 +1577,8 @@
 
     nv_printf(NV_DBG_INFO, "NVRM: nvidia_exit_module\n");
 
-    if (unregister_chrdev(nv_major, "nvidia") < 0)
-        nv_printf(NV_DBG_ERRORS, "NVRM: unregister nv chrdev failed\n");
-
+//		2.6.23 -- unregister_chrdev now returns void.  Don't ask why.
+    unregister_chrdev(nv_major, "nvidia") ;
     for (i = 0; i < num_nv_devices; i++)
     {
         struct pci_dev *dev;
-------------------
А для того, чтобы работало хорошо - поищи и примени 3 патча из генты с названиями:
NVIDIA_glx-defines.patch, NVIDIA_glx-glheader.patch и NVIDIA_i2c-hwmon.patch

Deleted
()
8 декабря 2007 г.
Ответ на: комментарий от Deleted

Dimez, а можно ссылку на ресурс где вы это раскопали? на будущее...

mannequin
()
Ответ на: комментарий от mannequin

понял. Распакуйте модуль: "NVIDIA-Linux-x86-1.0-9639-pkg1.run -x" и вперёд, патч нужно применять к нему :)

mannequin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.