linux使用bbswitch+nvidia-xrun取代bumblebee
nvidia-xrun的比bumblebee使用nvidia optimus的性能更好,关键是xrun支持Vulkan。
本文保存并更新在github:levinit/itnotes/linux/arch/archlinux安装-双显卡管理,如有疑问,请提issue。
bbswitch关闭独立显卡
在终端执行以下命令即可:
pacman -S bbswitch
#开机自动加载bbswitch模块
sudo echo 'bbswitch ' > /etc/modules-load.d/bbswitch
#设置bbswitch模块参数
sudo echo 'options bbswitch load_state=0' > /etc/modprobe.d/bbswitch.conf
#获取模块名
lsmod | grep nvidia | cut -d ' ' -f 1 > /tmp/nvidia
lsmod | grep nouveau | cut -d ' ' -f 1 > > /tmp/nvidia
sort -n /tmp/nvidia | uniq > /tmp/nvidia.conf#去重
sed -i 's/^\w*$/blacklist &/g' /tmp/nvidia.conf #添加blacklist
sudo cp /tmp/nvidia.conf /etc/modprobe.d/nvidia.conf #移动
执行以上命令即可进入下一小节(nvidia-xrun),本节其余内容是对上述命令的详细介绍:
安装bbswitch
开机自动加载bbswitch模块
添加文件/etc/modules-load.d/bbswitch ,写入内容bbswitch。
- 设置bbswitch模块参数
添加/etc/modprobe.d/bbswitch.conf文件,写入内容options bbswitch load_state=0
- 添加nvidia相关模块到黑名单
使用lsmod |grep nvidia和lsmod | grep nouveau找出所有的相关模块的名字;新建文件/etc/modprobe.d/nvidia.conf ,在其中添加模块黑名单。
黑名单写法:每行以blacklist开头,然后一个空格,其后写上一个模块名。
检查:重启后使用lspci grep NVIDIA和cat /proc/acpi/bbswitch检查关闭情况。
nvidia-xrun
shell yaourt -S nvidia-xrun #或者nvidia-xrun-git
- 配置nvidia-xrun
设置NVIDIA设备的总线ID
获取ID:一般的设备的总线ID是
1:0:0,为了确保正确,使用一下命令获取ID:shell lspci | grep NVIDIA在输出内容中第行首即可看到ID。
新增文件
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf,添加如下内容:shell Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:1:0:0" EndSection
上面的PCI即是获取到的总线ID。
linux使用bbswitch+nvidia-xrun取代bumblebee的更多相关文章
- 机器取代人类成为现实,Linux shell才可被取代?
机器取代人类成为现实,Linux shell才可被取代? 新睿云 新睿云 新睿云-让云服务触手可及 本次笔者用通俗易懂的语言介绍一下Linux shell,由于笔者能力有限,如有有描述不准确的地方还请 ...
- Linux操作系统安装Nvidia显卡驱动
一直以来,Linux分支系统使用过程中都有驱动适配麻烦,完全适配的驱动也不多.对于Nvidia显卡而言,一般Linux各分支操作系统虽然提供了N卡开源驱动工程Nouveau,但是性能上还是有待提高.下 ...
- Linux学习笔记——切换并取代用户身份命令——su
再次从头好好的学习Linux,本着以免轻易忘记,以备后用的原则,将我觉得常用或者好玩的linux命令记录在这,注意:我的实验环境是 Ubuntu 14.04.1 su 这个命令我经常使用,因为 ...
- Linux下监视NVIDIA的GPU使用情况(转)
在使用TensorFlow跑深度学习的时候,经常出现显存不足的情况,所以我们希望能够随时查看GPU时使用率.如果你是Nvidia的GPU,那么在命令行下,只需要一行命令就可以实现. 1. 显示当前GP ...
- Linux Ubuntu安装Nvidia多GPU通信库NCCL
0. 前言 在使用Python版本的PaddleDetection进行一些实验时,想同时利用多个GPU提高效率,遇到了一点问题 You may need to install 'nccl2' from ...
- LINUX下基于NVIDIA HPC SDK 的 VASP6.3.x编译安装报错整理
关于gcc 用旧版本安装NVIDIA HPC SDK再编译会报错: "/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/move.h" ...
- Linux下安装nvidia显卡驱动
部署环境 操作系统:Centos 7.4 在线源:Centos 7.4镜像源 安装操作 1.安装系统插件 [root@localhost ~]# yum -y install gcc kernel-d ...
- 使用 Bumblebee 控制 NVIDIA 双显卡
简介 Nvidia的双显卡切换技术叫Optimus(擎天柱),可惜只能在win7.vista下实现.Linux下没有对应的技术,当然苹果也没有.这导致独立显卡一直在启用,显卡发热升温,风扇狂转,却没有 ...
- Linux: 安装NVIDIA显卡驱动
Linux(Fedora25, 64bit)台式机配备了NVIDIA显卡GTX950,但是仅仅使用开源驱动nouveau,无法发挥NVIDIA显卡的性能,所以可以考虑使用官方提供的显卡驱动. # 先安 ...
随机推荐
- 数据结构随笔-php实现队列
队列(Queue): 满足先进先出(FIFO)的规则: 下面使用php实现一个简单的循环队列模型: 初始状态的队列,队列长度为0,队头和队尾的指针相同均位于队列的开始: 入队操作:队尾指针向后移动,长 ...
- 使用Nginx搭建本地流媒体服务器
Mac搭建nginx+rtmp服务器 1.打开终端,查看是否已经安装Homebrew,直接输入命令 man brew 如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入 ...
- 使用我的编译器,下面的代码 int i=7; printf("%d\n", i++ * i++); 返回 49?不管按什么顺序计算, 难道不该打印出56吗?
尽管后缀自加和后缀自减操作符 ++ 和 -- 在输出其旧值之后才会执行运算, 但这里的"之后"常常被误解.没有任何保证确保自增或自减会在输出变量原值之 后和对表达式的其它部分进行计 ...
- python_装饰器_语法糖
什么是高阶函数? -- 把函数名当做参数传给另外一个函数,在另外一个函数中通过参数调用执行 #!/usr/bin/python3 __author__ = 'beimenchuixue' __blog ...
- 常见C++面试题及基本知识点总结(一)
[转载请注明出处]:http://www.cnblogs.com/LUO77/p/5771237.html 1. 结构体和共同体的区别. 定义: 结构体struct:把不同类型的数据组合成一个整体, ...
- SDWebImage4.0.0 源码解析
在开发iOS的客户端应用时,经常需要从服务器下载图片,虽然系统提供了下载工具:NSData.NSURLSession等等方法,但是考虑到图片下载过程中,需要考虑的因素比较多,比如:异步下载.图片缓存. ...
- RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字
关键字 使用描述 Close Application 关闭掉当前已经打开的APP Application,该关键字不需要接收任何的参数,但是使用该关键字的前提是已经打开了一个APP Applicati ...
- Openfire服务器和Spark客户端配置
一.Openfire服务器的配置 关于之前一直在进行的聊天app的项目,我们还没有完成,这次我们介绍一下,Openfire服务器的配置. 1.Openfire下载 Openfire下载地址:http: ...
- java 序列化 serialVersionUID 的作用 和 两种添加方式
serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...
- markdownpad生成目录
生成目录 document.addEventListener("DOMContentLoaded", function() { // 生成目录列表 var outline = do ...