Sammelthread CachyOS Gaming

Nach meinem ersten Versuchen mit CachyOS ging nach dem Austausch der GPU nix mehr -> Neuinstallation.
Nun läuft die Kiste wieder und ich konnte immerhin Oblivion RE testen.
Augenscheinlich stimmt irgendwas mit Proton-Cachy nicht den die FPS waren gruselig schlecht.
Mit dem wechsel auf Proton GE haben sich die FPS deutlich gebessert dazu funktioniert nun auch Mangohud halbwegs.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Nach meinem ersten Versuchen mit CachyOS ging nach dem Austausch der GPU nix mehr -> Neuinstallation.
Nun läuft die Kiste wieder und ich konnte immerhin Oblivion RE testen.
Augenscheinlich stimmt irgendwas mit Proton-Cachy nicht den die FPS waren gruselig schlecht.
Mit dem wechsel auf Proton GE haben sich die FPS deutlich gebessert dazu funktioniert nun auch Mangohud halbwegs.
Klassische Proton 11 native geht nicht ? Ist momentan mein liebling.
 
Für Pragmata hab ich neulich auch Proton GE genutzt, weil unter den anderen einfach HDR nicht wollte. Ist einfach je nach Setup ziemlich Random, man muss halt einiges ausprobieren. Mir hat in dem Fall Claude geholfen, den hab ich zum Recherchieren losgeschickt :d
 
Proton ge fehlen mir allgemeinen die Texturen.
 
Naja, meist reicht eigentlich ein Blick auf ProtonDB um zu sehen was für eine Proton Version man für welches Spiel am Besten nutzen sollte, wenn es nicht gerade ein absolutes Nischenspiel ist und es keine aktuellen Einträge gibt. :d

Ansonsten gibt es halt nicht eine Proton Version die mit allen Spielen einwandfrei läuft. Man muss mitunter ausprobieren oder eben wie gesagt nachlesen oder ChatGPT/Claude/Gemini nerven. :d
 
Nutze für fast alles was nicht nativ läuft oder nicht gerade 15 Jahre alt ist, Proton Cachy.
 
Naja, meist reicht eigentlich ein Blick auf ProtonDB um zu sehen was für eine Proton Version man für welches Spiel am Besten nutzen sollte, wenn es nicht gerade ein absolutes Nischenspiel ist und es keine aktuellen Einträge gibt. :d

Ansonsten gibt es halt nicht eine Proton Version die mit allen Spielen einwandfrei läuft. Man muss mitunter ausprobieren oder eben wie gesagt nachlesen oder ChatGPT/Claude/Gemini nerven. :d

Da muss man vorsichtig sein den sowas veraltet schnell, außerdem schreibt jeder was anderes.
Mal geht das besser dann was anderes und wenn man selber probiert bleibt der Bildschrim schwarz.
 
Ich fand Proton DB jetzt auch nicht unbedingt Hilfreich um die richtige Konfiguration rauszufinden. Selbst wenn ich nach meinem System gefiltert habe, war das meistens Käse und ich musste einiges durchprobieren.

Das ist der Standard, wenn man keine Kompatibilität explizit einstellen, oder? Die ganzen "einfachen" Spiele laufen bei mir auch alle so, aber sobald es irgendwas neueres ist mit HDR, Ray Tracing bla blubb klappt es irgendwie nie so. Pragmata war dann gut spielbar aber hab's nicht geschaft Raytracing anzumachen (sah auch so gut genug aus und da ich zu Faul war Windows zu booten, hat es dann trotzdem gepasst für mich :d )
 
Das ist der Standard, wenn man keine Kompatibilität explizit einstellen, oder?
Ne. Bei mir ist standard Proton Experimental eingestellt. Weiß aber nicht mehr ob das schon automatisch so war.
1778696247625.png
 
Das kommt doch auch immer auf die GPU an vergisst das nicht.
Proton XY auf 9070XT kann besser gehen wie auf einer andere karte blabliblub
 
Hallo Ich habe mir was Nettes gebastelt mit Gemini und ChatGPT.

1778970279191.png
1778972310672.png


Hier ist eine forum-taugliche Schritt-für-Schritt-Version:
sudo pacman -S lm_sensors python tk

Sensoren testen:
sensors

Script erstellen:
nano ~/sensor-monitor.py

Ausführbar machen:
chmod +x ~/sensor-monitor.py

Starten:
python ~/sensor-monitor.py

Desktop-Starter erstellen:
mkdir -p ~/.local/share/applications
nano ~/.local/share/applications/sensor-monitor.desktop

Wichtig: /home/oefianer/ durch den eigenen Benutzernamen ersetzen.

Ausführbar machen:
chmod +x ~/.local/share/applications/sensor-monitor.desktop

Optional auf den Desktop kopieren:
cp ~/.local/share/applications/sensor-monitor.desktop "$(xdg-user-dir DESKTOP)/"
chmod +x "$(xdg-user-dir DESKTOP)/sensor-monitor.desktop"

#!/usr/bin/env python3

import subprocess
import re
import tkinter as tk

INTERVAL_MS = 2000
topmost = True

RED = "#c01818"
GREEN = "#11a88e"
BG = "#f2f2f2"
TEXT = "#000000"


def get_sensors_text():
return subprocess.check_output(["sensors"], text=True)


def parse_sensors(text):

data = {
"RAM": [],
"WASSER": [],
"AQUAERO": [],
"WLAN": [],
"GPU": [],
"CPU": [],
"SSD": []
}

current_chip = ""
nvme_count = 0

for line in text.splitlines():

s = line.strip()

if not s or s.startswith("Adapter:"):
continue

if not line.startswith(" ") and ":" not in s:

current_chip = s

if "nvme" in current_chip.lower():
nvme_count += 1

continue

chip = current_chip.lower()

# WATER
if "highflownext" in chip:

m = re.match(r"\s*Coolant temp:\s*([+-][0-9.]+)°C", line)

if m:
data["WASSER"].append(
("Coolant", f"{m.group(1)}°C")
)

m = re.match(r"\s*Flow \[dL/h\]:\s*(\d+)", line)

if m:
flow = int(m.group(1)) / 10

data["WASSER"].append(
("Flow", f"{flow:.1f} L/h")
)

# RAM
elif "jc42" in chip:

m = re.match(r"\s*temp1:\s*([+-][0-9.]+)°C", line)

if m:

if "10-18" in chip:
data["RAM"].append(
("RAM 1", f"{m.group(1)}°C")
)

elif "10-19" in chip:
data["RAM"].append(
("RAM 2", f"{m.group(1)}°C")
)

# AQUAERO
elif "aquaero" in chip:

checks = [

(
r"\s*Fan 1 speed:\s*(\d+) RPM",
"Lüfter",
" RPM"
),

(
r"\s*Fan 3 speed:\s*(\d+) RPM",
"Pump 1",
" RPM"
),

(
r"\s*Fan 4 speed:\s*(\d+) RPM",
"Pump 2",
" RPM"
),

(
r"\s*Sensor 1:\s*([+-][0-9.]+)°C",
"Aqua Sensor",
"°C"
),
]

for pattern, name, unit in checks:

m = re.match(pattern, line)

if m:
data["AQUAERO"].append(
(name, f"{m.group(1)}{unit}")
)

# WLAN
elif "iwlwifi" in chip:

m = re.match(r"\s*temp1:\s*([+-][0-9.]+)°C", line)

if m:
data["WLAN"].append(
("WLAN", f"{m.group(1)}°C")
)

# GPU
elif "amdgpu" in chip:

m = re.match(
r"\s*(edge|junction|mem):\s*([+-][0-9.]+)°C",
line
)

if m:
data["GPU"].append(
(m.group(1), f"{m.group(2)}°C")
)

# CPU
elif "k10temp" in chip:

m = re.match(
r"\s*(Tctl|Tccd1):\s*([+-][0-9.]+)°C",
line
)

if m:
data["CPU"].append(
(m.group(1), f"{m.group(2)}°C")
)

# SSD
elif "nvme" in chip:

m = re.match(
r"\s*(Composite|Sensor 2):\s*([+-][0-9.]+)°C",
line
)

if m:

if m.group(1) == "Composite":

if nvme_count == 1:
name = "NVMe"
else:
name = f"NVMe {nvme_count}"

else:
name = "NVMe NAND"

data["SSD"].append(
(name, f"{m.group(2)}°C")
)

return data


def draw_header():

header.delete("all")

header.create_text(
55,
32,
text="XX",
fill=RED,
font=("Arial", 34, "bold"),
anchor="center"
)

header.create_text(
120,
26,
text="hardware",
fill="#111111",
font=("Arial", 18),
anchor="w"
)

# <<< WEITER NACH RECHTS >>>
header.create_text(
330,
26,
text="LUXX",
fill=RED,
font=("Arial", 18),
anchor="w"
)

header.create_text(
120,
55,
text="C",
fill=GREEN,
font=("Arial", 20, "bold"),
anchor="w"
)

header.create_text(
148,
55,
text="CachyOS Monitor-Systems",
fill=GREEN,
font=("Arial", 10, "bold"),
anchor="w"
)

header.create_text(
148,
75,
text="Creater Oefianer",
fill="black",
font=("Arial", 8, "bold"),
anchor="w"
)


def render_data(data):

output.config(state="normal")
output.delete("1.0", "end")

for title in [
"RAM",
"WASSER",
"AQUAERO",
"WLAN",
"GPU",
"CPU",
"SSD"
]:

values = data.get(title, [])

if not values:
continue

output.insert(
"end",
title + "\n",
"section"
)

for name, value in values:

output.insert(
"end",
f"{name:<15}{value:>12}\n",
"normal"
)

output.config(state="disabled")


def update():

try:

render_data(
parse_sensors(
get_sensors_text()
)
)

except Exception as e:

output.config(state="normal")
output.delete("1.0", "end")

output.insert(
"end",
"Fehler:\n" + str(e)
)

output.config(state="disabled")

root.after(INTERVAL_MS, update)


def toggle_topmost(event=None):

global topmost

topmost = not topmost

root.attributes("-topmost", topmost)


root = tk.Tk()

root.title("hardwareLUXX")
root.geometry("520x640")
root.configure(bg=BG)
root.attributes("-topmost", True)

header = tk.Canvas(
root,
height=90,
bg=BG,
highlightthickness=0
)

header.pack(fill="x")

output = tk.Text(
root,
bg=BG,
fg=TEXT,
font=("Monospace", 12),
bd=0,
padx=28,
pady=0,
spacing1=0,
spacing2=0,
spacing3=0,
highlightthickness=0
)

output.tag_config(
"section",
foreground=RED,
font=("Monospace", 12, "bold")
)

output.tag_config(
"normal",
foreground=TEXT,
font=("Monospace", 12)
)

output.pack(fill="both", expand=True)

root.bind(
"<Button-1>",
toggle_topmost
)

draw_header()
update()

root.mainloop()
 
Zuletzt bearbeitet:
Der Treiber für den nct6683 I/O im Kernel ist halt nicht für jedes Mainboard mit diesem Chip tauglich.
Bei meinem Asrock X870E Taichi mit diesem I/O muss ein drittanbieter Treiber herhalten wo ich den Mainboard typ im kernelcode mit aufnehmen musste damit man die Lüfter/Pumpen über Linux steuern kann.
https://docs.kernel.org/hwmon/nct6683.html

Alternativ kann man drittanbieter Treiber verwenden wie https://github.com/branchmispredictor/asrock-nct6683 mit ein paar Mainboard anpassungen.
 
Der Treiber für den nct6683 I/O im Kernel ist halt nicht für jedes Mainboard mit diesem Chip tauglich.
Bei meinem Asrock X870E Taichi mit diesem I/O muss ein drittanbieter Treiber herhalten wo ich den Mainboard typ im kernelcode mit aufnehmen musste damit man die Lüfter/Pumpen über Linux steuern kann.
https://docs.kernel.org/hwmon/nct6683.html

Alternativ kann man drittanbieter Treiber verwenden wie https://github.com/branchmispredictor/asrock-nct6683 mit ein paar Mainboard anpassungen.
Jo aber eben ChatGPT den Obigen Code einfügen sensoren muss man so oder So auslesen und Korrekt benennen. Aber So
ist das für jeden Leien in 5-15 min umgesetzt das Ganze.

Ich hatte sicher mehr wie 3-4H im gesamten.
 
Falls jemand aktiv Lüfter und Pumpen steuern will mit diesem Chip sollte er das halt beachten. Das war keine kritik nur ein hinweis.
 
Falls jemand aktiv Lüfter und Pumpen steuern will mit diesem Chip sollte er das halt beachten. Das war keine kritik nur ein hinweis.
Habe ich auch nicht so aufgefasst wusste zuerst nur nicht Spricht er direkt zu meinem Post oder habe ich irgend was verpasst.
Hier sind doch alle für Jeglichen Input Dankbar. (y)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh