Zum Inhalt springen
Diese Seite ist veraltet. Bitte beachten Sie die neueste Dokumentation unter /configuration/general_system_tweaks/

Allgemeine System-Anpassungen


amd-pstate ist der Treiber für die Leistungsanpassung von AMD-CPUs, der einen neuen Mechanismus zur Steuerung der CPU-Frequenz für moderne AMD APU- und CPU-Serien im Linux-Kernel einführt. Der neue Mechanismus basiert auf Collaborative Processor Performance Control (CPPC), was eine feiner abgestufte Frequenzverwaltung ermöglicht als die älteren ACPI Hardware P-States.

Aktuelle AMD CPU/APU-Plattformen nutzen den ACPI-P-States-Treiber, um die CPU-Frequenz und Taktraten zu verwalten, wobei nur zwischen 3 P-States gewechselt wird. CPPC ersetzt die ACPI-P-States-Steuerung und bietet eine flexible, latenzarme Schnittstelle für den Linux-Kernel, um Leistungshinweise direkt an die Hardware zu übermitteln.

Unten findest du die 3 Betriebsmodi des amd-pstate-Treibers und die Kernel-Parameter, um sie beim Booten zu verwenden:

  • AMD P-State (Nicht-autonomer Modus): amd-pstate=passive
  • AMD P-State Guided (Geführter autonomer Modus): amd-pstate=guided
  • AMD P-State EPP (Autonomer Modus): amd-pstate=active

Du kannst auch zur Laufzeit zwischen den Betriebsmodi wechseln, um die Optionen zu testen:

  • Autonomer Modus: Die Plattform berücksichtigt nur die eingestellten Werte für minimale Leistung, maximale Leistung und die Energie-Leistungs-Präferenz.

    Terminal window
    echo active | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Geführter-autonomer Modus: Die Plattform stellt das Leistungslevel entsprechend der aktuellen Auslastung und innerhalb der vom Betriebssystem gesetzten Grenzen durch minimale und maximale Leistungsregister ein.

    Terminal window
    echo guided | sudo tee /sys/devices/system/cpu/amd_pstate/status
  • Nicht-autonomer Modus: Die Plattform erhält das gewünschte Leistungslevel direkt vom Betriebssystem über das Desired Performance Register.

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

Für weitere Informationen:

Um P-State EPP zu nutzen, stehen zwei CPU-Frequenz-Governor zur Verfügung: powersave und performance. Es wird empfohlen, den powersave-Governor zu verwenden und eine Präferenz festzulegen.

  • Powersave-Governor setzen: sudo cpupower frequency-set -g powersave
  • Performance-Governor setzen: sudo cpupower frequency-set -g performance

Um eine Präferenz festzulegen, führe den folgenden Befehl mit der gewünschten Präferenz aus:

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

Verfügbare Präferenzen: performance, power, balance_power, balance_performance

Benchmarks für jede Präferenz findest du hier: https://lore.kernel.org/lkml/[email protected]/

AMD hat einen Patch veröffentlicht, um das Cache-Scheduling auf Dual-CCD-3D-CPUs wie dem 7950X3D und 7900X3D zu optimieren. Du musst im BIOS unter der CPPC-Option die „Driver“-Option einstellen. Dies erlaubt es, den verwendeten Modus per sysfs zu überschreiben.

Es gibt zwei Modi:

  1. Frequency
  2. Cache

Wenn cache eingestellt ist, versucht der Treiber, die Tasks zuerst auf den CCD mit dem größeren Cache zu legen, was hauptsächlich bei Spielen vorteilhaft ist. Die frequency-Option versucht, die Tasks auf den zweiten CCD zu legen, der eine höhere Frequenz als der 3D-Cache-CCD hat.

Frequenz (Standard):

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

Nachdem du die Modi geändert hast, sollten die „amd preferred core stats“ eine andere Rangfolge anzeigen. Du kannst sie auslesen mit:

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

AMD Core Performance Boost, auch bekannt als AMD Turbo Core, ist eine dynamische Frequenzskalierungstechnologie von AMD, die es dem Prozessor ermöglicht, die Betriebsfrequenz in bestimmten Prozessorversionen dynamisch anzupassen und zu steuern. Das sorgt bei Bedarf für mehr Leistung, während im Normalbetrieb niedrigere Energie- und Wärmewerte beibehalten werden.

Seit linux-cachyos 6.9.6 ist der Kernel mit CPB-Unterstützung für AMDs P-State-Treiber (einschließlich passive, active und guided) gepatcht. Nutzer können den Boost-Status jedes CPU-Kerns über die sysfs-Boost-Datei /sys/devices/system/cpu/cpuX/cpufreq/boost ändern (X steht für die Kernnummer, z.B. cpu0 für den ersten Kern, cpu1 für den zweiten, usw.).

Terminal window
echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/boost # Deaktiviert Boost für alle Kerne
lscpu -ae # Dies zeigt, dass AMD CPB global deaktiviert ist
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 # Aktiviert Boost auf 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 bietet auch eine Version von power-profiles-daemon, die einen Commit zurückportiert, welcher Unterstützung für AMD CPB ermöglicht. AMD CPB wird deaktiviert, wenn das powersave-Profil verwendet wird, und bei balanced oder performance aktiviert.

Weitere Informationen findest du hier:

Erstellt von firelzrd

Kurze Einführung aus der README:

  • ADIOS (Adaptive Deadline I/O Scheduler) ist ein Block-Layer-I/O-Scheduler für den Linux-Kernel, der für moderne Multi-Queue-Blockgeräte (blk-mq) entwickelt wurde. Er zielt darauf ab, niedrige Latenzzeiten für I/O-Operationen zu bieten, indem er Deadline-Scheduling-Prinzipien mit einem lernbasierten, adaptiven Latenzkontrollmechanismus kombiniert.
    • Inspiriert von und aufbauend auf Konzepten der mq-deadline- und Kyber-I/O-Scheduler. Sein Hauptmerkmal ist die Fähigkeit, die I/O-Abschlusslatenz basierend auf vergangener Leistung und Anforderungsmerkmalen (Operationstyp, Größe) vorherzusagen und diese Vorhersage zu nutzen, um die Anforderungsdeadlines und das Batching-Verhalten dynamisch anzupassen.

Kurz gesagt: ADIOS lernt das Latenzprofil deines Speichergeräts und nutzt dieses Wissen, um die Deadlines für I/O-Anfragen dynamisch festzulegen. Es priorisiert Anfragen in vier Stufen, von kritischen Systemoperationen (Stufe 0) bis zu Hintergrundaufgaben (Stufe 3), um ein flüssiges Nutzererlebnis zu gewährleisten. Obwohl es auf Reaktionsfähigkeit ausgelegt ist, kann sein Verhalten über sysfs-Einstellungen feinjustiert werden, um Latenz und Durchsatz auszubalancieren.

Für eine Live-Demo kannst du dir dieses Video ansehen.

Diese Methode setzt den Scheduler für die aktuelle Sitzung. Die Änderung geht beim Neustart verloren.

Terminal window
sync && echo adios | sudo tee /sys/block/<deinlaufwerk>/queue/scheduler
# Ersetze <deinlaufwerk> durch die tatsächliche Laufwerksbezeichnung (z.B. sda, sdb, nvme0n1)

FAQ:

  • Wenn es die Reaktionsfähigkeit verbessert, warum ist es nicht standardmäßig aktiviert?
    • ADIOS befindet sich noch in aktiver Entwicklung und wird kontinuierlich getestet. Obwohl es erhebliche Vorteile für die Reaktionsfähigkeit des Desktops bietet, gilt es noch nicht als stabil genug, um der Standard für alle Workloads und Hardwaretypen zu sein. In einigen Grenzfällen könnten Fehler zu Problemen wie System-Lockups führen. Aus diesem Grund ist es eine optionale Funktion für Benutzer, die die neuesten Verbesserungen testen und davon profitieren möchten.

Direkt aus der NVIDIA-Dokumentation:

NVIDIA Smooth Motion ist ein neues, treiberbasiertes KI-Modell, das für ein flüssigeres Gameplay sorgt, indem es einen zusätzlichen Frame zwischen zwei gerenderte Frames einfügt. Für Spiele ohne DLSS Frame Generation ist NVIDIA Smooth Motion eine neue Option, um dein Spielerlebnis auf GeForce RTX 40er-Serie und neueren GPUs zu verbessern.

  • So aktivierst du NVIDIA Smooth Motion für ein Spiel:
    • Füge die folgende Umgebungsvariable hinzu:
      NVPRESENT_ENABLE_SMOOTH_MOTION=1

FAQ:

  • Warum sollte man Smooth Motion statt DLSS Frame Generation verwenden?
    • Wenn ein Spiel DLSS Frame Generation nicht unterstützt, dient Smooth Motion dank seines treiberbasierten KI-Modells als Alternative.
  • Gibt es irgendwelche Nachteile bei der Verwendung von Smooth Motion?
    • Ja, die Aktivierung von Smooth Motion kann aufgrund des zusätzlichen Frame-Inferenz-Prozesses eine leichte Eingabeverzögerung verursachen.
    • Es kann zu Problemen mit Overlays von Drittanbietern kommen. Um dies zu vermeiden, füge die folgende Umgebungsvariable hinzu:
      NVPRESENT_QUEUE_FAMILY=1
  • Warum zeigt MangoHud die erhöhte Framerate nicht an?
    • MangoHud berücksichtigt derzeit nicht die zusätzlich von Smooth Motion generierten Frames, was zu einer irreführenden Anzeige der Framerate führt.
      • Ein im Monitor integrierter FPS-Zähler liefert die korrekte Framerate.
  • Wie ist die Bildqualität im Vergleich zu DLSS Frame Generation?
    • Die Bildqualität ist nicht ganz so gut und kann besonders in schnellen Szenen Artefakte aufweisen.
  • Ist es mit externen Tools zur Begrenzung der Framerate kompatibel? Zum Beispiel: MangoHud.
    • Nein. Die Begrenzung im Spiel sollte aber problemlos funktionieren.
  • Kann Smooth Motion mit DLSS Frame Generation kombiniert werden?
    • Nein. Es kann immer nur eine Methode zur Frame-Generierung aktiv sein.

RCU Lazy hilft, den Stromverbrauch bei Systemen im Leerlauf oder bei geringer Auslastung zu reduzieren. Dies kann für Laptops und Handheld-Geräte nützlich sein. Die Verbesserung liegt bei 5-10% in Bezug auf die Energieeinsparung. Es ist jedoch wichtig zu beachten, dass diese Energiesparfunktion je nach Szenario mit einer leicht verringerten Leistung einhergehen kann. Der linux-cachyos-deckify-Kernel hat diese Option standardmäßig aktiviert, da Energieeinsparung für diese Geräte entscheidend und notwendig ist.

Um RCU Lazy zu aktivieren, füge den folgenden Parameter zu deiner Kernel-cmdline-Parameterliste hinzu:

rcutree.enable_rcu_lazy=1

Obwohl dies ein schöner Fortschritt ist, kann es zu einigen Ärgernissen führen, wie z.B. die Beeinträchtigung der Übertaktungsunterstützung mit nvidia-settings oder Inkompatibilität mit älteren GPUs, die unter Wayland Probleme haben.

Um diese Änderung rückgängig zu machen, entferne das cachyos-kde-settings-Paket:

Terminal window
sudo pacman -R cachyos-kde-settings

Die NVIDIA GSP Firmware kann „in einigen Fällen“ zu einer verringerten Leistung führen. Obwohl der NVIDIA-Treiber 555.58.02 dieses Problem weitgehend behoben hat, kann es auf bestimmten Systemen weiterhin bestehen. Wenn du Ruckler in KDE oder in manchen Fällen eine schlechte Leistung feststellst, kannst du die GSP-Firmware mit der folgenden Konfigurationsdatei deaktivieren: /etc/modprobe.d/nvidia-gsp.conf

options nvidia NVreg_EnableGpuFirmware=0

Nachdem du die Datei erstellt hast, führe den folgenden Befehl aus:

Terminal window
sudo mkinitcpio -P

Es wird generell empfohlen, die GSP-Firmware nach jeder neuen NVIDIA-Treiberinstallation zu testen, da sie oft vorteilhafte Funktionen mit sich bringt. Außerdem hat NVIDIA hauptsächlich damit begonnen, QA-Tests mit der GSP-Firmware durchzuführen.

Laptop-Lautsprecher klingen aufgrund ihrer kompakten Größe und begrenzten Hardwarefähigkeiten oft dünn und unspektakulär. EasyEffects kann die Klangqualität der eingebauten Lautsprecher deines Laptops durch Anwendung verschiedener Audioeffekte und benutzerdefinierter Konfigurationen erheblich verbessern.

Um anzufangen, musst du EasyEffects und die erforderlichen Abhängigkeiten installieren:

Terminal window
# EasyEffects installieren
sudo pacman -S easyeffects
# Zusätzliche Plugins für mehr Effekte installieren
sudo pacman -S lsp-plugins-lv2
sudo pacman -S zam-plugins
sudo pacman -S calf
sudo pacman -S mda.lv2

Folge diesen Schritten, um EasyEffects zu konfigurieren:

  1. Starte EasyEffects aus deinem Anwendungsmenü oder indem du easyeffects im Terminal eingibst.
  2. Wechsle zum Ausgabe-Tab, um Effekte für den Ton deiner Lautsprecher zu verwalten.
  3. Wechsle zum Effekte-Tab, um Audioeffekte hinzuzufügen, zu ändern oder anzupassen.

Für eine schnelle und effektive Einrichtung, beginne mit von der Community erstellten Presets, die für verschiedene Audio-Szenarien zugeschnitten sind:

  1. Lade Presets aus dem EasyEffects Community Presets Repository herunter.
  2. Klicke in EasyEffects auf den Presets-Button und wähle “Preset aus lokalem Speicher importieren”.
  3. Finde und wähle die heruntergeladene Preset-Datei aus.
  4. Nach dem Import erscheint das Preset in deiner Liste – klicke auf “Laden”, um es auf deine Audioausgabe anzuwenden.

Für ein persönlicheres Klangerlebnis erstelle ein eigenes Profil, das auf die Lautsprecher deines Laptops zugeschnitten ist:

  1. Klicke auf den “+”-Button im Presets-Menü, um ein neues Preset zu erstellen (nenne es z.B. “Laptop-Lautsprecher”).
  2. Wähle “Laden”, um das neue Preset zu aktivieren.
  3. Füge im Ausgabe > Effekte-Tab Effekte hinzu und konfiguriere sie. Experimentiere mit Optionen wie Equalizern, Bass-Verstärkern oder Stereo-Erweiterungen.

Der Convolver-Effekt kann den Klang dramatisch verbessern, indem er Impulsantworten anwendet, die hochwertige Audioumgebungen simulieren. Dies erfordert jedoch eine präzise Einrichtung:

  1. Füge den Convolver-Effekt zu deiner Effektkette im Effekte-Tab hinzu.
  2. Lade eine Impulsantwortdatei (im .wav-Format), die speziell für dein Laptop-Modell ist, falls verfügbar. Du kannst online nach diesen Dateien suchen, z.B. hier:
  3. Clipping verhindern: Der Convolver-Effekt kann die Lautstärke erheblich erhöhen. Füge einen Limiter-Effekt nach dem Convolver in deiner Effektkette hinzu, um Spitzen zu kontrollieren und Verzerrungen zu vermeiden.
  • Experimentiere mit verschiedenen Presets, um die beste Übereinstimmung für dein spezifisches Laptop-Modell und deine persönlichen Klangvorlieben zu finden.
  • Nimm schrittweise Anpassungen an einzelnen Effekten vor, um Verzerrungen oder unnatürlichen Klang zu vermeiden.
  • Vergleiche durch Umschalten: Schalte EasyEffects häufig ein/aus, um die Verbesserungen im Vergleich zum Standard-Audio zu bewerten.
  • Suche nach gerätespezifischen Presets oder Convolver-Impulsantworten für beliebte Laptop-Modelle wie das Framework Laptop 13 oder ThinkPad T14, um maßgeschneiderte Ergebnisse zu erzielen.
  • Autostart automatisieren: Konfiguriere EasyEffects so, dass es automatisch beim Systemstart startet (über die App-Einstellungen), um sicherzustellen, dass dein benutzerdefiniertes Profil immer angewendet wird.
  • Presets für mehrere Geräte automatisch laden: Nutze den PipeWire > Presets Autoloading-Tab, um spezifische Presets verschiedenen Ausgabegeräten (z.B. Lautsprecher vs. Kopfhörer) zuzuordnen, für einen nahtlosen Wechsel.

Als Alternative kannst du JDSP4Linux ausprobieren, einen Audioeffekt-Prozessor für PipeWire- und PulseAudio-Clients.

Wir bieten in unserem Repository ein benutzerdefiniertes obs-studio-browser-Paket an, das über dem Standard-obs-studio-Paket empfohlen wird. Es enthält Patches, um einige der häufigen Probleme wie Cuda-Fehler und Probleme mit der virtuellen Kamera zu beheben.

Öffne ein Terminal und führe den folgenden Befehl aus
sudo pacman -S obs-studio-browser
# Wenn du vorher obs-studio installiert hattest, wird pacman dich fragen, ob
# du es ersetzen möchtest. Wenn ja, gib "J" ein.

Standardmäßig nutzt CachyOS ZRam für die Swap-Verwaltung. Wenn du aber lieber Zswap verwenden möchtest, kannst du mit den folgenden Schritten ganz einfach wechseln:

  1. Deaktiviere ZRam, indem du einen Kernel-Parameter hinzufügst. Bearbeite die Konfiguration deines Bootloaders und füge die folgende Zeile hinzu:
    systemd.zram=0
  2. Erstelle eine leere Überschreibungsdatei, um die udev-Regel von CachyOS zu deaktivieren, die Zswap abschaltet:
    Terminal window
    sudo touch /etc/udev/rules.d/30-zram.rules
  3. Aktiviere Zswap, indem du den folgenden Kernel-Parameter hinzufügst:
    zswap.enabled=1 zswap.shrinker_enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=30
  4. Erstelle eine Swap-Datei für Zswap.
    Wenn du Btrfs benutzt:
    1. Erstelle ein Btrfs-Subvolume für die Swap-Datei:
      Terminal window
      sudo btrfs subvolume create /swap
    2. Erstelle eine Swap-Datei mit deiner gewünschten Größe (z.B. 8GB), indem du den --size-Parameter änderst:
      Terminal window
      sudo btrfs filesystem mkswapfile --size 4g --uuid clear /swap/swapfile
    3. Aktiviere die Swap-Datei:
      Terminal window
      sudo swapon /swap/swapfile
    4. Füge die Swap-Datei zu /etc/fstab hinzu, damit sie nach einem Neustart erhalten bleibt:
      Terminal window
      sudo echo "/swap/swapfile none swap defaults 0 0" >> /etc/fstab
    Wenn du nicht Btrfs benutzt:
    1. Erstelle eine Swap-Datei mit deiner gewünschten Größe (z.B. 8GB), indem du den count=-Parameter änderst:
      Terminal window
      sudo dd if=/dev/zero of=/swapfile bs=1G count=8
    2. Setze die richtigen Berechtigungen für die Swap-Datei:
      Terminal window
      sudo chmod 0600 /swapfile
    3. Formatiere die Swap-Datei:
      Terminal window
      sudo mkswap /swapfile
    4. Füge die Swap-Datei zu /etc/fstab hinzu, damit sie nach einem Neustart erhalten bleibt:
      Terminal window
      sudo echo "/swapfile none swap defaults 0 0" >> /etc/fstab
    5. Aktiviere die Swap-Datei:
      sudo swapon /swapfile
  5. Erstelle dein Initramfs neu, um die Änderungen zu übernehmen. Der Befehl hängt von deinem Bootloader ab:
    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. Starte dein System neu, um alle Änderungen zu übernehmen.