You are not logged in.

#1 2011-03-31 16:15:40

jsadural
Member
Registered: 2010-08-27
Posts: 19

Unable to get nvidia drivers to work for kernel26rt

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

#2 2011-04-01 01:11:21

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: Unable to get nvidia drivers to work for kernel26rt

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

#3 2011-04-01 02:12:43

jsadural
Member
Registered: 2010-08-27
Posts: 19

Re: Unable to get nvidia drivers to work for kernel26rt

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

#4 2011-04-01 03:05:37

the sad clown
Member
From: 192.168.0.X
Registered: 2011-03-20
Posts: 837

Re: Unable to get nvidia drivers to work for kernel26rt

nvm

Last edited by the sad clown (2011-04-01 03:11:51)


I laugh, yet the joke is on me

Offline

#5 2011-04-01 04:52:51

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: Unable to get nvidia drivers to work for kernel26rt

jsadural wrote:

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

#6 2011-04-01 22:23:20

jsadural
Member
Registered: 2010-08-27
Posts: 19

Re: Unable to get nvidia drivers to work for kernel26rt

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

#7 2011-04-02 01:04:16

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: Unable to get nvidia drivers to work for kernel26rt

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

Board footer

Powered by FluxBB