Archlinux 下Intel + NVIDIA 双显卡3D 游戏配置(dota2@steam)
下午打了几场dota2 感觉流畅度还算非常不错的,写点东西记录一下。用Archlinux 的一般来说都会用搜索引擎,所以仅仅说下须要注意的地方就可以。
1. steam 自带的OpenGL 库是过时的,执行可能会抱怨“Cannot find OpenGL GX” 之类的东西,看ArchWiki 「steam」条目,删除steam 自带的几个库。
2. 可是删除了steam 自带的那些库之后你须要在系统中安装新版的库,除去64 位的库之外(不可能还有人在用32 位的系统吧),看看有没有「lib32-mesa」和「lib32-mesa-libgl」,双显卡的lib32
还须要安装「lib32-intel-dri」,不要问为什么,不装上的话会很很卡,「primusrun」会不声不响失败,「optirun」会提示“cannot find opengl entry point xxxx” 之类的东西。
3. NVIDIA 的驱动须要安装「nvidia」而不是「nouveau」,同一时候安装「nvidia-utils」 和「lib32-nvidia-utils」。只是「bumblebee」安装的时候可能会有依赖冲突,看ArchWiki 的「bumblebee」条目,好象是同一时候安装「intel-dri」、「xf86-video--intel」、「bumblebee」和「nvidia」来规避依赖冲突。
4. 「bumblebee」是用来切换独显来执行某个程序的东西,可是「startx」进入桌面环境还是用的Intel 核心显卡,所以不要生成「xorg.conf」,假设你的系统中有不论什么合法的「xorg.conf」,不管是「/etc/X11」下的还是主文件夹下的,删除它或者改为不会被检測到的名字,否则你可能无法启动X11。当然bumblebee
你也得配置好才行,「optirun glxgears -info」看看有没有输出「NVIDIA」字样的信息,输出了就是配好了。
5. dota2 没法用「optirun」跑起来,安装「primus」包,使用「primusrun」来执行,当然不要在虚拟终端下跑dota2,那太挫了。steam 里右键dota2,「Properties」中的「SET LUNACH OPTIONS...」 里面填入「vblank_mode=0
primusrun %command%」,当然这是全球服,假设玩完美世界代理的国服填入「vblank_mode=0 primusrun %command% -language schinese -international -perfectworld」。
6. 假设你之前用的是开源驱动,N 卡驱动从nouveau 切换到nvidia 之后须要又一次生成内核镜像,看看「/etc/mkinitcpio.conf」凝视掉全部的nouveau 模块,然后「sudo
mkinitcpio -p linux」,重新启动之后「dmesg」信息里看看有没有「nouveau」 和「nvidia」 字样的信息,应该是前者没有而后者有的。
7. 这一条不是什么重要的东西,由于我们是双显卡,仅仅有才跑3D 的时候才会手动切换显卡,平时用的都是Intel 核心显卡,所以用不着加「nomodeset」内核參数来禁用kms。
8. 对了再说一个不是BUG 的特性,steam 安装的dota2 跑完美代理的国服刚開始是没法全屏的,左上角的设置里找到视频栏改成「全屏」就好了,曾经好象是“无什么窗体”之类的玩意儿,游戏画面会被Xfce4
的面板覆盖,非常蛋疼。
基本就这些了,写的主要是ArchWiki 中含含糊糊或者没有提及而又很重要的东西,假设你有这个需求的话,最好參考下ArchWiki 中的下面条目:「steam」,「bumblebee」,「nvidia」。
以下是我安装的相关包,假设有问题看看是不是少了什么。
------------------------------------------------------------
~ » pacman -Qqs '(nvidia|intel|mesa)' | sort ispeller@SHELL-LAB
bumblebee
glu
intel-dri
intel-tbb
lib32-glu
lib32-intel-dri
lib32-libtxc_dxtn
lib32-libvdpau
lib32-mesa
lib32-mesa-libgl
lib32-nvidia-utils
libcl
libtxc_dxtn
libvdpau
mesa
mesa-demos
mesa-libgl
nvidia
nvidia-utils
xf86-video-intel
------------------------------------------------------------
~ » ispeller@SHELL-LAB
2014/10/4:Archlinux mesa 包调整(传送门),全部驱动都被集成到了mesa-dri,单独的驱动包如intel-dri 已被移除(包含multilib 仓库的驱动)。所以相应你须要安装的包是mesa-dri 和lib32-mesa-dri。
就这样,祝你愉快~
Archlinux 下Intel + NVIDIA 双显卡3D 游戏配置(dota2@steam)的更多相关文章
- 【转】[Intel/Nvidia]Ubuntu 16.04 LTS Intel/Nvidia双显卡切换
1.在Unity中搜索 "Additional Drivers" 2.打开并选择以下选项 3.打开终端并输入 sudo apt-get install nvidia-361 4.安 ...
- NVIDIA双显卡
NVIDIA双显卡 第一步:代码:sudo update-pciids #更新显卡信息非常重要,否则可能识别出错lspci -v | grep -i vga #察看显卡 我的显卡信息如下:代码:00: ...
- CentOS7下安装NVIDIA独立显卡驱动出现X service error问题解决方法
问题症状: 最近在CentOS7下安装NVIDIA独立显卡驱动的过程中出现X service error问题,如下图所示: 解决方法: 0.到NVIDIA 官网上下载驱动文件(.run 格式) : N ...
- 使用 Bumblebee 控制 NVIDIA 双显卡
简介 Nvidia的双显卡切换技术叫Optimus(擎天柱),可惜只能在win7.vista下实现.Linux下没有对应的技术,当然苹果也没有.这导致独立显卡一直在启用,显卡发热升温,风扇狂转,却没有 ...
- archlinux下安装nvidia驱动解决Nvidia显卡显示问题
root下使用以下命令: sudo pacman -S nvidia nvidia-libgl
- linux笔记本上安装了双显卡驱动(intel+nvidia)
为了提高linux图形性能并降低功耗,独特的文章. 我用的系统Fedora 20 Xfce x64,在安装驱动程序,以确保系统是最新的版本号. 最好安装gcc.kernel-devel和其他包.己主动 ...
- Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理
(后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...
- Centos7下Intel与AMD双显卡驱动的安装
前2天,在Nvidia单显卡上成功安装上了NVIdia的驱动,一时兴起,拿出另外的一个HP笔记本也准备装上驱动,悲催的是HP的显卡是AMD的,更加.更加悲催的是还是Intel+AMD的双显卡.网络 ...
- Linux学习心得之 双显卡、中文输入法及svn初步使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 双显卡.中文输入法及svn初步使用 1.前言 2.Linux双显卡解决 ...
随机推荐
- 30、在LCD上显示摄像头图像
1. 准备虚拟机2.安装工具链sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /设置环境变量:sudo vi /etc/environment : PATH=& ...
- js 99乘法表
哈哈哈,笑死我了,突然怀念学习时代,撸了一个乘法表 for(let a=1;a<10;a++){let str = ''; for(let b=1;b<10;b++){ str = str ...
- [转载]剥析surging的架构思想
1.前言 2.通信机制 2.1 简介 在单体应用中,模块之间的调用通信通过引用加载方法或者函数来实现,但是单体应用最终都会因为团队壮大,项目模块的扩展和部署等出现难以维护的问题.随着业务需求 ...
- 为什么说 C/C++ 不适合做 Web 开发?(成本高,容易出错,apache等工具分担了大部分工作)
因为大家在讨论用C#.Java,做出来的项目的时候,用C++的人们还在讨论语言特性 每种语言都有特定适用范围,对应着某类问题.web开发的重头戏不是计算,而是与用户交互和发送sql语句,当然以脚本语言 ...
- Android Error:(1,N1) 错误: 需要class, interface或enum
造成这个error的原因是Java文件编码格式不对, 比如可能是你之前这个文件是用GBK写的,后来复制到utf-8环境里编译,而文件里有些是隐藏的字符,很难找出来的. 解决方法是在Notepad++新 ...
- php字符串转时间戳
PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是: strtotime():将任何英文文本的日期时间描述解析为时间戳. mktime():从日期取得时间戳. strtotime ...
- Dynamips GNS3
https://baike.baidu.com/item/dynamips Dynamips的原始名称为Cisco 7200 Simulator,源于Christophe Fillot在2005年8月 ...
- Android Thread.setDaemon设置说明
Thread.setDaemon的用法,经过学习以后了解: 1. setDaemon需要在start方法调用之前使用 2. 线程划分为用户线程和后台(daemon)进程,setDaemon将线程设置为 ...
- spring mvc redirect 重定向 跳转并传递参数
在项目中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,具体跳转方式有以下几种方式: 公用代码: @RequestMapping(value=" ...
- [Postgres] Filter Data in a Postgres Table with Query Statements
We have all this data, but how do we answer questions about it? In this lesson we’ll learn how to fi ...