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 的要求。 操作步骤:
- 首先关闭主机,按下电源启动后,当屏幕上出现 logo 后,迅速按下键盘上的 Del 键进入 BIOS
- 进入 BIOS 后,使用方向键切换到【Advanced】,进入【AMD CBS】选项
- 进入【NBIO Common Options】选项
- 进入【GFX Configuration】选项
- 在【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
- 修改完成后,按【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 截图
cs2 截图
特别说明,这个截图里面没有 60 帧,是因为只要开启截图软件,cs2 帧率就掉,所以没办法,实际是稳定 60。
有读者可能会嘀咕?60fps 也配说,2k 显示器 60Hz,玩起来真的一点不卡,调高帧率对我的硬件来说没有什么作用。
核显能愉快打游戏,别要求太高,毕竟一个高端独显都能买整个电脑了。
有钱有闲,直接上高端设备,人穷,至今没体验过高端独显在 Linux 下是什么效果。
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。
相关文章:
- 迷你主机组装记
- Rime添加dota2词库
- Arch/labwc 环境网络相关设置
- 剪切板管理工具clipcat推荐
- MangoHud性能监控
- 微信小程序开发记
- 解决Arch下VSCode无法输入中文的问题
- greetd和regreet使用教程
- 我的工具箱
- Xray科学上网简要