Arch核显下如何愉快玩Dota2和CS2

闲暇的时候,会来几局 dota2 或者 cs2,截止 steam 上统计显示 dota2 游戏时间总计:6221 小时,Counter-Strike 2 游戏时间 357 小时。cs2 玩得少主要是菜,只玩娱乐模式,见面对枪就被暴打、常年 tab 键排名倒数 1-4 名,局伤 35 左右😅;dota2 最近苦练卡尔和米波,鸟局玩起来很快乐的。

游戏和音乐一样,穷人疗伤娱乐刚需。那么,我是如何在 Linux 下游戏的呢?最近重装 Arch 进行了一些测试,希望帮到有需要的读者。

结果:60fps、2k 分辨率,dota2 能玩最高画质,cs2 中画质,方法都是网上搜索的,仅供参考。

6000 小时玩家不骗人,一点都不卡,米波、卡尔、幻影长矛手打团都不卡,我还特意开了人机局测试,真的不卡。

另外,wayland 和 xwayland 游戏表现差异不大,xwayland 下 dota2 能打字,wayland 下 cs2 按 shift 键会蹦出输入框(我玩的时候,直接关闭输入法:killall fcitx5

1. 硬件环境介绍

电脑是零刻 ser8 准系统,额外买的固态硬盘和内存条,为什么这样,我之前写过相关文章,这里不赘述。

 1➜  ~ fastfetch
 2                  -`                     mephisto@minipc
 3                 .o+`                    ---------------
 4                `ooo/                    OS: Arch Linux x86_64
 5               `+oooo:                   Host: SER8 (V10)
 6              `+oooooo:                  Kernel: Linux 6.18.2-arch2-1
 7              -+oooooo+:                 Uptime: 2 hours, 2 mins
 8            `/:-:++oooo+:                Packages: 1261 (pacman)
 9           `/++++/+++++++:               Shell: fish 4.2.1
10          `/++++++++++++++:              Display (Q27N3S2): 2560x1440 in 27", 60 Hz [External]
11         `/+++ooooooooooooo/`            DE: wlroots
12        ./ooosssso++osssssso+`           WM: labwc 0.9.3 (Wayland)
13       .oossssso-````/ossssss+`          Cursor: breeze (24px)
14      -osssssso.      :ssssssso.         Terminal: tmux 3.6a
15     :osssssss/        osssso+++.        CPU: AMD Ryzen 7 8845HS (16) @ 5.14 GHz
16    /ossssssss/        +ssssooo/-        GPU: AMD Radeon 780M Graphics [Integrated]
17  `/ossssso+/:-        -:/+osssso+-      Memory: 3.13 GiB / 23.25 GiB (13%)
18 `+sso+:-`                 `.-/+oso:     Swap: 4.00 KiB / 4.00 GiB (0%)
19`++:.                           `-/+/    Disk (/): 156.34 GiB / 952.87 GiB (16%) - btrfs
20.`                                 `/    Local IP (wlan0): 192.168.124.5/24
21                                         Locale: en_US.UTF-8

现在这个电脑都下架了,对我来说不玩大型游戏,性能严重过剩。

本文读者只需要关注上面的:

  • GPU: AMD Radeon 780M Graphics [Integrated]
  • Memory: 3.13 GiB / 23.25 GiB (13%)(为什么不是 32G 后面再说)
  • Display (Q27N3S2): 2560x1440 in 27", 60 Hz [External]

核显 AMD Radeon 780M、2 根 16G 的内存条、2k@60Hz 的丐版显示器。

2. 游戏关键设置

调整显存大小

默认好像是 4G 需要调整成 8G(因为我有 32G 内存,分配 8G 显存还是合理的),这是最关键的,能满足 dota2 和 CS2 的要求。 操作步骤:

  1. 首先关闭主机,按下电源启动后,当屏幕上出现 logo 后,迅速按下键盘上的 Del 键进入 BIOS
  2. 进入 BIOS 后,使用方向键切换到【Advanced】,进入【AMD CBS】选项
  3. 进入【NBIO Common Options】选项
  4. 进入【GFX Configuration】选项
  5. 在【UMA Frame buffer Size】这里可以调整显存的大小,可以根据自己的需求进行修改:

自定义显存大小修改参数: 【igpu Configuration】改为 UMA_SPECIFIED 【UMA Version】改为 Auto 【UMA Frame buffer Size】默认为 8G,可根据自己的需求进行调整大小 【GPU Host Translation Cache】改为 Auto 【TCON INSTANT ON LOGO】改为 Auto

  1. 修改完成后,按【F4】,选择【Y】进行保存退出即可生效

重启后进入系统,内存显示会少了 8G,即 24G 少一点,正常。

开启 Re-Size BAR

在 BIOS 中开启 Re-Size BAR Support(CAM)。这在 Linux 下同样有效,能让 CPU 更高效地访问显存,提升帧数。 操作:在 BIOS 中找到 Advanced -> PCI Subsystem Settings -> Re-Size BAR Support,设置为 Enabled。 效果:这能让 CPU 一次性访问全部显存,大幅提高在很多现代游戏(特别是支持 DirectX 12 的游戏)中的帧数,提升幅度有时能达到 10%-15%。

老实说,这个到底有没有用,反正看描述我信了,打开的。

内核参数优化

1➜  ~ cat /boot/loader/entries/2025-12-09_09-04-59_linux.conf
2# Created by: archinstall
3# Created on: 2025-12-09_09-04-59
4title   Arch Linux (linux)
5linux   /vmlinuz-linux
6initrd  /initramfs-linux.img
7options root=PARTUUID=9443f4c6-b17e-4771-8ecf-987627f0551c zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs video=2560x1440@60 amdgpu.runpm=0 amdgpu.gpu_recovery=1
  • amdgpu.runpm=0 作用:禁用 Runtime Power Management(运行时电源管理),设置为 0 会强制 GPU 始终保持在工作状态,不进入深度睡眠,某些 AMD 显卡在启用 runpm 后可能出现唤醒失败、黑屏、死机等问题(尤其在较老或某些特定型号上)。
  • amdgpu.gpu_recovery=1 作用:启用 GPU 错误恢复机制。当 GPU 出现挂起(hang)或超时(timeout)等错误时,驱动尝试自动重置 GPU 而不是直接崩溃或冻结整个系统。如果成功,应用程序(如游戏、图形程序)可能会崩溃,但系统本身仍可继续运行

没碰到,上面说的这些问题,为了安稳游戏,也加上去了😅。

显卡驱动

请看 vulkan 概要输出:

 1➜  ~ vulkaninfo --summary
 2==========
 3VULKANINFO
 4==========
 5Vulkan Instance Version: 1.4.335
 6Instance Extensions: count = 24
 7-------------------------------
 8VK_EXT_acquire_drm_display             : extension revision 1
 9VK_EXT_acquire_xlib_display            : extension revision 1
10VK_EXT_debug_report                    : extension revision 10
11VK_EXT_debug_utils                     : extension revision 2
12VK_EXT_direct_mode_display             : extension revision 1
13VK_EXT_display_surface_counter         : extension revision 1
14VK_EXT_headless_surface                : extension revision 1
15VK_EXT_surface_maintenance1            : extension revision 1
16VK_EXT_swapchain_colorspace            : extension revision 5
17VK_KHR_device_group_creation           : extension revision 1
18VK_KHR_display                         : extension revision 23
19VK_KHR_external_fence_capabilities     : extension revision 1
20VK_KHR_external_memory_capabilities    : extension revision 1
21VK_KHR_external_semaphore_capabilities : extension revision 1
22VK_KHR_get_display_properties2         : extension revision 1
23VK_KHR_get_physical_device_properties2 : extension revision 2
24VK_KHR_get_surface_capabilities2       : extension revision 1
25VK_KHR_portability_enumeration         : extension revision 1
26VK_KHR_surface                         : extension revision 25
27VK_KHR_surface_protected_capabilities  : extension revision 1
28VK_KHR_wayland_surface                 : extension revision 6
29VK_KHR_xcb_surface                     : extension revision 6
30VK_KHR_xlib_surface                    : extension revision 6
31VK_LUNARG_direct_driver_loading        : extension revision 1
32
33Instance Layers: count = 8
34--------------------------
35VK_LAYER_MANGOHUD_overlay_x86_64  Vulkan Hud Overlay                                           1.3.0    version 1
36VK_LAYER_MESA_anti_lag            Open-source implementation of the VK_AMD_anti_lag extension. 1.4.303  version 1
37VK_LAYER_MESA_device_select       Linux device selection layer                                 1.4.303  version 1
38VK_LAYER_RENDERDOC_Capture        Debugging capture layer for RenderDoc                        1.4.324  version 41
39VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer                                 1.3.207  version 1
40VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer                                 1.3.207  version 1
41VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer                                          1.3.207  version 1
42VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer                                          1.3.207  version 1
43
44Devices:
45========
46GPU0:
47	apiVersion         = 1.4.328
48	driverVersion      = 25.3.2
49	vendorID           = 0x1002
50	deviceID           = 0x1900
51	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
52	deviceName         = AMD Radeon 780M Graphics (RADV PHOENIX)
53	driverID           = DRIVER_ID_MESA_RADV
54	driverName         = radv
55	driverInfo         = Mesa 25.3.2-arch1.1
56	conformanceVersion = 1.4.0.0
57	deviceUUID         = 00000000-c400-0000-0000-000000000000
58	driverUUID         = 414d442d-4d45-5341-2d44-525600000000

现在 AMD 想通了,Arch 下就安装vulkan-radeon,不玩 amdvlk 了,直接安装即可。

1sudo pacman -S  vulkan-radeon

3. steam 启动项

  • dota2 启动项:-perfectworld -novid -vulkan -nojoy
  • cs2 启动项:-perfectworld -novid -vulkan -nojoy -threads 8 -freq 60

freq 60 因为我显示器就是 60Hz,受 HDMI 线制约,要换 dp 线,懒得换。

如果你要体验纯 wayland 运行,可以修改游戏启动脚本,比如 cs2,(下面设置启用 wayland,pipewire,实际测试和 xwayland 对面比没什么区别)

1➜  ~ grep -i "sdl" .steam/steam/steamapps/common/Counter-Strike\ Global\ Offensive/game/cs2.sh
2# There is Wayland support in SDL but a recent (7/30/2025) attempt at
3# allowing SDL to default to Wayland caused a number of customer issues so
4	if [ -z "$SDL_VIDEO_DRIVER" ]; then
5		#export SDL_VIDEO_DRIVER=x11
6		export SDL_VIDEO_DRIVER=wayland
7		export SDL_AUDIO_DRIVER=pipewire

改动方法如上所示。

4. 截图证明

最好的证明是录视频,可是文章里面不方便嵌入。截个图应付下:

Dota2 截图

steam-dota2-settings
steam-dota2-ai-mangohud
看地上有绿叶,河道符点那里有几只蜻蜓(懒得截图),说明时开了高画质。

cs2 截图

特别说明,这个截图里面没有 60 帧,是因为只要开启截图软件,cs2 帧率就掉,所以没办法,实际是稳定 60。

steam-cs2-settings
steam-cs2-ai-mangohud

有读者可能会嘀咕?60fps 也配说,2k 显示器 60Hz,玩起来真的一点不卡,调高帧率对我的硬件来说没有什么作用。

核显能愉快打游戏,别要求太高,毕竟一个高端独显都能买整个电脑了。

有钱有闲,直接上高端设备,人穷,至今没体验过高端独显在 Linux 下是什么效果。

最后修改于: Saturday, December 27, 2025
欢迎关注微信公众号,留言交流;也欢迎使用微信小程序。

相关文章:

翻译: