(仅限x86)Wine游戏助手Flatpak版安装教程

@Ta 2022-05-28发布,2023-02-07修改 23810点击

Flatpak 是一种通用打包方式,可以在几乎所有 x86 Linux 桌面发行版上使用。
目前Wine游戏助手的 Flatpak 打包有一些缺点,比如因为缺少权限,英雄联盟和WeGame无法运行。此外,双显卡切换似乎也不太正常。
但是和发行版各自的打包相比,Flatpak 打包更不容易缺少依赖库。所以如果你的游戏在发行版打包中运行有问题,可以尝试 Flatpak 版本。

安装步骤

1. 安装flatpak(Steam Deck可跳过这一步)

打开终端执行以下命令:

  • 统信 UOS / Deepin / 银河麒麟 / Ubuntu / Debian:

    sudo apt install flatpak
    
  • Arch Linux:

    sudo pacman -S flatpak
    
  • Fedora
    自带flatpak,不需要安装
    如果你的Fedora没自带,那这样安装

    sudo dnf install flatpak
    
  • 其他发行版
    参考:https://flatpak.org/setup/

2. 安装依赖包

首先尝试执行下面的命令(使用上海交大镜像,注意Flatpak 1.2.5必须完整执行以下命令才能用上这个镜像,里面的sed命令添加的url-is-set=true参数是关键,光执行上海交大文档中说的flatpak remote-modify命令没有用,具体原因看这里):

sudo flatpak remote-add --if-not-exists flathub https://file.winegame.net/flatpak/repo/flathub-sjtu.flatpakrepo && sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub/ && sudo sed -i '/url-is-set=/d' /var/lib/flatpak/repo/config && sudo sed -i '/\[remote "flathub"\]/a\url-is-set=true' /var/lib/flatpak/repo/config

如果上面的连不上服务器,就换成这个(使用Flathub官方镜像):

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && sudo flatpak remote-modify flathub --url=https://dl.flathub.org/repo/

执行上面任意一行成功后,再执行这个

sudo flatpak install flathub org.gnome.Platform.Compat.i386//42 org.freedesktop.Platform.GL32.default//21.08 org.freedesktop.Platform.GL.default//21.08 org.freedesktop.Platform.VulkanLayer.MangoHud//21.08 com.valvesoftware.Steam.Utility.gamescope

遇到询问直接按回车即可。

3. 安装Wine游戏助手

sudo flatpak remote-add --if-not-exists winegame https://file.winegame.net/flatpak/repo/winegame.flatpakrepo
sudo flatpak install winegame net.winegame.client

遇到询问直接按回车即可。

4. 【可选】安装Deepin主题,让Wine游戏助手窗口外观符合Deepin/UOS风格:

sudo flatpak install flathub org.gtk.Gtk3theme.deepin org.gtk.Gtk3theme.deepin-dark

遇到询问直接按回车即可。如果不安装,呈现的就是Gnome默认风格。

5. 启动Wine游戏助手

可以从应用程序列表的“Wine游戏助手 (flatpak)”快捷方式启动。

如果想从命令行启动也可以:

flatpak run net.winegame.client

其他教程中遇到要执行/opt/apps/net.winegame.client/files/bin/winegame的地方,都用flatpak run net.winegame.client代替即可。

如何升级Wine游戏助手到新版本

执行以下命令即可升级

flatpak update

常见问题

1. 安装flatpak版之后看不到普通版的图标了

执行以下命令即可恢复图标。两者的数据和设置完全共享,你可以自由切换。不过如果其中一个版本正在运行(包括后台运行),你就无法打开另一个版本,尝试打开只会打开正在运行的版本。必须确保当前版本的所有进程(包括启动的wine游戏中的所有进程)都已关闭,才能启动另一个版本。

ln -sf /opt/apps/net.winegame.client/entries/applications/net.winegame.client.desktop ~/.local/share/applications/winegame.desktop

图片.png 图片.png

在首选项的硬件信息里可以确认正在运行什么版本,flatpak版的OS有“Flatpak”字样。

2. Wine游戏助手无法启动,提示权限不够。

image.png

运行以下命令修复:

sudo chmod 0777 /var/tmp

3. 不能玩LOL,打不开WeGame。

原因:https://github.com/flathub/net.lutris.Lutris/issues/85

由于 modify_ldt 被 flatpak 禁止,wine-lol 无法运行

lutris wine 中的英雄联盟补丁使用 LDT 来存储数据。然而,相关系统调用(modify_ldt)被 flatpak 通过 seccomp 禁止,导致 wine 无法启动任何应用程序。

受影响的Wine版本:所有带lol字样的版本,比如lutris-ge-lol-7.0-2
受影响的安装脚本:英雄联盟、WeGame。

4. 某些非标准位置的文件夹无法被Flatpak版Wine游戏助手读取。

你需要执行命令授权文件夹访问,比如,如果你把游戏安装在/path/to/xxx,就执行以下命令允许访问:

sudo flatpak override --filesystem=/path/to/xxx net.winegame.client

5. 为什么Flatpak试图安装NVIDIA显卡闭源驱动?为什么我升级NVIDIA闭源驱动后,Flatpak无法调用显卡?

Flatpak的目标是自带所有依赖库,但是不同的NVIDIA显卡驱动需要不同的依赖库,从操作系统里提取也不方便,所以Flatpak只能自己再安装一次对应版本的库。

每次你升级显卡驱动,Flatpak都需要重新安装NVIDIA显卡驱动依赖库。如果它没有自动安装,你可以自行执行命令安装:

sudo flatpak install flathub org.freedesktop.Platform.GL.nvidia-$(cat /proc/driver/nvidia/version | grep 'NVRM version' | awk -F"  " '{print $2}' | sed 's/\./-/g')

6. 为什么安装特别慢?

如果有大量小文件,安装就会变慢很多,因为flatpak需要逐个下载这些小文件,而非打包下载。

安装速度和文件大小成正比,和文件数量成反比。

7. flatpak命令后面带--user与不带有什么区别?

--user表示把应用安装到用户主目录(~/.local/share/flatpak),不带则安装到系统目录(/var/lib/flatpak)。

--user不需要root权限,所以不需要加sudo,安装更方便。但是安装后的应用仅当前用户可用,换个用户就看不到了,root用户也看不到。而且加--user可能会在某些发行版上安装失败,所以目前的教程已经去掉--user

如果不加--user,那就需要使用sudo,但好处是装好的应用所有用户都能看到,并且很少遇到权限不够安装失败的问题。

注意--user和非--user操作是不互通的,包括remote-add也是如此,如果最开始加了--user,那么去掉--user后安装软件包之前要重新执行flatpak remote-add

回复列表(5|隐藏机器人聊天)
添加新回复
回复需要登录