แชร์ประสบการณ์ติดตั้ง Steam ใน Linux (Ubuntu 24.04.03)

กะว่าจะทำเป็นโน้ตกันลืมครับ แต่เห็นว่ามีประโยชน์ดีแล้ว เอกสารที่ดูเป็นการติดตั้งแบบครบๆก็ไม่ค่อยมีด้วย
ต้องอ่านจากหลายๆที่แล้วเอามาประกอบกันเอง เลยคิดว่าเอามาแปะไว้ดีกว่า เผื่อจะเป็นประโยชน์กับคนอื่น
สเปคผม Ryzen5 2600X 4.1Ghz ปิด PBO; DDR4(3533Mhz) 32GB, Intel Arc B580 (Core-3250MHz, Mem-2500MHz);
https://www.3dmark.com/spy/57500485

ทำเป็น Dual Boot มี Harddisk แยกใส่เฉพาะเกม ต้องใช้ File System Ext4, Btrfs
ถ้าใช้ NTFS ต้องสร้าง symlink compatdata ใน SteamLibrary ใน Harddisk ใส่เกมแยก ไปยัง Folder Steam (???)
https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows
ถ้าใช้ Ext4 จะเพิ่ม SteamLibrary ได้เลย, ตัว Linux, Windows อยู่ใน m.2 แยกกัน,
ใน Windows จะต้องลงโปรแกรม Ext4Fsd เพื่อให้ Windows มองเห็น Harddisk แยกใส่เกม
https://github.com/bobranten/Ext4Fsd  (ถ้ามีปัญหาก็ย้ายเฉพาะเกมกลับไปยัง SteamLibrary ของ Steam (Windows))
https://www.reddit.com/r/linux_gaming/comments/1bqq5c2/steam_library_shared_between_linux_and_windows/

Ubuntu 24.04.3
คลิกเพื่อดูคลิปวิดีโอ
Frame rate มันจะตกๆหน่อยที่ CPU มันวิ่งสูงเพราะใช้อัดจออยู่ ดูว่ามันเล่นได้พอ

Steam (Native) ติดตั้งเองหมดเลย, ไม่มี gamescope
โหลดไฟล์ steam_latest.deb จากเว็บ  Steam ติดตั้งลงในเครื่อง
https://store.steampowered.com/about/
sudo dpkg --install steam_latest.deb
sudo apt-get install --fix-missing

โหลด Proton-GE จาก GitHub
ติดตั้งโดยทำตาม Guide ใต้หัวข้อ Installation
https://github.com/lutris/docs/blob/master/InstallingDrivers.md (มันให้เลือกการ์ดจอ AMD/Intel, NVIDIA)
$sudo add-apt-repository ppa:kisak/kisak-mesa && sudo dpkg --add-architecture i386 && sudo apt update && sudo apt upgrade && \
sudo apt install libgl1-mesa-dri:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386 (ไม่เพิ่ม PPA : kisak-mesa)
ดูตรงหัวข้อ Installation -> Native
Download ไฟล์แล้ว Extract มาวางไว้ที่ ~/.steam/steam/compatibilitytools.d/
https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#native
(ใช้ ProtonPlus ก็ได้ ง่ายกว่า, แต่ติดตั้ง Package ด้านบนก่อน)

โหลด gamemode จาก GitHub ลง Dependancy ตามที่ระบุไว้ Build แล้ว install เทส
$sudo apt update && sudo apt install meson libsystemd-dev pkg-config ninja-build git dbus-user-session libdbus-1-dev libinih-dev build-essential
$git clone https://github.com/FeralInteractive/gamemode.git
$cd gamemode
$git checkout 1.8.2 # omit to build the master branch
$./bootstrap.sh
ในกรณีที่ไม่ผ่านให้เพิ่ม user เข้าไปใน group gamemode ถ้าไม่มี group ให้สร้างขึ้นใหม่
$getent group | grep gamemode (หา group gamemode)
$sudo groupadd gamemode (ในกรณีที่ยังไม่มี group)
$sudo usermod -a -G gamemode $USER
$gamemoded -t
https://github.com/FeralInteractive/gamemode

โหลด MangoHUD จาก GitHub ติดตั้งแบบ Pre-packaged Binaries
Extract ไฟล์, เข้าไปใน Folder MangoHud แล้วรัน
$./mangohud-setup.sh install
โหลด Goverlay จาก GitHub แบบ AppImage
ทำการแก้ไฟล์ MangoHUD.conf โปรแกรมจะแก้ไฟล์ลงที่ ~/.config/MangoHud/MangoHud.conf
https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#installation---pre-packaged-binaries
https://github.com/benjamimgois/goverlay

เปิด Steam แก้  Lunch Options ของเกม:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgamemodeauto.so.0 gamemoderun mangohud %command% (ใช้ Shift + F12 ปิด MangoHUD)
path ไป libgamemodeauto.so.0 ถ้าไม่ใช่ตามข้างบนใช้ command find หาดู
$sudo find / -name libgamemode.so.0
MangoHUD จะ Detect การทำงานของ gamemode
https://github.com/FeralInteractive/gamemode/issues/447

Steam (Flatpak) ติดตั้งง่ายและเร็ว ใช้ได้ดีสุดละ
ติดตั้ง Flathub
https://flathub.org/setup/Ubuntu
$sudo apt install flatpak
$sudo apt install gnome-software-plugin-flatpak
$flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Restart เครื่องใหม่
ติดตั้ง Steam ผ่าน gnome-software เลือกติดตั้งจาก flathub
ติดตั้ง Steam add-ons Proton-GE (community build)
ติดตั้ง MangoHUD และ gamescope ผ่าน gnome-software
gamemode จะถูก bundle มากับ Steam (Flatpak)

วิธีการแก้ไข MangoHud.conf สำหรับ flatpak
ถ้าใช้ goverlay MangoHud.conf จะอยู่ที่ ~/.config/MangoHud/MangoHud.conf
$flatpak override --user --filesystem=xdg-config/MangoHud:ro com.valvesoftware.Steam
command ด้านบน ใช้เปิดให้ Steam (Flatpak) เข้าถึง ~/.config/MangoHud/MangoHud.conf ได้
https://github.com/flathub/com.valvesoftware.Steam.Utility.MangoHud

ในกรณีที่จะติดตั้ง Proton-GE จาก Github
ดูตรงหัวข้อ Installation -> Flatpak -> Manual
Download ไฟล์แล้ว Extract มาวางไว้ที่ ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/
ถ้า path ไปไม่ถึงให้สร้างขึ้นมา
https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#manual
(ใช้ ProtonPlus ก็ได้ ง่ายกว่า, แต่ติดตั้ง Package เหมือน Steam (Native) ก่อน)

ในกรณีที่ SteamLibrary อยู่อีก Drive, Harddisk คนละลูกให้ติดตั้ง Flatseal จาก gnome-software
เปิดโปรแกรม Flatseal เลือก Steam (Flatpak) ที่ Filesystem ให้เพิ่ม path ไปยัง SteamLibrary
ปิด-เปิด Steam (Flatpak) ใหม่ แล้วทำการเพิ่ม SteamLibrary ใน Steam (Flatpak) ใหม่

ถึง gamemode จะไม่ขึ้น ON บน MangoHUD
แต่เวลาเปิดเกมแล้วรัน gamemoded -s ใน terminal จะขึ้นว่า gamemode ทำงานอยู่
ถ้าใช้ตัว GE-ProtonXX-XX (Flatpak); Proton-GE (community build) MangoHUD จะขึ้นว่า gamemode on ได้

เปิด Steam แก้  Lunch Options ของเกม : gamemoderun mangohud %command% (ใช้ Shift + F12 ปิด MangoHUD)

Steam (Snap) ไม่ดี
ติดตั้งผ่าน App Center ที่มากับ Ubuntu เลย, ลองทั้ง Risk-levels : Stable และ Edge
https://snapcraft.io/docs/channels
ใช้ MangoHUD ได้เฉพาะเกมที่ใช้ OpenGL
รันด้วย Proton 9.0-4 Stardew Valley MangoHUD ติดอยู่
รันด้วย Proton 9.0-4 Sekiro, Elden Ring, Dead Space Remake, Rise of the Tomb Raider MangoHUD ไม่ติด
Steam (Native), Steam (Flatpak) ติดทุกเกม
https://github.com/canonical/steam-snap/wiki/FAQ#how-do-i-use-mangohud
รัน Proton Experimental (10.0) ไม่ค่อยได้จะรันได้แต่ Proton 9.0-4
Steam (Native), Steam (Flatpak) จะรัน Proton Experimental ได้ง่ายกว่า รัน Proton-GE ตัวล่าสุดได้ง่ายกว่าด้วย
ที่อยู่ MangoHUD.conf : ~/snap/steam/common/.config/MangoHud/MangoHud.conf
ที่อยู่ไฟล์ Proton : ~/snap/steam/common/.steam/steam/compatibilitytools.d/
(ใช้ ProtonPlus ก็ได้ ง่ายกว่า, แต่ติดตั้ง Package เหมือน Steam (Native) ก่อน)

วิธีการเปิด VRR (Variable Refresh Rate), Adaptive-Sync (เปิดได้เฉพาะจอที่ Support)
Ubuntu ตัวปกติใช้ Gnome Desktop Environment รัน command ด้านล่างเพื่อเปิดใช้ VRR, Adaptive-Sync
$gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']"
คลิกขวาที่หน้าจอเลือก Display settings เลือกจอแล้วกดเปิด VRR ตามรูปด้านล่าง
https://wiki.archlinux.org/title/Variable_refresh_rate
ดูตรงหัวข้อ Wayland configuration -> GNOME
เปิด Adaptive-Sync และ Frame Counter ที่ตัวจอด้วย
ถ้าเลขตรง Frame Counter มันแกว่งแสดงว่า Adaptive-Sync ทำงาน

เพิ่มเติม
PROTON_USE_NTSYNC=1, ต้อง Compile Kernel เองจาก
GitHub https://github.com/Frogging-Family/linux-tkg, แก้ในไฟล์ customization.cfg
PROTON_ENABLE_WAYLAND=1, ค่อนข้างพังใช้ไม่ค่อยจะได้ใน Ubuntu ใช้ใน Nobara OS ได้ปกติ

Lossless Scaling (Frame-generation): https://github.com/PancakeTAS/lsfg-vk?tab=readme-ov-file
ทั้งสองอย่างใช้ได้เทสแล้ว จะอัพเดทข้อมูลทีหลัง




-------------------------------------------------------------------------------------------------------------------------------------

ถ้าจะลง Linux มาเพื่อเล่นเกมใช้พวก Linux distros เฉพาะสำหรับ gaming เลยดีกว่า เช่น
Nobara OS, Bazzite พวกนี้ลง Apps ที่เกี่ยวกับการเล่นเกม, Driver การ์ดจอ Package ที่จำเป็นไว้พร้อมเลย
Package ต่างๆ อัพเดทของใหม่ให้ตลอด, Custom Kernel ด้วย
เล่นเกมได้แบบ Out of the box, ลง OS เสร็จ Login เข้า Steam โหลดเกมมาเล่นได้เลย
เรื่อง CachyOS นี่ผมไม่รู้ครับ

ถ้าอยากใช้ Ubuntu ก็ใช้ Ubuntu 25.10 (The Questing Quokka) ดีกว่ามันยังอยู่ในช่วงของการพัฒนา
ยังทยอยทำ Package ใหม่ๆ ออกมาเรื่อยๆ แต่ก็ต้องติดตั้งเหมือนข้างบนแต่ไม่ทั้งหมดอยู่ดี
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่