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

Ogólne Modyfikacje Systemu


amd-pstate to sterownik skalowania wydajności procesorów AMD, który wprowadza w jądrze Linux nowy mechanizm kontroli częstotliwości procesora dla nowoczesnych serii APU i CPU od AMD. Nowy mechanizm opiera się na Collaborative Processor Performance Control (CPPC), co zapewnia bardziej precyzyjne zarządzanie częstotliwością niż przestarzałe stany P sprzętu ACPI.

Obecne platformy CPU/APU od AMD używają sterownika stanów P ACPI do zarządzania częstotliwością i taktowaniem procesora, przełączając się tylko między 3 stanami P. CPPC zastępuje kontrolę stanów P ACPI i pozwala na elastyczny, niskolatencyjny interfejs dla jądra Linux, aby bezpośrednio przekazywać wskazówki dotyczące wydajności do sprzętu.

Poniżej znajdują się 3 tryby działania sterownika amd-pstate oraz wpisy wiersza poleceń jądra, aby używać ich podczas uruchamiania systemu:

  • AMD P-State (Tryb nieautonomiczny): amd-pstate=passive
  • AMD P-State Guided (Tryb kierowany autonomiczny): amd-pstate=guided
  • AMD P-State EPP (Tryb autonomiczny): amd-pstate=active

Możesz również przełączać się między trybami działania w czasie rzeczywistym, aby przetestować opcje:

  • Tryb autonomiczny: platforma bierze pod uwagę tylko wartości ustawione dla minimalnej wydajności, maksymalnej wydajności i preferencji wydajności energetycznej.

    Terminal window
    echo active | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Tryb kierowany autonomiczny: platforma ustawia poziom wydajności operacyjnej zgodnie z bieżącym obciążeniem i w granicach ustalonych przez system operacyjny poprzez rejestry minimalnej i maksymalnej wydajności.

    Terminal window
    echo guided | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Tryb nieautonomiczny: platforma pobiera pożądany poziom wydajności bezpośrednio od systemu operacyjnego poprzez rejestr pożądanej wydajności.

    Terminal window
    echo passive | sudo tee /sys/devices/system/cpu/amd_pstate/status

Więcej informacji:

Aby używać P-State EPP, dostępne są dwa zarządce skalowania częstotliwości procesora: powersave i performance. Zaleca się używanie zarządcy powersave i ustawienie preferencji.

  • Ustaw zarządcę powersave: sudo cpupower frequency-set -g powersave
  • Ustaw zarządcę performance: sudo cpupower frequency-set -g performance

Aby ustawić preferencję, uruchom następujące polecenie z pożądaną preferencją:

Terminal window
echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference

Dostępne preferencje: performance, power, balance_power, balance_performance

Benchmarki dla każdej preferencji można znaleźć tutaj: https://lore.kernel.org/lkml/[email protected]/

AMD opublikowało łatkę optymalizującą planowanie pamięci podręcznej na procesorach 3D z podwójnym CCD, takich jak 7950X3D i 7900X3D. Musisz ustawić w BIOSie opcję CPPC na “Driver”. Umożliwi to nadpisanie używanego trybu za pomocą sysfs.

Dostępne są dwa tryby:

  1. Frequency (Częstotliwość)
  2. Cache (Pamięć podręczna)

Jeśli ustawiono cache, sterownik będzie próbował umieszczać zadania w pierwszej kolejności na CCD z większą pamięcią podręczną, co jest głównie korzystne w grach. Opcja frequency będzie próbowała umieszczać zadania na drugim CCD, który ma wyższą częstotliwość niż CCD z pamięcią podręczną 3D.

Frequency (Domyślnie):

Terminal window
echo frequency | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Cache:

Terminal window
echo cache | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Po zmianie trybów, statystyki preferowanych rdzeni AMD powinny pokazywać inny ranking. Możesz go odczytać za pomocą:

Terminal window
grep -v /sys/devices/system/cpu/cpu*/cpufreq/amd_pstate_prefcore_ranking

AMD Core Performance Boost, znane również jako AMD Turbo Core, to technologia dynamicznego skalowania częstotliwości firmy AMD, która pozwala procesorowi dynamicznie dostosowywać i kontrolować częstotliwość pracy w niektórych wersjach swoich procesorów, co pozwala na zwiększoną wydajność w razie potrzeby przy jednoczesnym zachowaniu niższych parametrów mocy i termicznych podczas normalnej pracy.

Od wersji linux-cachyos 6.9.6, jądro jest załatane wsparciem dla CPB dla sterowników p-state AMD (w tym passive, active i guided). Użytkownicy mogą zmieniać stan boost każdego rdzenia procesora za pomocą pliku boost w sysfs /sys/devices/system/cpu/cpuX/cpufreq/boost (X odnosi się do numeru rdzenia, np. cpu0 to pierwszy rdzeń, cpu1 drugi, itd.).

Terminal window
echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/boost # Wyłącz boost dla wszystkich rdzeni
lscpu -ae # To pokazuje, że AMD CPB jest globalnie wyłączone
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1212.8250
1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1394.2180
2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 1204.4600
echo 1 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/boost # Włącza boost na cpu0
lscpu -ae
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
0 0 0 0 0:0:0:0 yes 4564.0000 400.0000 1393.2380
1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 400.0000
2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 2157.8469

CachyOS dostarcza również wersję power-profiles-daemon, która wprowadza commit zapewniający wsparcie dla AMD CPB. AMD CPB zostanie wyłączone, jeśli używany jest profil powersave, a włączone w profilach balanced lub performance.

Więcej informacji znajdziesz na:

Stworzony przez firelzrd

Krótkie wprowadzenie z pliku README:

  • ADIOS (Adaptive Deadline I/O Scheduler) to planista I/O warstwy blokowej dla jądra Linux, zaprojektowany dla nowoczesnych urządzeń blokowych z wieloma kolejkami (blk-mq). Ma na celu zapewnienie niskiej latencji dla operacji I/O poprzez połączenie zasad planowania deadline z opartym na uczeniu się adaptacyjnym mechanizmem kontroli latencji.
    • Zainspirowany i oparty na koncepcjach z planistów I/O mq-deadline i Kyber. Jego główną cechą jest zdolność do przewidywania latencji ukończenia operacji I/O na podstawie wcześniejszych wyników i charakterystyki żądania (typ operacji, rozmiar) oraz wykorzystanie tej prognozy do dynamicznego dostosowywania terminów żądań i zachowania grupowania.

TLDR: ADIOS działa, ucząc się profilu opóźnień Twojego urządzenia pamięci masowej i wykorzystując tę wiedzę do dynamicznego ustawiania terminów dla żądań I/O. Priorytetyzuje żądania na czterech poziomach, od krytycznych operacji systemowych (Poziom 0) do zadań w tle (Poziom 3), aby zapewnić płynne działanie. Chociaż koncentruje się na responsywności, jego zachowanie można dostroić za pomocą ustawień sysfs, aby zrównoważyć opóźnienia i przepustowość.

Prezentację na żywo możesz obejrzeć w tym filmie

Ta metoda ustawia planistę dla bieżącej sesji. Zmiana zostanie utracona po ponownym uruchomieniu.

Terminal window
sync && echo adios | sudo tee /sys/block/<twoj_dysk>/queue/scheduler
# Zastąp <twoj_dysk> faktycznym identyfikatorem dysku (np. sda, sdb, nvme0n1)

FAQ:

  • Jeśli poprawia responsywność, dlaczego nie jest włączony domyślnie?
    • ADIOS jest wciąż w fazie aktywnego rozwoju i ciągłych testów. Chociaż oferuje znaczące korzyści dla responsywności pulpitu, nie jest jeszcze uważany za wystarczająco stabilny, aby być domyślnym dla wszystkich obciążeń i typów sprzętu. W niektórych skrajnych przypadkach błędy mogą prowadzić do problemów, takich jak zawieszenie systemu. Z tego powodu jest to opcjonalna funkcja dla użytkowników, którzy chcą przetestować i skorzystać z jej najnowszych ulepszeń.

Bezpośredni cytat z dokumentacji NVIDIA:

NVIDIA Smooth Motion to nowy, oparty na sterowniku model AI, który zapewnia płynniejszą rozgrywkę, wnioskując dodatkową klatkę między dwiema wyrenderowanymi klatkami. W grach bez DLSS Frame Generation, NVIDIA Smooth Motion to nowa opcja poprawy wrażeń na kartach graficznych GeForce RTX z serii 40 i nowszych.

  • Jak włączyć NVIDIA Smooth Motion dla gry:
    • Dodaj następującą zmienną środowiskową:
      NVPRESENT_ENABLE_SMOOTH_MOTION=1

FAQ:

  • Dlaczego używać Smooth Motion zamiast DLSS Frame Generation?
    • Gdy gra nie obsługuje DLSS Frame Generation, Smooth Motion służy jako alternatywa dzięki swojemu modelowi AI opartemu na sterowniku.
  • Czy używanie Smooth Motion ma jakieś wady?
    • Tak, włączenie Smooth Motion może wprowadzić niewielkie opóźnienie wejścia z powodu dodatkowego procesu wnioskowania klatek.
    • Może powodować problemy z nakładkami firm trzecich. Aby tego uniknąć, dodaj następującą zmienną środowiskową:
      NVPRESENT_QUEUE_FAMILY=1
  • Dlaczego MangoHud nie pokazuje zwiększonej liczby klatek na sekundę?
    • Obecnie MangoHud nie uwzględnia dodatkowych klatek generowanych przez Smooth Motion, co prowadzi do mylącego raportowania liczby klatek na sekundę.
      • Użycie wbudowanego licznika FPS w monitorze pokaże prawidłową liczbę klatek.
  • Jaka jest jakość obrazu w porównaniu do DLSS Frame Generation?
    • Jakość obrazu nie jest tak dobra i może wprowadzać artefakty, zwłaszcza podczas szybkich scen akcji.
  • Czy jest kompatybilny z zewnętrznymi narzędziami do ograniczania liczby klatek? Przykład: MangoHud.
    • Nie. Wbudowany w grze ogranicznik powinien działać poprawnie.
  • Czy Smooth Motion można łączyć z DLSS Frame Generation?
    • Nie. Tylko jedna metoda generowania klatek może być aktywna w danym momencie.

RCU Lazy pomaga zmniejszyć zużycie energii w systemach bezczynnych lub lekko obciążonych. Może to być przydatne w przypadku laptopów i urządzeń przenośnych. Poprawa w oszczędzaniu energii wynosi od 5 do 10%. Należy jednak pamiętać, że ta funkcja oszczędzania energii może wiązać się z nieznacznym obniżeniem wydajności, w zależności od scenariusza. Jądro linux-cachyos-deckify będzie miało tę opcję domyślnie włączoną, ponieważ oszczędzanie energii jest kluczowe i niezbędne dla tych urządzeń.

Aby włączyć RCU Lazy, dodaj następujący parametr do listy parametrów linii poleceń jądra:

rcutree.enable_rcu_lazy=1

Chociaż jest to miły krok naprzód, może to wprowadzić pewne niedogodności, takie jak problemy z podkręcaniem za pomocą nvidia-settings lub powodować niekompatybilność ze starszymi kartami graficznymi, które mają problemy z Waylandem.

Aby cofnąć tę zmianę, usuń pakiet cachyos-kde-settings:

Terminal window
sudo pacman -R cachyos-kde-settings

Oprogramowanie układowe NVIDIA GSP może “w niektórych przypadkach” prowadzić do obniżenia wydajności. Chociaż sterownik NVIDIA 555.58.02 w dużej mierze rozwiązał ten problem, może on nadal występować na niektórych systemach. Jeśli napotykasz na zacięcia w KDE lub niską wydajność w niektórych przypadkach, możesz wyłączyć oprogramowanie układowe GSP za pomocą następującego pliku konfiguracyjnego: /etc/modprobe.d/nvidia-gsp.conf

options nvidia NVreg_EnableGpuFirmware=0

Po utworzeniu pliku, wykonaj następujące polecenie:

Terminal window
sudo mkinitcpio -P

Zasadniczo zaleca się testowanie oprogramowania układowego GSP po każdej nowej instalacji sterownika NVIDIA, ponieważ często wprowadza ono korzystne funkcje. Co więcej, NVIDIA zaczęła głównie przeprowadzać testy QA przy użyciu oprogramowania układowego GSP.

Głośniki w laptopach często produkują płaski i mało imponujący dźwięk z powodu ich kompaktowych rozmiarów i ograniczonych możliwości sprzętowych. EasyEffects może znacząco poprawić jakość dźwięku wbudowanych głośników laptopa poprzez zastosowanie różnych efektów audio i niestandardowych konfiguracji.

Aby zacząć, musisz zainstalować EasyEffects i wymagane zależności:

Terminal window
# Zainstaluj EasyEffects
sudo pacman -S easyeffects
# Zainstaluj dodatkowe wtyczki dla większej liczby efektów
sudo pacman -S lsp-plugins-lv2
sudo pacman -S zam-plugins
sudo pacman -S calf
sudo pacman -S mda.lv2

Postępuj zgodnie z tymi krokami, aby skonfigurować EasyEffects:

  1. Uruchom EasyEffects z menu aplikacji lub wpisując easyeffects w terminalu.
  2. Przejdź do zakładki Wyjście, aby zarządzać efektami stosowanymi do dźwięku z głośników.
  3. Przełącz się na zakładkę Efekty, aby dodawać, modyfikować lub dostosowywać efekty audio.

Aby szybko i skutecznie skonfigurować, zacznij od presetów stworzonych przez społeczność, dostosowanych do różnych scenariuszy audio:

  1. Pobierz presety z repozytorium EasyEffects Community Presets.
  2. W EasyEffects kliknij przycisk Presety i wybierz “Importuj preset z pamięci lokalnej”.
  3. Zlokalizuj i wybierz pobrany plik presetu.
  4. Po zaimportowaniu preset pojawi się na Twojej liście — kliknij “Wczytaj”, aby zastosować go do wyjścia audio.

Aby uzyskać bardziej spersonalizowane wrażenia dźwiękowe, utwórz niestandardowy profil dostosowany do głośników Twojego laptopa:

  1. Kliknij przycisk “+” w menu Presety, aby utworzyć nowy preset (np. nazwij go “Głośniki laptopa”).
  2. Wybierz “Wczytaj”, aby aktywować nowy preset.
  3. Dodaj i skonfiguruj efekty w zakładce Wyjście > Efekty, eksperymentując z opcjami takimi jak korektory, wzmacniacze basu czy poszerzacze stereo.

Efekt Convolver może radykalnie poprawić dźwięk, stosując odpowiedzi impulsowe, które symulują wysokiej jakości środowiska audio. Wymaga to jednak precyzyjnej konfiguracji:

  1. Dodaj efekt Convolver do swojego łańcucha efektów w zakładce Efekty.
  2. Wczytaj plik odpowiedzi impulsowej (w formacie .wav) specyficzny dla Twojego modelu laptopa, jeśli jest dostępny. Możesz szukać tych plików online w źródłach takich jak:
  3. Zapobiegaj przesterowaniu: Efekt Convolver może znacznie zwiększyć głośność. Dodaj efekt Limiter po Convolverze w swoim łańcuchu efektów, aby kontrolować szczyty i uniknąć zniekształceń.
  • Eksperymentuj z różnymi presetami, aby znaleźć najlepsze dopasowanie do Twojego konkretnego modelu laptopa i osobistych preferencji dźwiękowych.
  • Dokonuj stopniowych korekt poszczególnych efektów, aby zapobiec zniekształceniom lub nienaturalnemu brzmieniu.
  • Porównuj, włączając i wyłączając: Często włączaj i wyłączaj EasyEffects, aby ocenić poprawę w stosunku do domyślnego dźwięku.
  • Szukaj presetów specyficznych dla urządzenia lub odpowiedzi impulsowych Convolvera dla popularnych modeli laptopów, takich jak Framework Laptop 13 czy ThinkPad T14, aby osiągnąć dopasowane rezultaty.
  • Automatyzuj uruchamianie: Skonfiguruj EasyEffects, aby uruchamiał się automatycznie przy starcie systemu poprzez preferencje aplikacji, aby zapewnić, że Twój niestandardowy profil jest zawsze stosowany.
  • Automatyczne wczytywanie presetów dla wielu urządzeń: Użyj zakładki PipeWire > Automatyczne Wczytywanie Presetów, aby powiązać określone presety z różnymi urządzeniami wyjściowymi (np. Głośniki vs. Słuchawki) dla płynnego przełączania.

Jako alternatywę możesz wypróbować JDSP4Linux, który jest procesorem efektów audio dla klientów PipeWire i PulseAudio.

W naszym repozytorium udostępniamy niestandardowy pakiet obs-studio-browser, który jest zalecany zamiast standardowego pakietu obs-studio. Zawiera on łatki naprawiające niektóre typowe problemy, takie jak błędy cuda i problemy z wirtualną kamerą.

Otwórz terminal i uruchom następujące polecenie
sudo pacman -S obs-studio-browser
# Jeśli wcześniej miałeś zainstalowany pakiet obs-studio, pacman zapyta, czy
# chcesz go zastąpić, w takim przypadku wpisz "T".

Domyślnie CachyOS używa ZRam do zarządzania przestrzenią wymiany. Jeśli jednak wolisz używać Zswap, możesz łatwo się przełączyć, wykonując następujące kroki:

  1. Wyłącz ZRam, dodając parametr jądra. Edytuj konfigurację swojego bootloadera i dodaj następującą linię:
    systemd.zram=0
  2. Utwórz pusty plik nadpisujący, aby wyłączyć regułę udev CachyOS, która wyłącza Zswap:
    Terminal window
    sudo touch /etc/udev/rules.d/30-zram.rules
  3. Włącz Zswap, dodając następujący parametr jądra:
    zswap.enabled=1 zswap.shrinker_enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=30
  4. Utwórz plik wymiany (swap) dla Zswap.
    Jeśli używasz Btrfs:
    1. Utwórz podwolumin Btrfs dla pliku wymiany:
      Terminal window
      sudo btrfs subvolume create /swap
    2. Utwórz plik wymiany o pożądanym rozmiarze (np. 8GB), zmieniając parametr --size:
      Terminal window
      sudo btrfs filesystem mkswapfile --size 4g --uuid clear /swap/swapfile
    3. Aktywuj plik wymiany:
      Terminal window
      sudo swapon /swap/swapfile
    4. Dodaj plik wymiany do /etc/fstab, aby był on trwały po ponownym uruchomieniu systemu:
      Terminal window
      sudo echo "/swap/swapfile none swap defaults 0 0" >> /etc/fstab
    Jeśli nie używasz Btrfs:
    1. Utwórz plik wymiany o pożądanym rozmiarze (np. 8GB), zmieniając parametr count=:
      Terminal window
      sudo dd if=/dev/zero of=/swapfile bs=1G count=8
    2. Ustaw odpowiednie uprawnienia dla pliku wymiany:
      Terminal window
      sudo chmod 0600 /swapfile
    3. Sformatuj plik wymiany:
      Terminal window
      sudo mkswap /swapfile
    4. Dodaj plik wymiany do /etc/fstab, aby był on trwały po ponownym uruchomieniu systemu:
      Terminal window
      sudo echo "/swapfile none swap defaults 0 0" >> /etc/fstab
    5. Aktywuj plik wymiany:
      sudo swapon /swapfile
  5. Przebuduj swój initramfs, aby zastosować zmiany. Polecenie różni się w zależności od twojego bootloadera:
    systemd-boot
    Terminal window
    sudo sdboot-manage gen
    GRUB
    Terminal window
    sudo grub-mkconfig -o /boot/grub/grub.cfg
    Limine
    Terminal window
    sudo limine-mkinitcpio
  6. Uruchom ponownie system, aby zastosować wszystkie zmiany.