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),本节其余内容是对上述命令的详细介绍:

  1. 安装bbswitch

  2. 开机自动加载bbswitch模块

添加文件/etc/modules-load.d/bbswitch ,写入内容bbswitch

  1. 设置bbswitch模块参数

添加/etc/modprobe.d/bbswitch.conf文件,写入内容options bbswitch load_state=0

  1. 添加nvidia相关模块到黑名单

使用lsmod |grep nvidialsmod | grep nouveau找出所有的相关模块的名字;新建文件/etc/modprobe.d/nvidia.conf ,在其中添加模块黑名单。

黑名单写法:每行以blacklist开头,然后一个空格,其后写上一个模块名。

检查:重启后使用lspci grep NVIDIAcat /proc/acpi/bbswitch检查关闭情况。

nvidia-xrun

  1. 安装nvidia-xrun

shell yaourt -S nvidia-xrun #或者nvidia-xrun-git

  1. 配置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的更多相关文章

  1. 机器取代人类成为现实,Linux shell才可被取代?

    机器取代人类成为现实,Linux shell才可被取代? 新睿云 新睿云 新睿云-让云服务触手可及 本次笔者用通俗易懂的语言介绍一下Linux shell,由于笔者能力有限,如有有描述不准确的地方还请 ...

  2. Linux操作系统安装Nvidia显卡驱动

    一直以来,Linux分支系统使用过程中都有驱动适配麻烦,完全适配的驱动也不多.对于Nvidia显卡而言,一般Linux各分支操作系统虽然提供了N卡开源驱动工程Nouveau,但是性能上还是有待提高.下 ...

  3. Linux学习笔记——切换并取代用户身份命令——su

        再次从头好好的学习Linux,本着以免轻易忘记,以备后用的原则,将我觉得常用或者好玩的linux命令记录在这,注意:我的实验环境是 Ubuntu 14.04.1 su 这个命令我经常使用,因为 ...

  4. Linux下监视NVIDIA的GPU使用情况(转)

    在使用TensorFlow跑深度学习的时候,经常出现显存不足的情况,所以我们希望能够随时查看GPU时使用率.如果你是Nvidia的GPU,那么在命令行下,只需要一行命令就可以实现. 1. 显示当前GP ...

  5. Linux Ubuntu安装Nvidia多GPU通信库NCCL

    0. 前言 在使用Python版本的PaddleDetection进行一些实验时,想同时利用多个GPU提高效率,遇到了一点问题 You may need to install 'nccl2' from ...

  6. LINUX下基于NVIDIA HPC SDK 的 VASP6.3.x编译安装报错整理

    关于gcc 用旧版本安装NVIDIA HPC SDK再编译会报错: "/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/move.h" ...

  7. Linux下安装nvidia显卡驱动

    部署环境 操作系统:Centos 7.4 在线源:Centos 7.4镜像源 安装操作 1.安装系统插件 [root@localhost ~]# yum -y install gcc kernel-d ...

  8. 使用 Bumblebee 控制 NVIDIA 双显卡

    简介 Nvidia的双显卡切换技术叫Optimus(擎天柱),可惜只能在win7.vista下实现.Linux下没有对应的技术,当然苹果也没有.这导致独立显卡一直在启用,显卡发热升温,风扇狂转,却没有 ...

  9. Linux: 安装NVIDIA显卡驱动

    Linux(Fedora25, 64bit)台式机配备了NVIDIA显卡GTX950,但是仅仅使用开源驱动nouveau,无法发挥NVIDIA显卡的性能,所以可以考虑使用官方提供的显卡驱动. # 先安 ...

随机推荐

  1. MATLAB的神经网络工具箱介绍

    一.使用matlab2010b以后的版本会有完整的神经网络工具箱,使用nnstart可以调出toolbox,然后选择需要的功能,导入数据,选择训练参数和每层神经元个数,最后训练会输出网络与结果. 二. ...

  2. nessus重置密码

    许久不用的nessus密码居然忘记了,查了下: cmd下进入到nessus的安装目录 提升为管理员,登录系统 如果想用之前的账号,可以直接在系统内重置密码.

  3. Head First 设计模式 第6章 命令模式

    第6章 命令模式 在本章,我们将把封装带到一个全新的境界,把方法调用封装起来.没错,通过方法调用,我们可以把运算块包装成型.所以,调用此运算的对象不需要关心运算是如何进行的,只要知道如何使用包装成型的 ...

  4. PAT (Basic Level) Practise (中文)-1021. 个位数统计 (15)

    1021. 个位数统计 (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个k位整数N = dk-1 ...

  5. vue学习笔记(1)—— 组件化实现todoList

    一.环境搭建 1.npm 大型应用时推荐用npm安装,npm能很好的和webpack等模块打包器配合使用.具体安装步骤请参考网上的诸多教程.完成后使用如下命令安装vue. $ npm install ...

  6. JUnit4在Eclipse中的使用

    测试是项目开发中很重要的一环.实际上,建议的项目前期编写过程是:构思-> 编写单元测试代码-> 编写接口->编写实现类-> 测试实现类->编写主类....JUnit是一个 ...

  7. <Mastering KVM Virtualization>:第三章 搭建独立的KVM虚拟化

    在第二章,你了解了KVM的内部结构:在本章中,您将了解如何将Linux服务器设置为虚拟化主机.我们正在讨论将KVM用于虚拟化并将libvirt作为虚拟化管理引擎. KVM开启了虚拟化并利用你的服务器或 ...

  8. XML语法小结

    语法结构主要要求: (1)有且仅有一个根元素. 根元素也称文档元素,整个 XML 文档的其他元素都包含在根元素中,并通过嵌套形成树 型结构.除了根元素外,其他元素都是子元素. (2)每个元素必须有开始 ...

  9. mysql数据库密码更改

    先记下,随后继续更改! 方法1: 用SET PASSWORD命令 首先登录MySQL. mysql> set password for 用户名@localhost = password('新密码 ...

  10. RMAN备份-未使用catalog-控制文件丢失

    情况描述 客户报告数据库故障,新来的系统管理员误操作.删掉了一些文件.具体情况是:删掉了所有重要数据文件.所有控制文件.数据库原来是归档模式,用rman备份数据,而rman 使用控制文件. 幸运的是, ...