周末忙里偷闲,把手头的一台半残本本(毁容了的)灌了个Ubuntu。
第一遍装NVIDIA CUDA的时候失败了,蛮受打击的。
接一遍参考了网上的一些指引,全新安装并且更新完系统后第一件事就把CUDA给装上。
废话少说直入正题。
第一步:安装gcc-4.3,g++-4.3。网上说这是因为CUDA支持的gcc版本有限制。
命令行:sudo apt-get install gcc-4.3 g++-4.3
第二步:下载好NVIDIA最新的驱动。我需要跑BOINC科学运算,所以
下载:
Developer Drivers for Linux :devdriver_3.1_linux_64_256.40.run
和
CUDA Toolkit for Ubuntu Linux :cudatoolkit_3.1_linux_64_ubuntu9.10.run
第三步:
命令行:sudo apt-get purge nvidia-*
第四步:编辑这个文件。nano是一个命令行里的编辑器,像我不习惯,我把nano改成gedit窗口编辑器。
命令行:sudo nano /etc/modprobe.d/nvidia-graphics-drivers.conf
加入如下文字:
blacklist vga16fb
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidiafb
加入至此。
第五步:编辑/etc/X11/xorg.conf
命令行:sudo nano /etc/X11/xorg.conf
加入如下文字:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
加入至此。
第六步:编辑/etc/modprobe.d/blacklist.conf
命令行:sudo nano /etc/modprobe.d/blacklist.conf
加入如下文字:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
加入至此。
第七步:编辑/etc/modprobe.d/blacklist-framebuffer.conf
命令行:sudo nano /etc/modprobe.d/blacklist-framebuffer.conf
在blacklist vesafb前加“#”号把它注释掉。
加入如下文字:
blacklist vgafb16
加入至此。
第八步:编辑/etc/initramfs-tools/modules
命令行:sudo nano /etc/initramfs-tools/modules
加入如下文字:
fbcon
vesafb
加入至此。
第九步:编辑/etc/default/grub
命令行:sudo nano /etc/default/grub
操作:search for 'GRUB_CMDLINE_LINUX=' and ADD (dont delete) vga=771 or 795 (according to your resolution)
到这时候,我把那位老兄每次重启后的失败修正都提前做好了,开始真正执行一些命令。
第十步:执行以下命令行:
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove xserver-xorg-video-nouveau
sudo update-initramfs -u
sudo update-grub
这样,我舒舒服服地在窗口界面下把所有需要修改的东西都改好了。
第十一步,重启。
第十二步:
命令行:sudo gdm-stop
我的第十二步:
事实上我重启后系统提醒我是不是要跑low graphic mode,我选择了termx直接进入命令行。
接着开始装驱动了(
sudo sh devdriver_3.1_linux_64_256.40.run
sudo sh cudatoolkit_3.1_linux_64_Ubuntu9.10.run
),一切顺利,所有问题都选了“是”或回车。
图片上传到红联Linux系统教程频道中。
p.s. for 8600M GT, BOINC users:
NVIDIA GeForce 8600M GT 在linux下只有DNETC.net可以跑CUDA GPU程序。
cc没linux程序,mw要双精度,GPUGRID会出错,SETI最近没包。