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科學上網簡要