安装驱动和bumblebee
注意:功能和optimus-manager类似,只需要安装一个。我的电脑安装了optimus-mananger后,导致hibernate后会时不时唤醒卡住无法进桌面
1. 安装软件
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel # 英特尔核芯显卡
sudo pacman -S nvidia nvidia-settings lib32-nvidia-utils # 英伟达独立显卡
sudo pacman -S bumblebee lib32-virtualgl lib32-nvidia-utils
包名 | 说明 |
---|---|
bumblebee | 主要的程序,用来建立一个独立的X服务器做渲染 |
bbswitch | 用来切换nvidia卡的开关状态,有了它才能保证不用的时候关闭nvidia卡省电 |
primus 和 virtualgl | 这两个分别是不同的桥接器,可以二选一,也可以都用,ArchWiki介绍的是virtualgl的optirun,但是primus是未来的默认选项,性能更好,Steam也推荐用primus |
lib32-primus 和 lib32-virtualgl | 这两个是32位库,因为Steam和大部分上面的游戏都是32位的 |
mesa lib32-mesa | mesa是开源的OpenGL标准实现 |
2. 将你的用户添加到bumblebee用户组
# gpasswd -a userXX bumblebee
3. 启动服务
sudo systemctl enable bumblebeed
4. 重启系统
5. 测试是否安装成功,以下命令能正常执行
optirun glxspheres64 # 或者 optirun glxspheres
optirun glxgears -info
optirun -b none nvidia-settings -c :8 # 启动Nvidia设置面板
6. 使用
普通程序直接用$ primusrun %command%,或者 $ optirun %command%
primusrun使用PrimGL,optirun使用VirtualGL,建议使用primusrun。
Steam游戏
下载Steam游戏平台。
在游戏上右键点Properties(属性),在“通用”标签下,选择SET LAUNCH OPTIONS(启动选项),输入primusrun %command%,运行游戏的时候就是用primusrun运行了。
若运行起来黑屏一下就退出了,参考下面问题2的解决办法。
Arch Wiki
Linux下使Steam调用Bumblebee使用独显
Epic和GOG游戏
- 下载Heroic游戏平台,登录Epic和GOG帐号。
- 去Wine Manager标签下下载Wine-GE-Latest。
- 给wine安装DXVK和VKD3D
# 下载
yay -S vkd3d-proton-bin
yay -S dxvk-bin
# 激活
env WINE=/home/df/.config/heroic/tools/wine/Wine-GE-latest/bin/wine WINEPREFIX=/data/Game/Heroic/Prefixes/default/The\ Witcher\ 3\ Wild\ Hunt\ -\ Complete\ Edition sh setup_dxvk installenv WINE=/home/df/.config/heroic/tools/wine/Wine-GE-latest/bin/wine WINEPREFIX=/data/Game/Heroic/Prefixes/default/The\ Witcher\ 3\ Wild\ Hunt\ -\ Complete\ Edition sh setup_vkd3d_proton install
WINE=指定wine的路径(Heroic里游戏设置里获取)
WINEPREFIX指定游戏的prefixes(Heroic里游戏设置里获取)
- 安装winetricks、wine-mono、wine_gecko
pacman -S wine winetricks wine-mono wine_gecko
winetricks用于管理.dll文件和Windows组件等
wine-mono用于支持net framework 应用程序的组件
wine_gecko用于在Wine 里模拟 IE
- 启动heroic,运行游戏。
Epic一般都能正常启动,GOG的游戏若黑屏闪退启动不了,需要点击游戏图标,进入详情界面,在Launch Options里选择不同选项尝试。
primusrun heroic
蓝牙连接Xbox One 无线手柄
在Manjaro中直接蓝牙连接手柄无法连接上,需要安装插件:atar-axis/xpadneo
1. 安装需要的组件
有的系统已经安装了,则不需要再安装。
linux-latest-headers 需要查看自己内核,同显卡处,我的为linux510-headers
sudo pacman -S dkms linux-latest-headers bluez bluez-utils
2.安装xpadneo
2.1 自动安装:manjaro的aur仓库中有,执行下面命令安装即可,否则需要手动安
yay -S xpadneo-dkms
2.2 手动安装:clone到本地目录安装
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo
sudo ./install.sh
3. 打开控制台
sudo bluetoothctl
4. 扫描蓝牙
若没显示手柄,需要按住手柄顶部侧边的连接按钮3秒,LED灯将快速闪烁,此时应该就会显示。
下面第一项就是手柄
[bluetooth]# power on
[bluetooth]# scan on
[NEW] Device xx:xx:xx:xx:xx:xx Xbox Wireless Controller
[CHG] Device xx:xx:xx:xx:xx:xx RSSI: -44
[bluetooth]# scan off
5. 连接手柄
中间会弹出信任窗口,选择信任。连接成功后,用exit退出命令台
[bluetooth]# pair xx:xx:xx:xx:xx:xx
[bluetooth]# trust xx:xx:xx:xx:xx:xx
[bluetooth]# connect xx:xx:xx:xx:xx:xx
[Xbox Wireless Controller]# exit
问题
1.运行optirun glxgears时报错
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.
[ERROR]Aborting because fallback start is disabled.
解决:
运行 lspci | grep -E “VGA|3D” 查看你的显卡PCI地址
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)
在/etc/bumblebee/xorg.conf.nvidia文件的Section "Device"下添加
BusID "PCI:01:00:0"
Optirun/Bumblbee: Cannot access secondary GPU
arch安装nvidia驱动后重启无法进入图形界面,卡clean,黑屏
2.Nvidia显卡,测试正常,但是打开游戏黑屏一下或显示以下信息
system does not support 3D API required by this game
执行vulkaninfo命令,显示
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.2.162/vulkaninfo/vulkaninfo.h:668:vkCreateInstance failed with ERROR_OUT_OF_HOST_MEMORY
解决:
去目录/usr/share/vulkan/icd.d下,看是否有amd_icd64.json和amd_icd32.json文件,将这俩移除即可。
Vulkan refuses to work
参考
WineHQ Winetricks
ArchWiki Wine