|
|
#1 | |
|
Registered User
Join Date: Aug 2003
Posts: 6
|
Hi all:
Today I upgraded my kernel (SuSE 8.2) and made the mistake of reinstall nvidia drivers. The installer said there was no matching precompiled module matching my kernel and it was going to compile one for my kernel. I said: "Ok no problem with that", so I let the installer to compile the kernel module. Big mistake! After installing the new module, X aborted with the message: "unable to allocate DMA buffer". I came to this forum and tried to find a solution, but I didn't find any, so I tried to find a solution by myself. I know the module I had installed before was working fine even if it did not match my running kernel so I tried to reinstall it. I've found that using the tool mkprecompiled you can create a precompiled module that matches your running kernel. These are the steps to follow: 1) Get the nvidia drivers and unpack them. Go to the directory where the precompiled modules are located ([NVIDIA_DIR]/usr/src/nv/precompiled) 2) Find the module you know was working for you and unpack it (mkprecompiled -u <packed_module> -o <unpacked_module> 3) pack the unpacked module with new info: mkprecompiled -i <unpacked_module> -o <new_packed_module> -d "Some description" --major=major --minor=minor --patch=patch -v "your output from /proc/version" Voila!! You've got a precompiled module for your running kernel! Next step is run the nvidia-installer from [NVIDIA_DIR]. It will find a matching module for your kernel and install it. No more "unable to allocate DMA buffer" errors! Take in mind that we're are using a module that has not been compiled for your running kernel, so you can have stability problems (in my case, the system is rock solid) If you're interested, I can post a file with a more detailed description. Oscar |
|
|
|
|
|
|
#2 | |
|
Registered User
Join Date: Aug 2003
Posts: 1,026
|
Did the installer not warn you that the version of gcc installed on the system is not the same as the one used to compile the kernel?
That was what happened when I tried to install on SuSE 8.2 I think it is because the SuSE people have set the gcc version string to something long and complicated: gcc version 3.3 20030226 (prerelease) (SuSE Linux) The installer attempts to retrieve this, and the version used to compile the kernel from this: Linux version 2.4.20-4GB (root@linux) (gcc version 3.3 20030226 (prerelease) (SuSE Linux)) #1 Mon Aug 4 20:30:43 CEST 2003 Note the nested parentheses. The installer says they are different, and I can understand why. The same happened when trying to compile rivatv. Back to the problem: I started the instlaler manually (not from Yast2) and selected "expert mode" and choose to ignore the version difference. Then it compiled and worked OK. I should also mention that I installed the kernel source (and retrieved the updated version of that), and compiled the kernel myself. The fact that kernel source is installed on the machine may affect the outcome of module compilations like this. |
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: Aug 2003
Posts: 6
|
No, it didn't warn me at all. I spent all day yesterday trying to install the nvidia drivers versions 4363 and 4496. I compiled the modules a lot of times and never got a complain, but every time I tried to use the new modules, I got a DMA error when starting the X server. I finally ended installing the nvidia module version 4363 (this one doesn't display garbage when switching to a terminal from X or shutting down the computer) the way I told in my post.
Oscar |
|
|
|
|
|
#4 | |
|
Registered User
Join Date: Aug 2003
Posts: 1,026
|
What is your output from these commands:
gcc -v cat /proc/version |
|
|
|
|
|
|
#5 |
|
Registered User
Join Date: Aug 2003
Posts: 6
|
oscar@linux:~> gcc -v
Reading specs from /usr/lib/gcc-lib/i486-suse-linux/3.3/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --enable-languages=c,c++,f77,objc,java,ada --disable-checking --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i486-suse-linux Thread model: posix gcc version 3.3 20030226 (prerelease) (SuSE Linux) oscar@linux:~> oscar@linux:~> cat /proc/version Linux version 2.4.20-4GB-athlon (root@Athlon.suse.de) (gcc version 3.3 20030226 (prerelease) (SuSE Linux)) #1 Wed Aug 6 18:27:52 UTC 2003 oscar@linux:~> |
|
|
|
|
|
#6 | |
|
Registered User
Join Date: Aug 2003
Posts: 1,026
|
That seems okay. No idea what went wrong.
|
|
|
|
|
|
|
#7 |
|
Registered User
Join Date: Aug 2003
Posts: 6
|
Yeah, me neither. But at the end, I got the drivers working.
Oscar |
|
|
|
![]() |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to quickly Install NVIDIA R302.11 Drivers Under Linux Mint 13 | News | Latest Tech And Game Headlines | 0 | 06-12-12 06:40 AM |
| Radeon 9700 not all that? | sancheuz | Other Desktop Graphics Cards | 200 | 10-12-02 09:31 PM |
| Red Hat null(limbo beta 3), guide to install Nvidia Drivers | utiel | NVIDIA Linux | 21 | 09-30-02 05:32 PM |
| NVIDIA drivers won't install... | Dnzauker | NVIDIA Linux | 6 | 09-12-02 06:47 AM |
| NVIDIA 2960 Drivers & RH 7.3 W/2.4.18-5 | XASCompuGuy | NVIDIA Linux | 6 | 08-02-02 11:53 AM |