You are not logged in.
Hello,
I have tried everything to get the nvidia drivers to compile for the rt-kernel 2.6.33-rt and X.Org X Server 1.9.4.901 . I have tried the abs way and all archived drivers from nvidia with the same issue. I keep getting the same error. Here is my error and the research I have found so far.
/home/jsadural/devel/abs/nvidia/src/NVIDIA-Linux-x86_64-270.30-no-compat32/kernel/nv-linux.h:251:35: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘nv_spinlock_t’
/home/jsadural/devel/abs/nvidia/src/NVIDIA-Linux-x86_64-270.30-no-compat32/kernel/nv-linux.h:1436:5: error: expected specifier-qualifier-list before ‘nv_spinlock_t’
/home/jsadural/devel/abs/nvidia/src/NVIDIA-Linux-x86_64-270.30-no-compat32/kernel/nv.c: In function ‘nv_alloc_file_private’:
etc...
and I guess other people have the same issue here:
http://bugs.gentoo.org/show_bug.cgi?id=308945
If anyone has been able to get the drivers working or at least glx support, please tell me. This seems to be a different issue then the previous issue solved over a year ago with changing the PKGBUILD and .install kernel name to match "uname -r".
thanks,
jason
Offline
Here's my patch for nvidia-beta (from my nvidia-beta-all package in the AUR). Something similar would probably work for nvidia (or you could just use nvidia-beta and my package).
--- NVIDIA-Linux-x86_64-195.36.08-pkg0/usr/src/nv/nv-linux.h 2010-02-25 21:35:52.000000000 +0800
+++ nv-linux.h 2010-03-04 10:51:23.299732208 +0800
@@ -216,16 +216,16 @@
#endif
#if defined(CONFIG_PREEMPT_RT)
-typedef atomic_spinlock_t nv_spinlock_t;
-#define NV_SPIN_LOCK_INIT(lock) atomic_spin_lock_init(lock)
-#define NV_SPIN_LOCK_IRQ(lock) atomic_spin_lock_irq(lock)
-#define NV_SPIN_UNLOCK_IRQ(lock) atomic_spin_unlock_irq(lock)
-#define NV_SPIN_LOCK_IRQSAVE(lock,flags) atomic_spin_lock_irqsave(lock,flags)
+typedef raw_spinlock_t nv_spinlock_t;
+#define NV_SPIN_LOCK_INIT(lock) raw_spin_lock_init(lock)
+#define NV_SPIN_LOCK_IRQ(lock) raw_spin_lock_irq(lock)
+#define NV_SPIN_UNLOCK_IRQ(lock) raw_spin_unlock_irq(lock)
+#define NV_SPIN_LOCK_IRQSAVE(lock,flags) raw_spin_lock_irqsave(lock,flags)
#define NV_SPIN_UNLOCK_IRQRESTORE(lock,flags) \
- atomic_spin_unlock_irqrestore(lock,flags)
-#define NV_SPIN_LOCK(lock) atomic_spin_lock(lock)
-#define NV_SPIN_UNLOCK(lock) atomic_spin_unlock(lock)
-#define NV_SPIN_UNLOCK_WAIT(lock) atomic_spin_unlock_wait(lock)
+ raw_spin_unlock_irqrestore(lock,flags)
+#define NV_SPIN_LOCK(lock) raw_spin_lock(lock)
+#define NV_SPIN_UNLOCK(lock) raw_spin_unlock(lock)
+#define NV_SPIN_UNLOCK_WAIT(lock) raw_spin_unlock_wait(lock)
#else
typedef spinlock_t nv_spinlock_t;
#define NV_SPIN_LOCK_INIT(lock) spin_lock_init(lock)
@@ -775,7 +775,7 @@
}
#if defined(CONFIG_PREEMPT_RT)
-#define NV_INIT_MUTEX(mutex) semaphore_init(mutex)
+#define NV_INIT_MUTEX(mutex) sema_init(mutex,1)
#else
#if !defined(__SEMAPHORE_INITIALIZER) && defined(__COMPAT_SEMAPHORE_INITIALIZER)
#define __SEMAPHORE_INITIALIZER __COMPAT_SEMAPHORE_INITIALIZER
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
I'm not sure what you mean by "using" your package. I have already tried using nvidia-beta and nvidia-beta-all from AUR and I get the same error when trying to compile it. Do you mean just replacing my nv-linux.h with yours?
Offline
nvm
Last edited by the sad clown (2011-04-01 03:11:51)
I laugh, yet the joke is on me
Offline
I'm not sure what you mean by "using" your package. I have already tried using nvidia-beta and nvidia-beta-all from AUR and I get the same error when trying to compile it. Do you mean just replacing my nv-linux.h with yours?
nvidia-beta-all (not nvidia-beta) includes the functionality to optionally apply a patch for specific kernels. There's an example patch for kernel26-rt-ice. If you just copy the file to match your kernel name it may work.
Read the PKGBUILD for details on what I'm doing.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
I'm not sure exactly what I should try. The only reference to ice in the PKGBUILD is:
------------
source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/${_srcname}.run"
'2.6.33-rt-ice-nvidia-beta.patch')
-----------
is there supposed to be a 2.6.33-rt-nvidia-beta.patch that is not ice?
Offline
Lines 58-63, I even commented it for you....
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline