ubuntu Debian deepin 显卡安装和黑屏 卡死解决办法
硬件型号
命令查询,终端执行:
lspci |grep -i 'VGA' #查看默认集成显卡型号
lspci |grep -i nvidia #查看NVIDIA类型的显卡型号
sudo dmesg | grep -i 'VGA' #通过查看开机信息获取显卡信息
硬件温度
ATI显卡
需要安装闭源显卡驱动,然后终端执行:
sudo aticonfig --odgt
NVIDIA显卡
需要安装闭源显卡驱动,然后终端执行:
sudo nvidia-settings -q GPUCoreTemp -t
安装闭源驱动
注意:
1、Linux系统安装完成后,就会默认启用内核自带的开源驱动,开源驱动虽然性能不如闭源驱动,但是兼容性和稳定性较为优秀。
2、如果系统没有问题,不建议安装闭源驱动。
ATI显卡
安装
由于ATI显卡的闭源驱动更新较慢,建议安装源内的版本,不建议安装ATI官方提供的版本。
命令自动安装
安装源内版本,终端执行:
sudo apt-get install fglrx-driver #安装驱动包
卸载
命令卸载,终端执行(如果开机无法进入X,就进入TTY执行命令):
sudo apt-get purge fglrx* glx-alternative-fglrx libgl1-fglrx* #删除驱动包
NVIDIA显卡
安装
1) 命令自动安装
安装源内版本,终端执行:
sudo apt-get install nvidia-driver #安装驱动包
如果以上命令不能正常安装驱动,请终端执行:
ubuntu-drivers list #检测合适的驱动包
然后使用如下命令安装对应的驱动包,例如检测的结果为nvidia-legacy-340xx-driver
sudo apt-get install nvidia-legacy-340xx-driver #安装驱动包
2) 手动安装
注意:安装英伟达官方.run驱动很有可能出现问题,建议使用源内版本,请斟酌。
浏览器访问NVIDIA官网,下载与你硬件相符合的闭源驱动安装文件,并且把驱动安装文件放到你的家目录下(例如驱动文件为“NVIDIA-Linux-x86_64-352.55.run”)。
然后按下快捷键“Ctrl+Alt+F2”,进入tty2,然后登录系统,执行如下命令:
先停止lightdm服务
sudo systemctl stop lightdm #关闭登录管理器服务
如果安装有驱动建议先卸载掉旧版驱动
sudo apt-get remove --purge nvidia*
如果之前使用的是nouveau就禁用nouveau
echo 'blacklist nouveau'|sudo tee -a /etc/modprobe.d/nvidia-blacklists-nouveau.conf
sudo update-initramfs -u
然后安装英伟达官方驱动
chmod u+x NVIDIA-Linux-x86_64-352.55.run #赋予可执行权限
sudo ./NVIDIA-Linux-x86_64-352.55.run #安装驱动文件
安装过程中可能出现假死情况,请耐心等待。 安装完成后重启 如果没有出现图形界面请尝试
sudo systemctl start lightdm
卸载
如果为命令自动安装,终端执行如下命令可卸载:
sudo apt-get remove nvidia-driver nvidia-kernel-dkms glx-alternative-nvidia
如果为手动安装,终端执行如下命令可卸载:
sudo nvidia-uninstall
sudo nvidia-installer --uninstall
双显卡
目前显卡厂商对Linux平台支持不力,双显卡一直是Linux下难题。
但最新信息,NVIDIA开始支持Linux平台的双显卡技术!
Intel & ATI
关闭独显
方法一:
开机时,依据屏幕提示进主板设置,将独显设置为不启用。
方法二:
在linux3.06下切换显卡的模块仍然处于调试状态,首先就要加载这些模块
sudo mount -t debugfs debugfs /sys/kernel/debug
然后
sudo cat /sys/kernel/debug/vgaswitcheroo/switch
查看是否可以进行显卡切换,正常的输出类似于:
0:DIS: : Pwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
这里Off表示电源已经关闭,Pwr表示正在运转。
如果没有任何输出,那就很抱歉,这种方法不管用了,可能是linux内核过旧 切换命令
echo DDIS > sudo /sys/kernel/debug/vgaswitcheroo/switch #用来切换到独立显卡
echo DIGD > sudo /sys/kernel/debug/vgaswitcheroo/switch #用来切换到集成显卡
echo OFF > sudo /sys/kernel/debug/vgaswitcheroo/switch #这个命令是用来关闭不用的显卡电源
echo ON > sudo /sys/kernel/debug/vgaswitcheroo/switch #这个是用来重新开启关闭的显卡电源
一般情况下,如果要禁用独立显卡,我们就执行第三条命令
echo OFF > sudo /sys/kernel/debug/vgaswitcheroo/switch
可以再看一下/sys/kernel/debug/vgaswitcheroo/switch这个文件的状态
sudo cat /sys/kernel/debug/vgaswitcheroo/switch
如果输出结果是
0:DIS: :Off:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
那就表明成功了。(这里Off表示电源已经关闭,Pwr表示正在运转。)
至此大功告成,可以在rc.local里面加上( sudo gedit /etc/rc.local #编辑rc.local文件)
sudo mount -t debugfs debugfs /sys/kernel/debug
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
注意:rc.local文件中的exit 0必须在文件最后。
以后每次开机就自动关闭不用的显卡和关闭不用显卡的电源了。
方法三
获取权限;终端执行:
sudo -s
(1)切换到集成显卡;
echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
(2)关闭没有连接的显卡;
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
验证一下
cat /sys/kernel/debug/vgaswitcheroo/switch
输出:
1:IGD:+:Pwr:0000:00:02.0
0:DIS: :Off:0000:01:00.0
off表示独立显卡关闭
可以添加(1)(2)两句代码进/etc/rc.local里的exit 0之前,保存。可以在开机时自动禁用独立显卡。
Intel & NVIDIA
关闭独显
开机时,依据屏幕提示进主板设置,将独显设置为不启用。
独显切换
安装第三方的Bumblebee程序,可实现NVIDIA Optimus,终端中执行:
sudo apt-get install bumblebee-nvidia primus #安装Bumblebee-nvidia(适用于闭源驱动),其中primus可选,用于提升性能
sudo apt-get install bumblebee primus #安装Bumblebee(适用于开源驱动)
sudo update-glx --config glx #切换显卡的工作模式 选择的配置
注意 16年以后的新笔记本可能存在重新启用独显以后,造成系统冻结。
可以查看bumblebee的讨论和linux bug讨论。
解决方法是在grub中给内核添加参数来防止系统出现冻结。
acpi_osi=! acpi_osi="Windows 2009"
安装完毕后重启电脑使Bumblebee生效,但是Bumblebee并不能做到集显(Intel显卡)和独显(NVIDIA显卡)之间的自动切换。系统运行时会默认使用集成显卡(Intel显卡),当你需要使用独显(NVIDIA显卡)运行某个程序或游戏时候,终端执行如下命令即可:
optirun command #使用独显运行command程序
optirun -b primus command #使用独显运行command程序,提升性能
Linux使用GRUB增添内核参数的方法
如果你在使用GRUB引导装载程序,想修改或添加内核参数,你可以编辑GRUB配置文件。下面是针对特定发行版在GRUB的配置文件中添加内核启动参数的方法。
在Debian或Ubuntu上添加内核启动参数在基于Debian的系统上,如果你想在系统启动时添加内核参数,你可以编辑 /etc/default/grub 目录下的GRUB配置模板。在 GRUB_CMDLINE_LINUX_DEFAULT 变量中以
“acpi_osi=! acpi_osi="Windows 2009"
” 的格式添加内核参数。
$ sudo vi /etc/default/grub
按Ctrl+c 退出 y保存
注意 :里面的有时候文字需要手动添加 ,
然后运行下面的命令来生成一个GRUB的配置文件。
$ sudo update-grub 如果无法找到 update-grub 命令,你可以通过下面的命令安装它。
$ sudo apt-get install grub2-common 在Fedora上添加内核启动参数在Fedora上,想要在启动时添加内核参数,你可以编辑 /etc/default/grub目录下的 GRUB 配置模板。在 GRUB_CMDLINE_LINUX 变量中以 “name=value” 的格式添加内核参数。
$ sudo -e /etc/default/grub GRUB_CMDLINE_LINUX=‘。。。。。。acpi_osi=! acpi_osi="Windows 2009“ ’
然后运行下面的命令生成 GRUB2 配置文件。
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg 在CentOS上添加内核启动参数在CentOS上,想要在启动时添加内核参数,你可以直接编辑GRUB配置文件 /boot/grub/grub.conf。在配置文件中,找到描述默认使用的Linux映像的条目。文件中最顶行的字符串 “default=N”会指示哪一个条目是默认的映像。
常见问题
如果安装闭源驱动后,出现类似开机动画消失、分辨率异常、电脑温度大幅度上升,大都为闭源驱动的副作用,建议卸载闭源驱动。
自行下载官网的闭源驱动,更新闭源新版驱动,会随机出现的严重vlinuz启动内核编译失败,导致系统无法引导至图形界面,而且即使编译成功,也并不能保证与闭源驱动版本号准确对应,同样会造成系统无法引导至图形界面。使用“附加驱动”内提供的闭源驱动相对安全一些,风险也较低。
解决办法
一旦发生驱动兼容性故障,在能够进入图形界面的情况使用“附加驱动”更换列表中的其他驱动即可,重启后安装生效。只能进入恢复模式,使用命令:
sudo apt-get autoremove --purge nvidia-*
按下“Enter”键执行,稍等一分钟左右,配置不同,等待时长不同,系统会移除有关驱动程序安装文件和相关配置文件,重启后恢复默认的图形驱动和配置。
最后使用命令:
sudo reboot