Nvidia drivers do not work under the realtime kernel

Opensuse 11 x64

If I install the NVIDIA drivers via the 1-click method:

NVIDIA - openSUSE

All works well under the default kernel, but the realtime kernel fails to boot x server.

I dug up some info here (under the ubuntu forums)

3. Run the driver script with the “-x” (extract-only) option:
sudo sh NVIDIA-Linux-x86_64-177.13-pkg2.run -x
(This is for the amd64 drivers, so make appropriate changes if needed, of course.)

4. Make the replacements mentioned in the nvidia linux forums post in nano:
sudo nano usr/src/nc/nv-linux.h
(You can use CTRL-\ for search and replace in nano.)

Replace “__SEMAPHORE_INITIALIZER” with “__COMPAT_SEMAPHORE_INITIALIZER”
Replace “struct semaphore” with “struct compat_semaphore”

5. Run the installer:
sudo ./nvidia-installer

From here on out it should work just like normal!

When I run the installer, it says something to the effect that it cannot download a kernel GUI, so it tries to build one, then it aborts. Suggestions?

do you mean it cannot download a kernel so will compile it’s own module ? if so, just let it. i always install via CLI, find it works better & you have more control. have a read of this, if you are still unsure Stuntmanandys openSUSE/SuSE forum • View topic - Installing Nvidia drivers off-line

Andy

But it fails when trying to compile its own module, thats the problem I’m having. I am also having problems compiling other programs like ndiswrapper under the realtime kernel, I’m wondering if there are dependencies I need to get to compile programs under this kernel, although, to my knowledge, there aren’t any kernel-rt headers or kernel-rt-source packages in the repository…

The same fix I mentioned for ndiswrapper
*
should also fix this problem.

[Note that I say ‘should’, since I’ve never used kernel-rt.]

And, I should point out that an examination of the ‘kmp’
packages in repos reveals that the ‘rt’ kernel is NOT supported
with all the same kernel-module-packages (i.e. ‘kmp’) that
all the other kernels have. So, clearly, the rt kernel is
a compile-your-own deal. [Not sure whether that’s an
just an oversight by Novell or not.]*

IIRC, haven’t done it in a while, you have to patch the vanilla kernel sources to get rt

Andy

RandomOSUser wrote:

>
> But it fails when trying to compile its own module, thats the problem
> I’m having. I am also having problems compiling other programs like
> ndiswrapper under the realtime kernel, I’m wondering if there are
> dependencies I need to get to compile programs under this kernel,
> although, to my knowledge, there aren’t any kernel-rt headers or
> kernel-rt-source packages in the repository…
>
>

It /might/ help if you were to post the errors you receive when it fails.

If you could try again, and post the output you receive… I imagine someone
here could help you.

On a barely related note… do you have a specific reason to need the
realtime kernel? If you do, great…, but be aware that installing a
non-mainstream kernel, will cause MANY things to fail to install if they
involve the kernel. Video drivers, specialized sound drivers, some network
drivers… I imagine the list goes on…

I mention this with the best of intentions… if you don’t really need the
rt-kernel feature… stay with the -default (or -pae, depending on your
needs) kernels.

From my experience, you almost never need the rt-kernel features, unless you
happen to be doing some sort of microsecond data collection which cannot
buffer or collect without constant kernel attention. And even then,
judicious choices in hardware and software can help there too.

Not discouraging you… hopefully helping.

Loni


L R Nix
lornix@lornix.com

I need it for low-latency audio production. I have my audio set up, I just need to work out the kinks with the nvidia display driver and ndiswrapper.

Cookdav, I don’t see “Patterns” anywhere in YaST.

RandomOSUser wrote:

>
> I need it for low-latency audio production. I have my audio set up, I
> just need to work out the kinks with the nvidia display driver and
> ndiswrapper.
>
> Cookdav, I don’t see “Patterns” anywhere in YaST.
>
>

It’s under ‘Filter’, in the Software Management thingy (hehe! thingy!)

Loni


L R Nix
lornix@lornix.com

do you mean these packages?
http://img223.imageshack.us/img223/7936/packagekb2.png
and the error I get from the NVIDIA installation is this:

ERROR: The kernel header file ‘/lib/modules/2.6.25.11-0.1-rt/build/include/linux/version.h’ does not exist. The most likely reason for this is that the kernel source files in ‘/lib/modules/2.6.25.11-0.1-rt/build’ have not been configured.

RandomOSUser wrote:

>
> do you mean these packages?
> [image: http://img223.imageshack.us/img223/7936/packagekb2.png]
> and the error I get from the NVIDIA installation is this:
>
>> ERROR: The kernel header file
>> ‘/lib/modules/2.6.25.11-0.1-rt/build/include/linux/version.h’ does not
>> exist. The most likely reason for this is that the kernel source files
>> in ‘/lib/modules/2.6.25.11-0.1-rt/build’ have not been configured.
>
>

Not sure, didn’t see anything related in the photo.

Try installing ‘kernel-source’ through yast. Actually, if you search
for ‘kernel’ in yast, then ‘kernel-source’ is immediately
following ‘kernel-rt’ and ‘kernel-rt_debug’. Nice!

or

zypper install kernel-source


L R Nix
lornix@lornix.com

I’ve had kernel-source installed the entire time, so that’s not it.

To open up the Patterns menu, click the “Groups” dropdown menu.

Select “Patterns” from that list.

Select “Base Development” from the “Development” heading.

Click “Install All” as you select the pattern, and when you are finished: click “Apply.”

That will install the packages for basic development.

Hope that helps. :slight_smile:

y’all have some different Opensuse version than me?

I’m using OS 11 x64 in the Gnome environment. The Groups menu in YaST is not a drop-down menu, and it doesn’t contain patterns.
http://img223.imageshack.us/img223/7936/packagekb2.png

Ok, I found all the base development packages, but that didn’t help at all. Still get the same kernel error.

Hi
Do you have a softlink in /usr/src called linux linking to a directory
for example called /usr/src/linux-2.6.25.11-0.1? If not then you do not
have the kernel-source installed.


sudo zypper in kernel-source


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.11-0.1-default
up 0:13, 1 user, load average: 0.10, 0.30, 0.30
GPU GeForce 6600 TE/6200 TE - Driver Version: 173.14.12

yes that is already there, I’ve had the kernel source installed the whole time.

Erm, maybe I don’t know what I’m talking about here, but isn’t the realtime kernel specifically for network servers?

I thought it was designed for running network devices in realtime, and not really meant for anything else.

Apologies for being away for a while on this, recreated your system here, and
made it work… :slight_smile: Here’s how!

you’ve got everything installed you need. I too could not compile/install
ndiswrapper nor the nvidia drivers. Am currently running with the -rt kernel,
ndiswrapper installed, and nvidia 173.08 drivers compiled and installed.
They were the ones I had on the system, there are probably newer ones, but
they’ll work too.

Seems you have to compile and install the kernel to get the links correct.

make cloneconfig
make
make modules_install
make install

At which point, I could then compile and install ndiswrapper, and the nvidia
installer worked perfectly too.

Well, the order probably works best as:

make cloneconfig
make
make modules_install
make install
<reboot>
cd ndiswrapper…
make
make install
cd <where nvidia installer saved>
sh NVIDIA-…sh
<follow the prompts>

Is working quite well now, I’ll probably leave it… {shrug}… it’s working
right?!?

remember, the ‘make’ step takes a while… although <warning: old-timer
story…> when I started playing with linux, it literally took OVERNIGHT to
compile the kernel… start the compile, go to sleep, go to work, come home,
install, reboot… cry because it crashed. {sigh} The memories! {Grin}

Hope this helps.

Loni


L R Nix
lornix@lornix.com

I’m not at my main cpu, but that did the trick on my laptop for the ndiswrapper, awesome!

It did take nearly 2 hours on the make command, hehe >:)

could you explain what is this was doing? Am I basically recompiling the realtime kernel and the modules? Shouldn’t this have been done before packaging up for delivery through Yast?

Anywho, thanks a bunch rotfl!

On Thu, 14 Aug 2008 22:56:03 GMT
RandomOSUser <RandomOSUser@no-mx.forums.opensuse.org> wrote:

>
> I’m not at my main cpu, but that did the trick on my laptop for the
> ndiswrapper, awesome!
>
> It did take nearly 2 hours on the make command, hehe >:)
>
> could you explain what is this was doing? Am I basically recompiling
> the realtime kernel and the modules? Shouldn’t this have been done
> before packaging up for delivery through Yast?
>
> Anywho, thanks a bunch rotfl!
>
>

You got it… you completely rebuilt the kernel and all the included
modules. Since you used the ‘make cloneconfig’ command, it was compiled
with the exact same settings as the currently running kernel… nothing
changed. But the install script fixed the symlinks in /lib/modules/… which
were giving you so much grief.

I did try to find a particular command which would fix “just those links”,
but sleep, pressing needs and a non-maskable interrupt from my kitten buddy
came into play. (Have you ever tried to ignore a kitten?!?)

You should be able to compile/install the NVidia drivers now too… worked
for me here (hate that phrase! The bane of troubleshooting, which is why I
reconfigured one of my machines to match your setup (rt kernel) and worked
through the issues to get a solution)

Congrats.

Loni

(and have since reconfigured it back to my preferences… doesn’t take long
once you know what you’re doing. :slight_smile: )


L R Nix
lornix@lornix.com