請問 nvidia 5336 的dirver

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

請問 nvidia 5336 的dirver

文章訪客 » 週六 2月 28, 2004 10:53 am

請問大家,我之前裝nvidia 官方的 driver (記得是 4xxx 版)
時都沒有問題...
最近重灌,我去nvidia 放出 5336 的driver
每次裝都會出現 can not find nvidia kernel module name ....
像kernel-headers 或nvidia-kernel-source , nvidia-kernel-common, nvidia-glx, nvidia-glx-dev...wget,gcc,make這些我都有裝
/urs/src/linux 也存在...
簡單的說就是以前裝4xxx 版時很順利沒問題...
現在裝5336 就裝不起來...
請問有人知道為什麼嗎?還是我少裝了什麼?
ps debian 3.0r2 testing
謝謝 :)
訪客
 

re:請問 nvidia 5336 的dirver

文章Tetralet » 週六 2月 28, 2004 11:49 am

請試試以下的 Script,應該是可以用的:
代碼: 選擇全部
#!/bin/bash

# 參數設定...

# 指定所下載的 Debian Package 版本
DEBPackageVer="unstable"

# 設定原始碼的存放位置,要依 Debian Package 內容而改變!
Source='/usr/src'

# 指定 nVIDIA 的 Driver 原始檔案名稱,要依 Debian Package 內容而改變!
nVidiaSource='nvidia-kernel-source.tar.gz'

# 設定在編譯時所使用的暫存位置
Temporary='/tmp'


# 設定編譯的變數
# 注意:以下的變數應該是沒有問題,但是最好再確實檢查一下!
KernelVersion=$(uname -r)

# 指定 Kernel Headers 的位置
if [ -d /usr/src/kernel-headers-"$KernelVersion" -o -f /usr/src/kernel-headers-"$KernelVersion" ]; then
        export KSRC=/usr/src/kernel-headers-"$KernelVersion"
else   
        echo "Sorry, Can NOT Find Kernel Headers in [ /usr/src/kernel-headers-"$KernelVersion" ]..."
        Pause
        exit 1
fi
       
# 指定所要安裝的 Kernel Modules 的位置
export KVERS="$KernelVersion"
       
# 注意:在這裡不檢查 GCC 的版本,但是最好再親自確認一下!
export IGNORE_CC_MISMATCH=yes


# Pause 指令...
Pause()
{
   echo ""
   echo "Press <Enter> To Continue, Or <Ctrl><C> To Interrupt..."
   read EnterKey
}


# 下載 nVIDIA 的 Driver 的原始檔
apt-get -t "$DEBPackageVer" install nvidia-kernel-source
apt-get -t "$DEBPackageVer" install nvidia-kernel-common
Pause

# 檢查檔案是否存在?
if [ ! -f "$Source"/"$nVidiaSource" ]; then
        # 檔案檢查有誤...
        echo "Sorry, Can NOT Find SourceFile [ "$Source"/"$nVidiaSource" ]..."
        Pause
        exit 1
fi

# 解開檔案
tar -xvzf "$Source"/"$nVidiaSource" -C $Temporary
cd "$Temporary"/modules/nvidia-kernel/

# 編譯 nVidia Video Card Driver 的 DEB Package
debian/rules binary_modules | tee "$Temporary"/modules/CompileMsg
echo "nVidia Video Card DEB Package Compilation is Finished..."
Pause
   
# 找出剛剛所編譯出來的 deb 檔案名稱...
DEBFile=$( grep dpkg-deb "$Temporary"/modules/CompileMsg | tr -s "'" '\n' | tr -s '`' '\n' | grep "\.deb" )
echo "nVidia Video Card DEB Package is [ $DEBFile ]..."
Pause

if [ ! -f "$DEBFile" ];then
        echo "Sorry, Can NOT Find nVidia Video Card DEB Package in [ "$DEBFile" ]..."
        Pause   
        exit 1
fi

# 安裝剛才所編譯的 nVidia Video Card Driver Package
dpkg -i "$DEBFile"
# 同時也把 nvidia-glx 套件安裝進來!
apt-get  -t "$DEBPackageVer" install nvidia-glx
Pause

# 將編譯時的暫存檔案清掉!
rm -R "$Temporary"/modules/

echo "The Installation of nVidia Video Card Driver was Successful Finished."


對了,在開機時記得要載入 nvidia 模組呦~~
這個動作就沒有蛇足,寫入上面那個 Script 裡了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:請問 nvidia 5336 的dirver

文章訪客 » 週六 2月 28, 2004 6:47 pm

成功了,謝謝您 :)
訪客
 

re:請問 nvidia 5336 的dirver

文章cweijen » 週五 3月 12, 2004 10:38 pm

請問阿信大大...用這個script需要先將kernel升級嗎...
我是2.2.20的也有無法進去X的問題...
----------------------------------------
提倡RSS....期盼RSS世界.......
http://zonble.twbbs.org/archives/2003_11/000966.php
頭像
cweijen
可愛的小學生
可愛的小學生
 
文章: 87
註冊時間: 週一 12月 22, 2003 5:04 pm

re:請問 nvidia 5336 的dirver

文章阿信 » 週六 3月 20, 2004 6:48 pm

cweijen 寫:請問阿信大大...用這個script需要先將kernel升級嗎...
我是2.2.20的也有無法進去X的問題...


err...應該是問錯人了... :-)

cweijen兄,小弟編譯nvidia的方式很簡單。

將 debian 所包裝的 nvidia-kernel-source解開之後,在 source root 執行
代碼: 選擇全部
export KDIR=/usr/src/your-kernel-headers;export KDREV=`uname -r`; export KVERS=`uname -r`
debian/rules kdist_image


跳到上一層目錄,就能找到 nvidia 的 deb,至於 Tetralet 兄的方式小弟沒試過呢,但任何的 kernel module 都可以依照小弟的方式建立。
[/quote]
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:請問 nvidia 5336 的dirver

文章cweijen » 週六 3月 20, 2004 11:35 pm

還是不行....解開後出現modules/ 我一直切換到/usr/src/modules/nvidia-kernel
在來執行你的指令...最先他說沒找到 GCC我就去按裝...這裡有點其怪...之前我有按裝....怎麼會沒裝...
之後就出現這些訊息....
/usr/bin/make -f debian/rules binary_modules
make[1]: Entering directory `/usr/src/modules/nvidia-kernel'
if [ -f /usr/src/modules/nvidia-kernel/debian/control.template ]; then \
cp /usr/src/modules/nvidia-kernel/debian/control.template /usr/src/modules/nvidia-kernel/debian/control; \
fi
dh_testdir
dh_testroot
# select which makefile to use.
echo 2
2
rm -f /usr/src/modules/nvidia-kernel/nv/Makefile || true
if [ 4 = 6 ]; then \
cd /usr/src/modules/nvidia-kernel/nv ; \
ln -s Makefile.kbuild Makefile ; \
cd .. ; \
else \
cd /usr/src/modules/nvidia-kernel/nv ; \
ln -s Makefile.nvidia Makefile ; \
cd .. ; \
fi
touch configure-stamp
dh_testdir
touch configure-stamp
dh_testdir
dh_testroot
PATCHLEVEL = 4
Kernel compiler version : 2.95.4
Detected compiler version : 3.3.3

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly alright and you
may be building this module for another kernel in which case
you may ignore this message.

The compiler that will be used to compile this module has been
determined from:
1) the CC environment variable
2) that specified in
/include/linux/compile.h
3) gcc
Using compiler gcc version 3.3.3
touch /usr/src/modules/nvidia-kernel/nv/gcc-check
touch /usr/src/modules/nvidia-kernel/nv/cc-sanity-check
## Main Make ##

touch /usr/src/modules/nvidia-kernel/nv/cc-sanity-check
## Main Make ##
IGNORE_CC_MISMATCH=1 CC="gcc" /usr/bin/make -C /usr/src/modules/nvidia-kernel/nv -f Makefile SYSSRC= KBUILD_PARAMS="-C SUBDIRS=/usr/src/modules/nvidia-kernel/nv" module;
make[2]: Entering directory `/usr/src/modules/nvidia-kernel/nv'
gcc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -O -MD -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=5336 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -I. -I/usr/src/linux/include -Wno-cast-qual -Wno-error nv.c
make[2]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
make[1]: Leaving directory `/usr/src/modules/nvidia-kernel'

----------------------------------------
提倡RSS....期盼RSS世界.......
http://zonble.twbbs.org/archives/2003_11/000966.php
頭像
cweijen
可愛的小學生
可愛的小學生
 
文章: 87
註冊時間: 週一 12月 22, 2003 5:04 pm

re:請問 nvidia 5336 的dirver

文章Tetralet » 週日 3月 21, 2004 1:34 am

cweijen 寫:還是不行....解開後出現modules/ 我一直切換到/usr/src/modules/nvidia-kernel
在來執行你的指令...最先他說沒找到 GCC我就去按裝...這裡有點其怪...之前我有按裝....怎麼會沒裝...
之後就出現這些訊息....
代碼: 選擇全部
Kernel compiler version : 2.95.4
Detected compiler version : 3.3.3


因為系統現行的 GCC 版本和在現行 Kernel 在編譯時所使用的 GCC 版本不同,
所以才會無法編譯成功。

而現在 testing 裡的 Kernel 用的應該是 3.3.3 版,
但是在 stable 裡的 Kernel 用的還是停留在 2.95.4 版。


建議把 GCC 換回 2.95.4 版試試看!
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:請問 nvidia 5336 的dirver

文章cweijen » 週日 3月 21, 2004 1:36 pm

如果Gcc的本版與kernel的本版不同那會編譯成功嗎....因為我以編譯成功了...但還是進不去....
----------------------------------------
提倡RSS....期盼RSS世界.......
http://zonble.twbbs.org/archives/2003_11/000966.php
頭像
cweijen
可愛的小學生
可愛的小學生
 
文章: 87
註冊時間: 週一 12月 22, 2003 5:04 pm

re:請問 nvidia 5336 的dirver

文章Tetralet » 週日 3月 21, 2004 2:22 pm

cweijen 寫:如果Gcc的本版與kernel的本版不同那會編譯成功嗎....因為我以編譯成功了...但還是進不去....


是可以編譯成功的,
但就如您所見:往往是無法使用。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:請問 nvidia 5336 的dirver

文章阿信 » 週一 3月 22, 2004 7:26 pm

cweijen 寫:如果Gcc的本版與kernel的本版不同那會編譯成功嗎....因為我以編譯成功了...但還是進不去....


如果程式都是 pure C 而言,那麼gcc-2.95 與 3.3 版理論上都能compile 成功。但也有可能出trouble。

cweijen兄的情形是kernel版本 2.95 與 3.3 由於版本差異過大,建議還是用 2.95摟
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客