1、前述
相对Windows而言(驱动精灵、驱动人生、鲁大师),Linux的驱动安装真得是一道槛,在前面的几篇中我们讲述了N卡的驱动安装,根据评论留言反馈更多的问题也是在于卡在驱动安装、启动黑屏、登录界面卡死,其实大部份的原因都是驱动的原因,下面我们再来说一下Intel集显驱动的安装。2、安装Intel集显驱动
目前来说Intel的集显驱动正常都已经编译在Linux内核当中,之所以您的笔记本Intel集显不驱动,大部份原因是Deepin Linux的锅,因为Deepin Linux目前用的内核版本比较低(从官方角度来说低版本的内核更多的是为了提高稳定性),所以对于硬件较新的PC或笔记本硬件上会有一些不兼容,而升级内核至最新稳定版,基本上可以解决80%的Intel集成显卡驱动问题。以个人笔记本为例,我们可以看到,对应的内核版本为4.15,而就个人电脑的Intel HD 630集显驱动而言,在Linux kernel 4.9.7内核才添加进去的,虽然Deepin Linux自己逐步添加了新的驱动进去,但并不能够兼顾所有硬件特性和性能的支持。下面我们就来开始升级Deepin Linux 15.11的系统内核。注意升级有风险,如果您的电脑驱动正常,不建议升级内核。当然升级内核不仅仅可以解决集显问题,还可以解决很多其它问题,比如:触摸板问题、快捷键问题、声音问题等等,所以如果您的电脑也有这些问题,也可以尝试升级一下,看看是否能够解决。1)检查当前内核版本
如果您是在安装完系统以后,卡死在登录界面,可以在登录界面按Ctrl+Alt+F2,进入终端登录界面,开始升级内核。对于还未进入登录界面就卡死的,可以尝试在Grub的启动项进行设置,先让电脑启动起来,具体操作请看前面的系列文章。
这里再添加两个选项,在quiet的后面空一格加上如下所示的代码:nouveau.modeset=0,然后按F10保存就能正常进入了。如果您的电脑是因为没有独显驱动卡死的,可以把上面这句话改成nvidia.modeset=0。
#内核版本为4.15
oubayun@oubayun-PC:~/Desktop$ neofetch
............ oubayun@oubayun-PC
.';;;;;. .,;,. ------------------
.,;;;;;;;. ';;;;;;;. OS: Deepin 15.11 x86_64
.;::::::::' .,::;;,''''',. Model: XPS 15 9560
,'.:::::::: .;;'. '; Kernel: 4.15.0-30deepin-generic
;' 'cccccc, ,' :: '.. .: Uptime: 2 minutes
,, :ccccc. ;: .c, '' :. ,; Packages: 1751
.l. cllll' ., .lc :; .l' l. Shell: bash 4.4.12
.c :lllc ;cl: .l' .ll. :' Resolution: 3840x2160
.l 'looc. . ,o: 'oo' c, DE: Deepin
.o. .:ool::coc' .ooo' o. WM: KWin
:: ..... .;dddo ;c Icons: Deepin [GTK2/3]
l:... .';lddddo. ,o Terminal: deepin-terminal
lxxxxxdoolllodxxxxxxxxxc :l CPU: Intel i7-7700HQ (8) @ 3.8GHz
,dxxxxxxxxxxxxxxxxxxl. 'o, GPU: NVIDIA NVIDIA Corporation Device 1c8d
,dkkkkkkkkkkkkko;. .;o; Memory: 1630MB / 15764MB
.;okkkkkdl;. .,cl:.
.,:cccccccc:,. ████████████████████████
#也可以通过uname-a命令查看
oubayun@oubayun-PC:~/Desktop$ uname -a
Linux oubayun-PC 4.15.0-30deepin-generic #31 SMP Fri Nov 30 04:29:02 UTC 2018 x86_64 GNU/Linux
2)下载当前最新稳定版内核
目前最新的内核版本为5.3,但还是RC版本,建议大家使用5.2.17最版稳定版内核。下载地址链接:https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2.17/,下载如下所示的这个文件。
oubayun@oubayun-PC:~/Downloads$ ls -l | grep deb
-rw-r--r-- 1 oubayun oubayun 10821760 9月 21 12:22 linux-headers-5.2.0-050200_5.2.0-050200.201907231526_all.deb (内核驱动包)
-rw-r--r-- 1 oubayun oubayun 1165960 9月 21 12:14 linux-headers-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb (内核镜像包)
-rw-r--r-- 1 oubayun oubayun 8577220 9月 21 12:22 linux-image-unsigned-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb (内核头文件包1)
-rw-r--r-- 1 oubayun oubayun 50247376 9月 21 12:22 linux-modules-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb (内核头文件包2)
3)升级内核
#确保内核安装成功
oubayun@oubayun-PC:~/Downloads$ sudo dpkg -i *.deb
[sudo] oubayun 的密码:
正在选中未选择的软件包 linux-headers-5.2.0-050200。
(正在读取数据库 ... 系统当前共安装有 190105 个文件和目录。)
正准备解包 linux-headers-5.2.0-050200_5.2.0-050200.201907231526_all.deb ...
正在解包 linux-headers-5.2.0-050200 (5.2.0-050200.201907231526) ...
正在选中未选择的软件包 linux-headers-5.2.0-050200-generic。
正准备解包 linux-headers-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb ...
正在解包 linux-headers-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
正在选中未选择的软件包 linux-image-unsigned-5.2.0-050200-generic。
正准备解包 linux-image-unsigned-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb ...
正在解包 linux-image-unsigned-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
正在选中未选择的软件包 linux-modules-5.2.0-050200-generic。
正准备解包 linux-modules-5.2.0-050200-generic_5.2.0-050200.201907231526_amd64.deb ...
正在解包 linux-modules-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
正在设置 linux-headers-5.2.0-050200 (5.2.0-050200.201907231526) ...
正在设置 linux-headers-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
/etc/kernel/header_postinst.d/dkms:
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/make.log for more information.
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/mincores/0.2.0/build/make.log for more information.
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/nvidia-current/390.87/build/make.log for more information.
正在设置 linux-modules-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
正在设置 linux-image-unsigned-5.2.0-050200-generic (5.2.0-050200.201907231526) ...
正在处理用于 linux-image-unsigned-5.2.0-050200-generic (5.2.0-050200.201907231526) 的触发器 ...
/etc/kernel/postinst.d/dkms:
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/make.log for more information.
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/mincores/0.2.0/build/make.log for more information.
Error! Bad return status for module build on kernel: 5.2.0-050200-generic (x86_64)
Consult /var/lib/dkms/nvidia-current/390.87/build/make.log for more information.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.2.0-050200-generic
WARNING: Setting CRYPTSETUP in /etc/initramfs-tools/initramfs.conf is deprecated and will stop working in the future. Use /etc/cryptsetup-initramfs/conf-hook instead.
loadkeys is missing. Please install the 'kbd' package.
W: plymouth: The plugin label.so is missing, the selected theme might not work as expected.
W: plymouth: You might want to install the plymouth-themes package to fix this.
W: Possible missing firmware /lib/firmware/i915/icl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_huc_ver01_8_2893.bin for module i915
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
/etc/kernel/postinst.d/reconfigure-dde-daemon:
fix systemd/logind config
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found theme: /boot/grub/themes/deepin/theme.txt
Found linux image: /boot/vmlinuz-5.2.0-050200-generic
Found initrd image: /boot/initrd.img-5.2.0-050200-generic
Found linux image: /boot/vmlinuz-4.15.0-30deepin-generic
Found initrd image: /boot/initrd.img-4.15.0-30deepin-generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
#设置新内核为第一启动项
oubayun@oubayun-PC:~/Downloads$ sudo update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/deepin/theme.txt
Found linux image: /boot/vmlinuz-5.2.0-050200-generic
Found initrd image: /boot/initrd.img-5.2.0-050200-generic
Found linux image: /boot/vmlinuz-4.15.0-30deepin-generic
Found initrd image: /boot/initrd.img-4.15.0-30deepin-generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
#重启电脑
oubayun@oubayun-PC:~/Downloads$ sudo reboot
4)检测是否升级成功
#这是我们可以看到内核已经升级到最新版本了5.2。
oubayun@oubayun-PC:~/Desktop$ neofetch
............ oubayun@oubayun-PC
.';;;;;. .,;,. ------------------
.,;;;;;;;. ';;;;;;;. OS: Deepin 15.11 x86_64
.;::::::::' .,::;;,''''',. Model: XPS 15 9560
,'.:::::::: .;;'. '; Kernel: 5.2.0-050200-generic
;' 'cccccc, ,' :: '.. .: Uptime: 29 seconds
,, :ccccc. ;: .c, '' :. ,; Packages: 1755
.l. cllll' ., .lc :; .l' l. Shell: bash 4.4.12
.c :lllc ;cl: .l' .ll. :' Resolution: 3840x2160
.l 'looc. . ,o: 'oo' c, DE: Deepin
.o. .:ool::coc' .ooo' o. WM: KWin
:: ..... .;dddo ;c Icons: Deepin [GTK2/3]
l:... .';lddddo. ,o Terminal: deepin-terminal
lxxxxxdoolllodxxxxxxxxxc :l CPU: Intel i7-7700HQ (8) @ 3.8GHz
,dxxxxxxxxxxxxxxxxxxl. 'o, GPU: NVIDIA NVIDIA Corporation Device 1c8d
,dkkkkkkkkkkkkko;. .;o; Memory: 939MB / 15761MB
.;okkkkkdl;. .,cl:.
.,:cccccccc:,. ████████████████████████
oubayun@oubayun-PC:~/Desktop$ uname -a
Linux oubayun-PC 5.2.0-050200-generic #201907231526 SMP Tue Jul 23 15:29:02 UTC 2019 x86_64 GNU/Linux
5)检测硬件是否正常识别
通过上面的内核升级,我们来看一下对应的显卡是否能够正常识别,以个人电脑为例,显卡型号为:Intel HD 630。
oubayun@oubayun-PC:~/Desktop$ glxinfo | grep render
direct rendering: Yes
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer,
Extended renderer info (GLX_MESA_query_renderer):
#在这里我们可以看到显卡型号可以自动识别。
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2)
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_MESA_window_pos, GL_NV_blend_square, GL_NV_conditional_render,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
#也可以通过lspci -v查看硬件相关信息,在这里我们可以看到对应显卡驱动使用的是i915。
oubayun@oubayun-PC:~/Desktop$ lspci -v
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) (prog-if 00 [VGA controller])
Subsystem: Dell Device 07be
Flags: bus master, fast devsel, latency 0, IRQ 132
Memory at eb000000 (64-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities:
Kernel driver in use: i915
Kernel modules: i915
3、手动添加驱动
如果您不想升级内核版本,也可以手动添加Intel集显驱动,简单的方法如下,当然也不是对所有电脑管用。
#基于稳定版驱动
sudo apt-add-repository ppa:ubuntu-x-swat/updates
sudo apt-get update && sudo apt-get upgrade
sudo reboot
#基于破解版驱动
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update && sudo apt-get upgrade
sudo reboot
4、写在最后
关于显卡驱动篇,欧巴云前前后后写了4篇,本来只打算写一篇的,看到有很多的同学反馈显卡驱动的问题,所以欧巴云也补充了几篇,希望能够帮忙到各位,显卡驱动篇就写到这里了。从明天开始我们将开始网卡及蓝牙驱动篇,希望各位同学持续关注与支持,谢谢。