美文网首页deepin
显卡驱动作死录

显卡驱动作死录

作者: kikyoulzg | 来源:发表于2017-08-22 11:03 被阅读710次

    在深度上看视频或浏览网页的时候显示总是有点问题,特别让我这个强迫症患者受不鸟的就是会出现撕裂的现象。(现在无法重现,有机会再上录屏)。我觉得可能是核显的问题(系统默认使用核显,但我的pc是有独显的)于是。。。。。。。


    开始作死

    在驱动管理器安装独显的驱动,嗯~成功安装。然后忘了当时是咋想的,在图形界面重启了一下lightdm(显示管理器),后果就是瞬间黑屏,我强行重启,然而进不了登录界面(deepin-greeter)了。一系列的自我折腾后,成功登录桌面,继续折腾独显!这里我就直接引用深度论坛里的帖子了。

    ## Deepin 15.4 笔记本安装显卡驱动(I卡+N卡)

    linux下有两种N+I双卡的方案,一个是ubuntu下的nvidia-prime,另一个就是debian下的bumblebee。目前deepin基于debian,而debian只打包了第三种bumblebee,所以只能用后者。

    ubuntu的nvidia-prime如果要切换显卡,必须要重启X session,因为在X启动的时候nvidia的驱动模块就已经加载了,也就是说独显是一直在工作的。而debian采用bumblebee,开机加载的是intel的驱动,程序默认也都是用intel的集显,如果需要用独显要用optirun运行程序,这样能做到最大程度的提高电池续航能力。目前debian的nvidia-driver,nvidia-legacy-driver都是默认bumblebee解决双显卡,X启动时,驱动是intel,glx是mesa的glx,但是有些硬件可能会出现驱动是intel,glx却是nvidia的情况,这就会导致opengl的程序跑不起来,需要手动执行sudo update-alternatives --config glx来选择。

    两种实现其实各有利弊,debian当前也没有打包prime的打算打包方式不同,debian这边没有打包适配prime的驱动,加prime支持要改东西太多,所以就只用大黄蜂了。

    * 删除以往所有安装的驱动/大黄蜂

    ```

    sudo apt remove --purge nvidia*

    sudo apt remove --purge bumblebee*

    ```

    * 打开驱动管理器,点击驱动进行安装

    * 再确保安装一些相关软件

    ```

    sudo apt-get install bumblebee-nvidia bumblebee primus

    sudo apt-get install nvidia-driver nvidia-settings

    ```

    * 检查驱动是否安装成功,安装mesa-utils这个包,用来显示系统的glx相关信息。用optirun调用独显输出系统的glxinfo来查看驱动是否安装成功。

    ```

    sudo apt-get install mesa-utils

    optirun glxinfo|grep NVIDIA

    ```

    * 使用独显启动程序

    ```

    optirun command #使用独显运行command程序

    primusrun command #另外一种使用独显运行程序方法

    optirun -b primus command #使用独显运行command程序,提升性能

    ```

    * 可以安装 nvidia-smi,sudo nvidia-smi执行之,可以看到驱动已经安装,设备正常运转

    * 测试 Bumblebee 是否支持你的 Optimus 系统:如果在终端中看到一个关于你的 Nvidia 的提示和齿轮,恭喜你,Bumblebee 和 Optimus 已经开始工作了。

    ```

    optirun glxgears -info

    ```

    * 执行 sudo lspci -v 可以查看到详细信息

    * 在使用optirun命令开启独显前,可以使用lspci命令查看设备,可以看到独显最后的信息为(rev ff).ff代表设备关闭

    使用optirun命令后,再次lspci,可以看到独显最后的信息为(rev a2),这代表独显已经正常使用了

    * bumblebee配置下所有需要独显的操作都需要调用optirun或者primusrun.如果打开nvidia-settings时提示“You do not appear to be using the NVIDIA X driver”,在terminal中运行如下命令

    ```

    optirun -b none nvidia-settings -c :8

    ```

    这里解释一下上述命令.man optirun可以看到如下关于-b的信息

    ```

    -b, --bridge METHOD

    acceleration/displaying  bridge to use. Valid values are auto, virtualgl and primus. The --vgl-* options only make sense

    when using the virtualgl bridge, while the --primus-* options apply only when using the  primus  bridge.   Additionally,

    value  none is recognized, and its effect is to add paths to driver libraries to LD_LIBRARY_PATH (useful for nvidia-set‐

    tings and CUDA applications)

    ```

    man nvidia-settings可以看到如下信息

    ```

    -c CTRL-DISPLAY, --ctrl-display=CTRL-DISPLAY

    Control the specified X display.  If this option is not given, then nvidia-settings will control the display specified by '--dis‐

    play' ; if that is not given, then the $DISPLAY environment variable is used.

    ```

    由此可见-c后面跟的:8是屏幕显示的代码。查看bumblebee文件

    ```

    sudo gedit /etc/bumblebee/bumblebee.conf

    ```

    可以发现如下一段,由此可以解释上述命令了。

    ```

    [bumblebeed]

    # The secondary Xorg server DISPLAY number

    VirtualDisplay=:8

    ```

    * 在steam中使用独显来运行游戏,在游戏上右键,set launch options中加入

    ```

    optirun -b primus %command%

    ```

    * 开机黑屏拯救方法

    ```

    sudo apt remove --purge nvidia*  //适用于安装了不正确的闭源驱动

    sudo rm /etc/X11/xorg.conf  //适用于生成了不正确的xorg.conf文件

    sudo apt install xorg  //适用于删除nvidia时误删了xorg

    我按着上面的教程做……重启可以显示登录界面但无法输入密码又是什么情况T-T试着sudo apt install xorg,诶!成功登录!果然是删除nvidia时误删了xorg。

    然后optirun glxinfo|grepNVIDIA,嗯驱动安装成功,optirun glxgears -info,显示小齿轮动画,可以愉快地使用optirun命令调用独显运行程序了,感觉显示效果好了不少 ;)

    *TIPS*

    有时因为界面跳的太快进不了tty的时候,可以开机选择“Advanced options for *****”这一行按回车,然后选中最后是“(recovery mode)”这一行按“E”进入编辑页面,把ro改成rw,按F10,然后进入root shell。

    不知是不是我个人的问题,如果待机后再登录就无法使用optirun来切换独显了,重启之后又可以,奇怪

    相关链接

    安装驱动教程关于bumblebeedeepin的构架设计

    最重要的东西当然要放在最后

    感谢在深度论坛以及深度百科上默默奉献的everybody:)


    相关文章

      网友评论

        本文标题:显卡驱动作死录

        本文链接:https://www.haomeiwen.com/subject/vxscdxtx.html