Przejdź do głównej zawartości
Ta strona jest nieaktualna. Proszę zapoznać się z najnowszą dokumentacją dostępną pod adresem /configuration/gaming/

Przewodnik po graniu na CachyOS

Witaj w przewodniku po graniu na CachyOS. Przeprowadzi Cię on przez kluczowe aspekty konfiguracji wszystkiego, co potrzebne do grania.

Przede wszystkim.

Pamiętaj, że uzyskanie dwucyfrowej poprawy liczby klatek na sekundę nie zawsze jest możliwe, a czasem jest wręcz niemożliwe. Optymalizacje mogą prowadzić do niewielkich ulepszeń lub nawet żadnych, w zależności od gry i konfiguracji sprzętowej.

Nie można oczekiwać, że optymalizacje oprogramowania zadziałają jak darmowe ulepszenie sprzętu.

Aby ułatwić konfigurację CachyOS do gier, wszystkie niezbędne pakiety gamingowe zostały zebrane w jeden meta-pakiet, który zawiera wszystkie potrzebne zależności i biblioteki do grania w Linuksie, oraz w osobny meta-pakiet z narzędziami i launcherami/sklepami.

Jeśli zauważysz, że brakuje jakichś pakietów, daj znać zespołowi CachyOS.

Postępuj zgodnie z poniższymi krokami, aby rozpocząć konfigurację do gier.

Meta-pakiet cachyos-gaming-meta zawiera wiele bibliotek związanych z grami.

Terminal window
sudo pacman -S cachyos-gaming-meta

Proton-CachyOS bazuje na gałęzi bleeding-edge Protona i wprowadza szereg modyfikacji.

  • Patche z wine-staging
  • Wine Fullscreen FSR
  • Zawiera kodeki wideo i audio dla przerywników filmowych w grach
  • Wsparcie dla umu-launcher, w tym UMU-Protonfixes
  • Dodaje wczesne poprawki/obejścia dla gier

Opcje uruchamiania w Steam są konstruowane według następującego wzorca.

Terminal window
<zmienne środowiskowe> <wrappery> %command% <argumenty aplikacji>
  • <zmienne środowiskowe>: Są to opcje w formie ZMIENNA=wartość

    Przykłady
    PROTON_DXVK_D3D8=1
    # Lub
    DXVK_HUD="fps,memory,version,api"
  • <wrappery>: Są to aplikacje i skrypty, które modyfikują sposób uruchamiania właściwej aplikacji. Argumenty dla wrappera zazwyczaj znajdują się po jego nazwie.

    Przykłady
    mangohud --dlsym
    # Lub
    gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  • %command%: To jest właściwa aplikacja. Powinno być to podane dokładnie w tej formie, a Steam zastąpi to odpowiednią komendą podczas uruchamiania aplikacji.

  • <argumenty aplikacji>: Są to różne argumenty dla właściwej aplikacji, zależne od niej samej.

    Przykład
    %command% -dx11

Przykład pełnej opcji uruchamiania, łączącej wszystkie elementy:

Terminal window
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
  • DLSS i funkcje Nvidia
    • PROTON_DLSS_UPGRADE=1: Automatycznie aktualizuje DLSS do najnowszej wersji.
    • PROTON_DLSS_INDICATOR=1: Pokazuje wskaźnik statusu DLSS w grze.
    • PROTON_NVIDIA_LIBS=1: Włącza biblioteki Nvidia (PhysX, CUDA) - nie jest potrzebne dla DLSS/ray tracingu.
Zaawansowane ustawienia Nvidia
  • PROTON_NVIDIA_NVCUDA=1: Włącza tylko wsparcie CUDA.
  • PROTON_NVIDIA_NVENC=1: Włącza tylko kodowanie NVENC.
  • PROTON_NVIDIA_NVML=1: Włącza monitorowanie NVML.
  • PROTON_NVIDIA_NVOPTIX=1: Włącza ray tracing OptiX.
  • PROTON_NVIDIA_LIBS_NO_32BIT=1: Ogranicza biblioteki tylko do 64-bitowych (naprawia problemy z wydajnością na kartach RTX 4000+).
  • Upscaling AMD i Intel
    • PROTON_FSR4_UPGRADE=1: Automatycznie aktualizuje FSR do najnowszej wersji.
    • PROTON_FSR4_RDNA3_UPGRADE=1: Używa biblioteki FSR4 DLL zoptymalizowanej pod RDNA3.
    • PROTON_XESS_UPGRADE=1: Automatycznie aktualizuje XeSS do najnowszej wersji.

Upewnij się, że masz zainstalowany w systemie umu-launcher z CachyOS. Zainstaluj go za pomocą następującego polecenia.

Terminal window
sudo pacman -S cachyos/umu-launcher
  1. Na głównym ekranie Lutris kliknij ikonę zębatki obok Wine.
  2. Przejdź do zakładki Opcje runnera i upewnij się, że Twoje ustawienia są zgodne z poniższymi:
    • Wersja Wine = proton-cachyos
    • Użyj systemowego winetricks = Wyłączone
    • Grafika
      • Włącz DXVK = Włączone
        • Uwaga: Zdefiniowane przez użytkownika wersje DXVK, VKD3D i DXVK-NVAPI nie są stosowane przy użyciu umu-launcher.
  3. Przejdź do zakładki Opcje systemowe.
    • Lutris
      • Wyłącz środowisko uruchomieniowe Lutris = Włączone
      • Preferuj biblioteki systemowe = Włączone
  4. Przewiń w dół do sekcji Uruchamianie gry i znajdź tabelę Zmienne środowiskowe.
  5. Dodaj następujące zmienne środowiskowe:
    • Klucz: UMU_RUNTIME_UPDATE opcjonalne
      • Wartość: 0
      • Pominie to aktualizacje Steam Linux Runtime dla proton-cachyos. Nie używaj tego z żadnym Protonem, który wykorzystuje Steam Linux Runtime, takim jak proton-cachyos-slr, -GE, czy -EM.
    • Klucz: PROTON_VERB opcjonalne
      • Wartość: waitforexitandrun
      • Pozwala to na działanie protonfixes z odpowiadającym im GAMEID.
  6. Kliknij Zapisz, aby zastosować zmiany.
  1. Otwórz terminal i zainstaluj protonup.

    Terminal window
    sudo pacman -S protonup-qt
  2. Otwórz protonup-qt i postępuj zgodnie ze zrzutem ekranu:

  3. Uruchom ponownie Steam, jeśli był otwarty.

Instalacja ręczna (zaawansowane)
  1. Pobierz najnowszą wersję stąd (przewiń w dół do Assets).

    Wybierz wersję kończącą się na x86-64_v3, jeśli Twój procesor obsługuje AVX2. W przeciwnym razie pobierz wersję kończącą się na x86-64.

  2. Rozpakuj plik i przenieś folder do ~/.steam/steam/compatibilitytools.d/
  3. Uruchom ponownie Steam, jeśli był otwarty.

To to samo wine, które jest rdzeniem proton-cachyos, ale jako samodzielny pakiet. Może być używane w Lutris, Heroic, Bottles i innych.

  • Wszystkie modyfikacje Wine zawarte w Proton-CachyOS
  • Dodaje wczesne poprawki/obejścia dla gier

Dodatkowe opcje konfiguracji

  • WINE_WMCLASS="<nazwa>": Ustawia WM_CLASS wszystkich okien Wine, pozwalając menedżerowi okien kontrolować okna Wine za pomocą reguł.
  • WINEUSERSANDBOX=1: Wyłącza tworzenie dowiązań symbolicznych z folderów użytkownika Wine (takich jak Dokumenty i Obrazy) do odpowiednich folderów w katalogu HOME użytkownika.
  • WINE_NO_WM_DECORATION=1: Wyłącza dekoracje okien. Może to naprawić problemy z pełnym ekranem bez ramek i przenikaniem kliknięć myszy przez okno.
  • WINE_PREFER_SDL_INPUT=1: Obejście problemów z wykrywaniem kontrolerów.

Zazwyczaj uruchomienie /opt/wine-cachyos/bin/wine zamiast samego wine powinno wystarczyć, aby aplikacja działała z użyciem wine-cachyos-opt.

Jeśli wymagana jest bardziej rygorystyczna konfiguracja, może ona wyglądać następująco:

Terminal window
export PATH="/opt/wine-cachyos/bin/:$PATH"
export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"

Jeśli chcesz używać winetricks z wine-cachyos-opt, możesz go wywołać w ten sposób:

Terminal window
WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=<twój_prefix> winetricks <polecenie>
  • Proton 10.0 to stabilne wydanie od Valve. Użyj go, jeśli gra, w którą chcesz zagrać, jest znana z dobrego działania z tą wersją.
  • Proton Experimental to najnowsze wydanie od Valve. Użyj go, jeśli gra, w którą chcesz zagrać, jest stosunkowo nowa, nie działa dobrze z obecnym stabilnym wydaniem Protona lub jeśli ludzie polecają ją na ProtonDB.
  • proton-cachyos-slr jest wersją budowaną i utrzymywaną przez opiekunów CachyOS. Jej użycie jest wysoce zalecane ze względu na różne funkcje QoL, poprawki i optymalizacje. W przypadku gier korzystających z anti-cheat, takich jak BattlEye lub Easy Anti-Cheat, lub niestandardowych launcherów, preferowany jest proton-cachyos-slr.
  • proton-cachyos to ta sama wersja co proton-cachyos-slr, ale zbudowana bez zależności od Steam Linux Runtime. Używaj jej tylko wtedy, gdy rozumiesz znaczenie tej różnicy i wróć do proton-cachyos-slr, jeśli wystąpią problemy.
  • Proton-GE to niestandardowa kompilacja stworzona przez GloriousEggroll. Zawiera różne poprawki i może być przydatna w niektórych sytuacjach.
  • Proton 9.0.4 lub niższy to stabilne wydania od Valve. Użyj ich, jeśli gra, w którą chcesz zagrać, działa tylko z poprzednim wydaniem Protona.

Napraw zacinanie się spowodowane funkcją nagrywania gier w Steam

Dział zatytułowany „Napraw zacinanie się spowodowane funkcją nagrywania gier w Steam”

Dodaj następującą opcję uruchamiania do swojej gry.

Terminal window
LD_PRELOAD="" %command%

Aby włączyć logowanie Protona dla gry:

  1. Kliknij prawym przyciskiem myszy na grę w Steam i wybierz Właściwości.
  2. W sekcji Opcje uruchamiania ustaw zmienną środowiskową PROTON_LOG:
    Terminal window
    PROTON_LOG=1 %command%
    Spowoduje to utworzenie pliku logu w twoim katalogu domowym o nazwie steam-<ID_aplikacji>.log (na przykład, Counter Strike 2 używa ID aplikacji 730, więc plik nazywałby się steam-730.log).
Niestandardowy katalog logów

Aby ustawić niestandardowy katalog logów, użyj PROTON_LOG_DIR:

Przykład
PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%

Wstępne buforowanie shaderów z Proton-CachyOS, -GE i -EM

Dział zatytułowany „Wstępne buforowanie shaderów z Proton-CachyOS, -GE i -EM”

W Steam, kliknij Steam->Ustawienia, przejdź do Pobieranie i odznacz te ustawienia:

  • Zezwalaj na przetwarzanie w tle shaderów Vulkan
  • Włącz wstępne buforowanie shaderów

Ponowne wykorzystanie partycji z grami w formacie Windows NTFS

Dział zatytułowany „Ponowne wykorzystanie partycji z grami w formacie Windows NTFS”

Lutris to launcher gier w CachyOS. Dzięki Lutris możesz łatwo zarządzać programami do uruchamiania gier, w tym Wine, Proton i emulatorami.

  • Uruchamiaj gry przez Lutris, po prostu klikając przycisk Graj.
  • Dodaj dowolną grę, klikając + w lewym górnym rogu.
  • Skonfiguruj sklep w panelu Źródła po lewej stronie i połącz swoje konto. Następnie przejdzie do instalacji wspomnianego sklepu, a ty będziesz mógł uruchamiać gry z poziomu sklepu, tak jak na Windowsie.
  • I wiele więcej!

Sklepy z grami obsługiwane w Lutris:

Jak prawidłowo ustawić wiele opcji uruchamiania i zmiennych środowiskowych w Lutris

Dział zatytułowany „Jak prawidłowo ustawić wiele opcji uruchamiania i zmiennych środowiskowych w Lutris”
  • Opcje uruchamiania, takie jak -dx11 lub -fullscreen, należy dodać w polu Argumenty w zakładce Opcje gry, używając spacji jako separatora.
  • Polecenia otaczające, na przykład mangohud --dlsym lub game-performance, należy dodać w polu Prefiks polecenia w zakładce Opcje systemowe, używając spacji jako separatora.
  • Zmienne środowiskowe, takie jak PROTON_ENABLE_HDR=1, należy dodać w tabeli Zmienne środowiskowe w zakładce Opcje systemowe, używając przycisku +, aby dodać nowy wpis.

Ponieważ gamemode i ananicy-cpp próbują jednocześnie modyfikować priorytet (niceness) procesu, może to prowadzić do konfliktów i nieoczekiwanego zachowania. Zaleca się używanie gamemode bez ananicy-cpp.

Aby zatrzymać ananicy-cpp, wykonaj następujące polecenie:

Terminal window
systemctl stop ananicy-cpp

CachyOS zawiera skrypt opakowujący game-performance, który używa power-profiles-daemon do tymczasowego przełączenia profilu zasilania na performance. Profil ten podnosi poziomy mocy systemu i ustawia zarządcę (governor) procesora na performance, a także przełącza każdy aktywny scheduler scx na jego profil gamingowy (jeśli jest dostępny).

Gdy jest używany do uruchomienia gry, system pozostaje w trybie wydajności do momentu zamknięcia gry, po czym przywracany jest poprzedni profil.

GameMode od Feral oferuje podobną funkcjonalność.

Jak dodać game-performance do Steam, Lutris i Heroic Games Launcher

Dział zatytułowany „Jak dodać game-performance do Steam, Lutris i Heroic Games Launcher”
  1. Otwórz swoją Bibliotekę Steam.
  2. Kliknij prawym przyciskiem myszy na tytuł gry i wybierz Właściwości.
  3. W zakładce Ogólne znajdziesz sekcję Opcje uruchamiania.
  4. Dodaj następującą opcję uruchamiania:
    Terminal window
    game-performance %command%

Zwiększ maksymalny rozmiar pamięci podręcznej shaderów

Dział zatytułowany „Zwiększ maksymalny rozmiar pamięci podręcznej shaderów”

Shadery gier są kompilowane automatycznie podczas gry, co może powodować długie czasy ładowania i zacinanie się przy pierwszym ich napotkaniu. Te shadery są przechowywane w systemie, aby mogły być ponownie użyte w razie potrzeby.

Istnieje jednak maksymalny limit rozmiaru pliku pamięci podręcznej shaderów, co powoduje, że stare shadery są zapominane po przekroczeniu domyślnego rozmiaru. Może to być problem, ponieważ duże gry mogą mieć shadery o rozmiarze ponad 1 GB, co powoduje, że muszą one ponownie kompilować shadery przy każdym uruchomieniu.

Aby uniknąć długich czasów ładowania i zacinania się, możemy zwiększyć globalny rozmiar pamięci podręcznej shaderów:

  1. Otwórz terminal.
  2. Utwórz katalog environment.d w swoim folderze konfiguracyjnym, jeśli nie istnieje:
    Terminal window
    mkdir -p ~/.config/environment.d
  3. Utwórz nowy plik konfiguracyjny:
    Terminal window
    touch ~/.config/environment.d/gaming.conf
  4. Otwórz plik za pomocą Micro (edytora tekstu).
    Terminal window
    micro ~/.config/environment.d/gaming.conf
    I wklej poniższą zawartość w zależności od producenta twojej karty graficznej:
    AMD
    Terminal window
    # Wymusza implementację RADV Vulkan
    AMD_VULKAN_ICD=RADV
    # Zwiększa rozmiar pamięci podręcznej shaderów AMD do 12GB
    MESA_SHADER_CACHE_MAX_SIZE=12G
    NVIDIA
    Terminal window
    # Zwiększa rozmiar pamięci podręcznej shaderów Nvidii do 12GB
    __GL_SHADER_DISK_CACHE_SIZE=12000000000
  5. Zapisz plik, naciskając CTRL+S i CTRL+Q, aby wyjść z Micro. Uruchom ponownie system.

Po ponownym uruchomieniu maksymalny rozmiar pamięci podręcznej shaderów powinien być trwale zwiększony. Podziękowania dla psygreg’s shader booster za pomoc w przygotowaniu tego przewodnika.

Jak dodać dlss-swapper do Steam, Lutris i Heroic Games Launcher

Dział zatytułowany „Jak dodać dlss-swapper do Steam, Lutris i Heroic Games Launcher”
  1. Otwórz swoją Bibliotekę Steam.
  2. Kliknij prawym przyciskiem myszy na tytuł gry i wybierz Właściwości.
  3. W zakładce Ogólne znajdziesz sekcję Opcje uruchamiania.
  4. Dodaj następującą opcję uruchamiania:
    Terminal window
    dlss-swapper %command%
Metoda ręcznej wymiany DLL

Jeśli dlss-swapper nie działa lub powoduje problemy, spróbuj ręcznie zaktualizować implementację DLSS w grze, zastępując nvngx_dlss.dll aktualną wersją i używając zamiast tego skryptu opakowującego dlss-swapper-dll.

Arch Wiki już dostarcza kompleksowe instrukcje, jak włączyć ray tracing dla różnych platform sprzętowych.

Spadek wydajności w grach DirectX12 na kartach Nvidia

Dział zatytułowany „Spadek wydajności w grach DirectX12 na kartach Nvidia”

Niektórzy użytkownicy zgłaszają, że problem jest związany ze sposobem, w jaki sterowniki Nvidii dla Linuksa obsługują harmonogramowanie GPU — w przeciwieństwie do Windowsa, gdzie wymuszane jest odpowiednie harmonogramowanie. Nie ma jeszcze oficjalnego oświadczenia Nvidii w tej sprawie. Obecnie nie ma znanego obejścia tego problemu. Nvidia rzekomo pracuje nad poprawką, ale nie jest jasne, kiedy zostanie ona wydana.

Nie ma to nic wspólnego z CachyOS.

W niektórych tytułach spadek wydajności jest mniej zauważalny niż w innych. Sprawdź to wideo z porównaniem wydajności jako punkt odniesienia.

Śledź wątek na forum Nvidii, aby dowiedzieć się więcej o tym problemie.