ubuntu 1060驱动(Ubuntu显卡驱动)
Ubuntu 12.04 下安装 openGL 驱动时,究竟做了什么事
Ubuntu下安装 openGL驱动的确把我折腾惨了
本人机器是 HP的使用 i5的集成显卡
下载了 intel的 installer(intel-linux-graphics-installer_1.0.1_amd64.deb),他们不支持Ubuntu 12.04,只支持 13.x
找了个 ATI x1300的老显卡,官方的驱动(ati-driver-installer-9-3-x86.x86_64.run)只支持了 Ubuntu 8.x 9.x(让我深感,计算机真是消费品,过时了就用不起来了)
只好买了一个 Nvidia GT610显卡,下载官方的 NVIDIA-Linux-x86_64-331.49.run,顺利装上了
这驱动做了如下的事情:
1)把驱动装到 Kernel中(我升级了 Kernel,又了重装驱动)
2)把/usr/lib/libGL.so替换为 Nvidia的(用 ldd看就知道了),当然要把nvidia自己的 so也copy到,这几个目录
[html] view plaincopy在CODE上查看代码片派生到我的代码片
ldd/usr/lib/libGL.so
linux-vdso.so.1=>(0x00007fffe91ff000)
libnvidia-tls.so.331.49=>/usr/lib/tls/libnvidia-tls.so.331.49(0x00007fa1a58c0000)
libnvidia-glcore.so.331.49=>/usr/lib/libnvidia-glcore.so.331.49(0x00007fa1a30b1000)
libX11.so.6=>/usr/lib/x86_64-linux-gnu/libX11.so.6(0x00007fa1a2d7b000)
libXext.so.6=>/usr/lib/x86_64-linux-gnu/libXext.so.6(0x00007fa1a2b6a000)
libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fa1a27aa000)
libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fa1a25a5000)
libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fa1a22a9000)
libxcb.so.1=>/usr/lib/x86_64-linux-gnu/libxcb.so.1(0x00007fa1a208b000)
/lib64/ld-linux-x86-64.so.2(0x00007fa1a5e15000)
libXau.so.6=>/usr/lib/x86_64-linux-gnu/libXau.so.6(0x00007fa1a1e87000)
libXdmcp.so.6=>/usr/lib/x86_64-linux-gnu/libXdmcp.so.6(0x00007fa1a1c81000)
对于 i386的支持库,放在/usr/lib32中
[html] view plaincopy在CODE上查看代码片派生到我的代码片
ldd/usr/lib32/libGL.so
linux-gate.so.1=>(0xf7718000)
libnvidia-tls.so.331.49=>/usr/lib32/tls/libnvidia-tls.so.331.49(0xf75f1000)
libnvidia-glcore.so.331.49=>/usr/lib32/libnvidia-glcore.so.331.49(0xf53ac000)
libX11.so.6=>/usr/lib/i386-linux-gnu/libX11.so.6(0xf5277000)
libXext.so.6=>/usr/lib/i386-linux-gnu/libXext.so.6(0xf5265000)
libc.so.6=>/lib/i386-linux-gnu/libc.so.6(0xf50bb000)
libdl.so.2=>/lib/i386-linux-gnu/libdl.so.2(0xf50b6000)
libm.so.6=>/lib/i386-linux-gnu/libm.so.6(0xf508a000)
libxcb.so.1=>/usr/lib/i386-linux-gnu/libxcb.so.1(0xf5068000)
/lib/ld-linux.so.2(0xf7719000)
libXau.so.6=>/usr/lib/i386-linux-gnu/libXau.so.6(0xf5064000)
libXdmcp.so.6=>/usr/lib/i386-linux-gnu/libXdmcp.so.6(0xf505d000)
开发 Android时使用, Android使用 i386是从/usr/lib/i386-linux-gnu装载
所以要把 lib32中所有文件复制到/usr/lib/i386-linux-gnu
3) Xorg相关
Xorg是开源的 Xserver实现
nvidia要与Xorg集成的库,放在usr/lib/xorg/modules下面,并改下/etc/X11下面的东西
xorg.conf
让 Xorg加载 so
[html] view plaincopy在CODE上查看代码片派生到我的代码片
Section"Module"
Load"record"
Load"extmod"
Load"dbe"
Load"dri2"
Load"glx"
EndSection
装载/usr/lib/xorg/modules/extensions/下面的 libglx.so, libdri2.so等
让 Xorg加载 nvida驱动
[html] view plaincopy在CODE上查看代码片派生到我的代码片
Section"Device"
Identifier"Card0"
Driver"nvidia"
BusID"PCI:1:0:0"
EndSection
附带转帖
Ubuntu通过重新生成/etc/X11/xorg.conf文件来调整分辨率
1. Ctrl+Alt+F1, sudo service gdm stop
2. sudo Xorg-configure(生成文件~/xorg.conf.new)
3. sudo service gdm start
4. mv~/xorg.conf.new/etc/X11/xorg.conf
5. gtf 1280 1024 60-x
6.然后将上一步中gtf命令生成的内容:
Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync
插入到/etc/X11/xorg.conf中:
Section"Monitor"
Identifier"Monitor0"
VendorName"Monitor Vendor"
ModelName"Monitor Model"
Modeline"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060-HSync+Vsync
EndSection
重新启动X。搞定。
如果不想生成xorg.conf文件,并且只想临时的调整分辨率,那么可以按照如下方法实现:
cvt 1280 1024
sudo xrandr--newmode"1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063-hsync+vsync
sudo xrandr--addmode VGA1"1280x1024_60.00"
sudo xrandr--output VGA1--mode"1280x1024_60.00"
就可以临时的调整分辨率到1280x1024.
NVIDIA驱动安装 - 从问题到解决(Linux/Ubuntu)
驱动程序是硬件厂商为操作系统编写的配置文件,是硬件正常工作不可或缺的一部分。在Linux/Ubuntu系统中,没有NVIDIA驱动,我们将无法使用英伟达的GPU进行深度学习等计算任务。
以下是一个NVIDIA驱动安装的详细过程,我们从一台刚重装好的电脑开始。
首先,下载适合你电脑的NVIDIA驱动。以小米游戏本GTX 1060为例,驱动下载完成后,打开终端,执行以下代码:
安装过程中可能会出现报错信息,我们逐一解决。
第一个错误:Nouveau驱动。这是一个开源3D驱动,虽然与NVIDIA官方驱动相比有一定差距,但能让Linux系统更好地应对NVIDIA显卡环境。为了安装NVIDIA驱动,我们需要禁用Nouveau驱动。在命令模式下,输入特定语句并保存退出,重启电脑后再次安装。
第二个错误:gcc。gcc是Unix的c语言编译器,也是GNU编译器套装的缩写。在Linux下,cc实际上是gcc的快捷方式。我们需要安装gcc套件,并查看版本,然后再次安装。
第三个错误:make。make是一个根据指定规则进行构建的工具,我们同样需要安装它并查看版本,然后再次安装。
第四个警告:gcc版本不匹配。英伟达驱动使用的gcc版本与机器上的版本不同。如果遇到这个问题,可以参考相关文章手动安装gcc版本,或者直接忽略。
第五个选择:NVIDIA32位兼容库。可能会报错没有32位兼容库,建议安装32位兼容库,选择yes。
第六个选择:libglvnd。这是一个与供应商无关的调度层,用于仲裁多个供应商之间的OpenGL API调用。选择Install and overwrite。
第七个选择:X server。X server是一个查看GPU状态的软件,建议安装,选择yes。
第八个错误:请退出X server。安装完成后,使用特定命令查看GPU状态。
恭喜你完成NVIDIA驱动的安装!如果需要安装CUDA,可以参考相关文章。
Ubuntu 16.04如何切换Intel集显与Nvidia独显
Ubuntu 16.04默认使用的是集显,而且对Nvidia的支持存在巨大的问题。我使用的笔记本是Alienware 13 R3触摸屏,显卡是GTX 1060,在安装Nvidia GPU支持的过程中碰到了诸多麻烦,包括:1.不支持外接显示器;2.安装驱动后黑屏或者花屏;3.甚至安装驱动后无法进入Ubuntu系统。以下是我解决方法,欢迎大家补充指正。
打开终端,输入:
在我的笔记本上显示如下图,如果你的也是类似情形,请继续阅读。
打开system settings-> details,可以查看现在正在使用的显卡。如图,我现在已经在使用Nvidia显卡。
先添加NVIDIA的ppa源:
打开system settings-> Softwares& Updates-> Additional Drivers,或者在中终端输入:
以上是可以使用的驱动,默认会使用Nouveau。
可以打开终端,查看为你的显卡推荐使用的驱动,输入如下:
这里给我推荐使用的是nvidia-387,要安装可以在终端输入:
安装完成之后,打开Software& Updates,可以看到新安装的显卡驱动已经在使用。
在终端输入
打开Nvidia X Server Settings,选择PRIME Profile,在此可以自由切换集显和独显。如果没有PRIME Profiles,先reboot。
在安装好了Nvidia驱动之后,重启之后可能花屏或者黑屏,出现这个问题的原因是在UEFI的Secure Boot模式下,Ubuntu 16.04会阻止第三方内核模块的载入,包括Nvidia驱动;BIOS下则不会遇到这个问题。
1.如何卸载Nvidia驱动
如不愿意关闭Secure Boot,则在花屏状况下,ctrl+alt+F1关闭Ubuntu GUI界面,进入Virtual Terminal卸载Nvidia驱动,输入:
2.关闭Secure Boot
按照上述方式进入VT,reboot重启。在开机阶段进入Boot Setup,UEFI下的Secure Boot选择“Disable”。
参考资料:
【1】
【2】