Linux运行游戏

news/2025/2/22 16:03:45/

安装驱动和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-mesamesa是开源的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游戏

  1. 下载Heroic游戏平台,登录Epic和GOG帐号。
  2. 去Wine Manager标签下下载Wine-GE-Latest。
  3. 给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里游戏设置里获取)

  1. 安装winetricks、wine-mono、wine_gecko
pacman -S wine winetricks wine-mono wine_gecko
winetricks用于管理.dll文件和Windows组件等
wine-mono用于支持net framework 应用程序的组件
wine_gecko用于在Wine 里模拟 IE
  1. 启动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


http://www.ppmy.cn/news/66878.html

相关文章

C++数据结构:哈希 -- unordered系列容器、哈希表的结构以及如何通过闭散列的方法解决哈希冲突

目录 一. unordered系列关联式容器 1.1 unrodered_map和unordered_set 综述 1.2 常见的接口函数(以unordered_map为例) 1.3 unordered系列与map和set的效率对比 二. 哈希表的底层结构 2.1 什么是哈希 2.2 哈希函数 2.3 哈希冲突 三. 通过闭散列的…

linux安装redis服务

linux环境采用centos7 1.下载redis安装包 官网下载地址:https://redis.io/download/ 2.安装redis依赖 yum install -y gcc tcl3.上传安装包并解压 tar -xzf redis-6.2.12.tar.gz4.编译安装 进入目录下并安装 cd redis-6.2.12 make && make install默认…

在Bamboo上怎么使用iOS的单元测试 | 京东云技术团队

作者:京东零售 吴滔 本教程将使用北汽登录模块为例,一步一步和大家一起搭建单元测试用例,并在Bamboo上跑起来,最终测试结果和代码覆盖率会Bamboo上汇总。 模块名称:BQLoginModule,是通过iBiu创建的一个模块工程 一 建…

centos7安装nginx

1.配置环境 1).gcc yum install -y gcc2).安装第三方库 pcre-devel yum install -y pcre pcre-devel3).安装第三方库 zlib yum install -y zlib zlib-devel2.下载安装包并解压 nginx官网下载:http://nginx.org/en/download.html 或者 使用wget命令进行下载 wg…

万字长文详解如何使用Swift提高代码质量 | 京东云技术团队

前言 京喜APP最早在2019年引入了Swift,使用Swift完成了第一个订单模块的开发。之后一年多我们持续在团队/公司内部推广和普及Swift,目前Swift已经支撑了70%以上的业务。通过使用Swift提高了团队内同学的开发效率,同时也带来了质量的提升&…

docker安装mysql5.7

docker安装mysql5.7 1、安装mysql 5.7镜像 1.1、执行命令:docker pull mysql:5.7 2、创建mysql容器 2.1、创建 /opt/mysql/data /opt/mysql/logs /opt/mysql/conf 三个目录 在conf下创建my.cnf文件 mkdir /opt/mysql/data /opt/mysql/logs /opt/mysql/conf -pcd…

docker安装Nexus3搭建docker私有仓库,并上传镜像

参考:https://blog.csdn.net/gengkui9897/article/details/127353727 nexus3支持的私有库 支持maven(java)、npm(js)、docker、herm、yum、apt、pypi(python)go、等等 1. 下载安装docker(略) 根据系统选择对应版本…

C++中this指针的特性,存放位置,能否为空?

文章目录 一、this指针的特性二、this指针存在哪里?三、this指针可以为空吗? 一、this指针的特性 我们学习过C知道,成员函数没有直接存放在类而是放在了公共代码区,这样当多个对象调用同一个函数就不需要再创建一个函数成员了。 …