ubuntu20.04安装完显卡驱动后黑屏问题解决

注:gazebo仿真中fps过低,电脑无法配置双屏等问题,均由显卡驱动造成,可参考本文重装驱动。

目录

进入修复模式卸载已装驱动

官网下载并重装驱动


进入修复模式卸载已装驱动

我开始是在 可视化软件 软件与更新 中安装的显卡驱动,并按照网上教程禁用了nouveau驱动。但在重启过程中,发现电脑黑屏,左上角有横光标闪过。

于是再次按照网上教程,按住ctrl+alt+f1-6,进入tty模式,都没反应。于是只能进入修复模式卸载已装驱动,具体操作如下:

  1. 重启电脑,在系统选择界面选择ubuntu advanced(高级选项),然后选择带有括号的recovery mode
  2. 进入之后,在白框中选择root选项并进入
  3. 左下角出现 Press Enter for maintenance.....,按回车Enter
  4. 进入命令行后,输入下面代码卸载已有驱动,然后reboot重启进入系统
apt remove --purge nvidia*

卸载已有驱动后,禁用nouveau驱动。输入下面代码打开文档

sudo gedit /etc/modprobe.d/blacklist.conf

在文档后面添加下面代码并保存关闭

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

然后更新

sudo update-initramfs -u

完成以上后,去官网下载并重装驱动

官网下载并重装驱动

1. 系统更新

sudo apt update
sudo apt upgrade -y

2.  安装基础工具

sudo apt install -y build-essential cmake
sudo apt install -y lightdm

在弹出对话框选择"lightdm"

3. 进入英伟达官网 https://www.nvidia.cn/,找到自己显卡对应linux驱动,下载。完成后放入一个英文路径下的文件夹。路径要记住,后面要用到

4. 检查nouveau驱动是否禁用成功,输入下面代码,没有任何输出说明成功

lsmod | grep nouveau

5. 进入字符界面,后续将没有图形化界面,黑屏命令行状态。

按住组合键ctrl+alt+f3(f1-f6均可)进入字符界面,先输入用户名,再输入密码

6.  关闭图形界面

sudo service lightdm stop

7.  给驱动加权限

cd /home/wh //这里为驱动文件存放的英文路径
chmod 755 NVIDIA-Linux-x86_64-535.113.01.run //这里为你下载的驱动文件名,按Table键也可补全

8.  输入下面代码,安装驱动

sudo ./NVIDIA-Linux-x86_64-535.113.01.run -no-x-check -no-nouveau-check

9. 安装过程中一些选项的选择:

  1. Multiple kernel module types are available for this systems. Which would you like to use?     NVIDIA Proprietary                   MIT/GPL
  2. An alternate method of installing the NVIDIA driver was detected.(This is usually a package provided by your distributor.) A driver installed via that method may integrate better with you system than a driver installed by
    naidia-installer

  3. Please review the message provided by the maintainer of this alternate installation method and decide how to proceed:                                                                                        Continue installation Abort installtion

  4. The NVIDIA driver provided by Ubuntu can be installed by launching the "Software & Updates" application,and by selecting the NVIDIA driver from the "Additional Drivers" tab.
    Continue installation

  5. Would you like to register the kernel module source with DKMS? This will allow DKMS....      Yes

  6. Install NVIDIA's 32-bit compatibility libraries?  NO

  7. Would you like to run the nvidia-xconfig utility to automatically update you X configuration file so that the NVIDIA X driver will be used when you restart X? Any pre-existing X configuration file will be backed up.
    Yes

10. 出现下面字样,说明安装成功

Your X configuration file has been successfully updated. Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version:535.113.01) is now complete.

11. 然后在命令行输入下面代码,重启。重启过程中,按f2进入bios模式,显卡设置为独立显卡,并关闭安全启动

sudo service lightdm start && reboot

12. 重启电脑,安装完成。

### 如何选择合适的Linux内核模块类型 #### 考虑硬件兼容性和需求 为了确保所选的内核模块能够支持特定硬件设备并满足功能需求,应当仔细评估目标系统的硬件配置以及预期的应用场景。对于USB控制器的支持情况,在`drivers/usb/host/Makefile`文件中通过设置选项如`CONFIG_USB_XHCI_HCD=m`可以指定将XHCI主机控制器驱动程序编译为可加载的模块形式[^4]。 #### 参考官方文档和社区资源 访问Linux内核官方网站(https://kernel.org/)获取最新发布的稳定版或长期支持(LTS)版本号,并依据个人使用的发行版特性挑选相匹配的核心组件。这一步骤有助于保障新安装的操作环境具备良好的稳定性与安全性表现[^1]。 #### 利用现有框架简化开发流程 针对希望采用更现代化编程语言构建自定义模块的情况,存在专门面向Rust开发者设计的一套工具链——linux-kernel-module-rust Framework。该项目托管于开源平台GitCode上,提供了丰富的接口封装及示例代码供学习借鉴[^3]。 ```rust // 示例:基于Rust实现简单的字符设备驱动 use kernel::prelude::*; module! { type: CharDevice, name: b"char_device", } struct CharDevice; impl KernelModule for CharDevice { fn init() -> Result<Self> { pr_info!("Char device driver initialized\n"); Ok(CharDevice {}) } } ``` #### 编写描述信息提高维护便利性 无论选用何种方式创建新的内核扩展单元,都建议为其附加详尽的文字说明以便日后查询参考。例如利用宏指令`MODULE_DESCRIPTION()`来记录一段简洁明了的功能概述文字[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值