แชร์ประสบการณ์ติดตั้ง 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 แยกใส่เกม

Ubuntu 24.04


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

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

sudo dpkg --install steam_latest.deb
sudo apt-get install --fix-missing
sudo dpkg --install steam_latest.deb

โหลด 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
ดูตรงหัวข้อ Installation -> Native
Download ไฟล์แล้ว Extract มาวางไว้ที่ ~/.steam/steam/compatibilitytools.d/
https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#native
(ใช้ ProtonPlus ก็ได้ ง่ายกว่า, แต่ติดตั้ง Package ด้านบนก่อน)

โหลด gamemode จาก GitHub
ลง Dependancies
$sudo apt update && sudo apt install meson libsystemd-dev pkg-config ninja-build git dbus-user-session libdbus-1-dev libinih-dev build-essential
Build และ Install
$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 โหลด .tar.xz จาก Release
$sudo dpkg -i libqt6pas6_6.2.8-1_amd64.deb
Extract ไฟล์, เข้าไปใน Folder Goverlay แล้วรัน
ทำการแก้ไฟล์ MangoHUD.conf โปรแกรมจะแก้ไฟล์ลงที่ ~/.config/MangoHud/MangoHud.conf
https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#installation---pre-packaged-binaries
https://github.com/benjamimgois/goverlay?tab=readme-ov-file#ubuntu

เปิด Steam แก้  Lunch Options ของเกม:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgamemodeauto.so.0 mangohud %command% (ใช้ Shift + F12 ปิด MangoHUD)
path ไป libgamemodeauto.so.0 ถ้าไม่ใช่ตามข้างบนใช้ command find หาดู
$sudo find / -name libgamemode*
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/
https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#manual
(ใช้ ProtonPlus ก็ได้ ง่ายกว่า, แต่ติดตั้ง Package เหมือน Steam (Official) ก่อน)

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

GE-ProtonXX-XX Released ที่โหลดมาจาก GitHub จะไม่สามารถเปิด gamemode ได้, ไม่ขึ้น ON ใน MangoHUD
GE-ProtonXX-XX (Flatpak); Proton-GE (community build) จะสามารถเปิด gamemode ได้, ขึ้นว่า ON ใน MangoHUD

เปิด 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 (Official), Steam (Flatpak) ติดทุกเกม
https://github.com/canonical/steam-snap/wiki/FAQ#how-do-i-use-mangohud
รัน Proton Experimental (10.0) ไม่ค่อยได้จะรันได้แต่ Proton 9.0-4
Steam (Official), 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 (Official) ก่อน)

วิธีการเปิด 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
https://github.com/Frogging-Family/linux-tkg, แก้ในไฟล์ customization.cfg
เปิด PROTON_ENABLE_WAYLAND=1 ไม่ค่อยได้, สรุปคือ wine-wayland ไม่ได้ทดสอบบน Gnome
เปิด Monster Hunter Wilds ไม่ได้, ลอง Distros Gaming สาย Fedora, Arch Linux มาหมดแล้ว,
คิดว่าเป็นเพราะ การ์ดจอ Intel, การ์ดจอ NVIDIA, AMD บางคนก็ติด บางคนก็ไม่ติด

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

ถ้าจะลง Linux มาเพื่อเล่นเกมใช้พวก Linux distros เฉพาะสำหรับ Gaming เลยดีกว่า เช่น

(สาย Fedora) Nobara OS, Bazzite
พวกนี้ลง Program, Package ที่เกี่ยวกับการเล่นเกมไว้พร้อมเลย, Driver การ์ดจอมาพร้อมกับ OS เลย
Custom Kernel ด้วย, มีอัพเดทให้ตลอด ได้ใช้ของใหม่ตลอด, ติดตั้งเสร็จ เปิด Steam เล่นเกมได้เลย

(สาย Arch Linux) Garuda Linux
Driver การ์ดจอติดตั้งมาพร้อมกับ OS, ต้องติดตั้ง Steam, Mangohud, Gamemode เอง
แต่ก็ไม่ได้ยากมาก, จิ้มเลือกใน โปรแกรมที่คล้ายๆกับ Synaptic Package Manager แปปเดียวก็ใช้งานได้แล้ว
(Ubuntu ก็จิ้มได้แต่ Package บางอย่างมันเก่า, ไม่ได้อัพเดท)

แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่