Enderal und Linux

Moderator: Moderatoren

49 Beiträge Seite 5 von 5
jd42
Schurke
Schurke
Beiträge: 24
Registriert: 03.07.2016 14:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal


Puh, Du stellst Fragen :-)

Ich denke wir sind schon recht wenige, die Enderal unter Linux spielen, und ich bin mir fast sicher Du bist der Einzige mit 'nem 4k-Display...

Mein Verständnis der Prioritäten der genannten Methoden:
nvidia-settings default (am niedrigsten) <- eigenes Profil in nvidia-settings <- wine-Konfiguration (?) <- Skyrim (am höchsten)
Wobei der Enderal-Launcher meines Wissens auch nur in die SkyrimPrefs.ini schreibt.

Laut Doku sollte "nvidia-settings -q SyncToVBlank" den aktuellen Zustand der Hardware auslesen; eventuell kannst Du das ja mal in einer Schleife im Hintergrund laufen lassen, um rauszufinden, was der Treiber so zu dem Thema denkt.

Und wenn die Grafikkarte mit zu zeichnenden Objekten zugeballert wird, glaube ich nicht wirklich dass vsync an oder aus da groß einen Unterschied macht...
Shalrath
Lumpensammler
Lumpensammler
Beiträge: 11
Registriert: 15.07.2016 22:38
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


Mit der Auflösung hat das nichts zu tun. Ich meine auch wirklich nur normales vsync und nicht dieses neumodische g-sync. Ich habe zwar einen 4k-Monitor, aber keinen "Gaming-Monitor".

Ich habe mal den Parameter der nvidia-settings im loop ausgeben lassen, er bleibt wärend des Spiels auf 0.

Vsync macht an der Performance schon einiges aus, v.a. wenn die von der Grafikkarte erzielte Framerate unter der Wiederholrate des Monitors liegt. Dann wartet die Grafikkarte mit dem Rendern des nächstens Frames nämlich, bis der Montor wieder ein Vollbild anzeigt, anstatt einfach teilweise Frames auszugeben, was zu Tearing führt. In Enderal ist meine GPU-Temperatur ca. 10°C niedriger als bei anderen Spielen. Das könnte natürlich daran liegen, dass sie zwischen den Frames auf den Monitor-Refresh wartet, oder auch daran, dass durch die Wine-Geschichte die CPU der Flaschenhals ist, man weiß es nicht.

In anderen Spielen, in denen man vsync wirklich ein- und ausschalten kann, kann man das gut nachvollziehen. Mit Vsync fühlt es sich einfach zäh an.

Habe noch etwas gegooglet und ich glaube, da gibt es keine Lösung. Auf der WineHQ-Seite zum normalen Skyrim wird empfohlen, vsync für bessere Performance zu deaktivieren, allerdings auch nur über die SkyrimPerfs.ini, so wie ich es schon gemacht habe.

Wenn ich mal viel Zeit und Nerv habe, poste ich mal auf WineHQ. Ansonsten belasse ich es dabei. Gut, dass Skyrim/Enderal ein so langsames Gameplay hat, dass es nicht so ins Gewicht fällt.


Warum wurde vsync eigentlich erfunden? Außer einer zusätzlichen Option, die man überall erst deaktivieren muss und dem Ärger, falls das Deaktivieren nicht klappt, bringt es nur Nachteile.
stuemper
Enderal Team
Enderal Team
Schwarzer Wächter
Schwarzer Wächter
Beiträge: 3298
Registriert: 14.07.2015 11:43
Hat sich bedankt: 127 Mal
Danksagung erhalten: 1240 Mal


Shalrath hat geschrieben:
In Enderal ist meine GPU-Temperatur ca. 10°C niedriger als bei anderen Spielen. Das könnte natürlich daran liegen, dass sie zwischen den Frames auf den Monitor-Refresh wartet, oder auch daran, dass durch die Wine-Geschichte die CPU der Flaschenhals ist, man weiß es nicht.
Die CPU ist in jedem Fall der Flaschenhals in Enderal. Jedes Objekt was du siehst produziert mindestens einen Drawcalls - jeweils einen weiteren Drawcalls durch Reflektion und Schattenwurf. Die hohe Objektdichte produziert so viele Drawcalls, das die Speicherverwaltung der CPU an ihre Grenzen kommt (32 bit Engine = kann nciht die heutige Leistung einer CPU nutzen).
Shalrath
Lumpensammler
Lumpensammler
Beiträge: 11
Registriert: 15.07.2016 22:38
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


Seit dem letzten vollständigen Distrubutionsupdate habe ich ein sehr seltsames Problem:

Ich kann Enderal nur noch einmal starten und spielen. Wenn ich es beende, ist der wineprefix kaputt, d.h. Enderal stürzt sofort ab, wenn ich im Launcher auf Start klicke. Das Fenster mit der Enderal-Konsole öffnet sich, aber es erscheinen keine Logeinträge. Ich muss jeden einzelnen wine-Prozess mit 'kill -9' beenden. Mit normalem 'kill' laufen bzw. hängen die Prozesse weiter.

Beheben kann ich das Problem durch das erzeugen eines komplett neuen Wineprefix und die Neuinstallation von Enderal. Dann kann ich das Spiel wieder ein einziges Mal starten, bevor das Problem wieder auftritt.

Um der Sache auf den Grund zu gehen, habe ich also einen frischen, leeren Wineprefix angelegt und dort .NET, Direct X 9 und Enderal installiert, aber Enderal nie gestartet, damit es nicht "kaputt geht". Diesen kompletten Wineprefix kopiere ich in ein anderes Verzeichnis und starte Enderal dort. Wie gehabt funktoiniert es nur einmal. Danach kann ich aber diesen Wineprefix löschen und den "Frischen" erneut kopieren, und ich kann Enderal wieder einmal starten.

Und nun das, was ich absolut nicht verstehe. Es Ändern sich kaum Dateien, wenn ich Enderal einmal gespielt habe. Relevant scheinen die Änderungen nicht zu sein. Genau genommen sind es die:
[+]
SkyrimEnderal/Data/meshes/~AnimationDataSingleFile.txt
nur timestamp
SkyrimEnderal/EnderalLauncher/system/config/conf.sur
nur timestamp
SkyrimEnderal/PapyrusUtilDev.log
einige Zeilen verschwinden
SkyrimEnderal/EnderalLauncher/system/log/Launcher.log
einige Zeilen hinzugekommen
Da das neue Kopieren des ganzen Wineprefix samt .NET, Direct X 9 und Enderal recht lang dauert, wollte ich das mit rsync abkürzen. Das mache ich mit

$ rsync -av --delete <frischer wineprefix> <kaputter wineprefix>

Dann sollte der kaputte Wineprefix dem frischen wineprefix entsprechen und Enderal wieder laufen. Tut es aber nicht.
Lösche ich den kaputten wineprefix und kopiere den frischen wineprefix in ein zweites Verzeichnis, dann läuft Enderal von dort wieder.

Zwischen einem kaputten wineprefix, den ich mit rsync versucht habe zu reparieren (und der trotzdem nicht funktioniert) und der Kopie des frischen Wineprefix bestehen keine Unterschiede. Ich habe in beiden wineprefixes

$ ls -lRa > file.txt

ausgeführt und anschließend die beiden Textfiles verglichen. Sie sind identisch, woraus folgt, dass alle Dateinamen, -Größen, -Besitzer, -Gruppen, -Timestamps und -Berechtigungen identisch sind.
Auch diff über beide Verzeichnisbäume findet keine Unterschiede, woraus folgt, dass alle Dateien inhaltlich identisch sind.

Nun die Frage, auf die ich keine Antwort finde: Warum läuft Enderal, wenn ich die frische Installation samt Wineprefix kopiere, aber nicht, wenn ich mit rsync den kaputten wineprefix auf exakt den Stand der frischen Installation bringe?
Könnte es da Unterschiede geben, die 'ls -lRa' und 'diff' nicht anzeigen und die ein 'rsync -av --delete' nicht angleicht? Kann ich mir nicht vorstellen. Ich verstehe es nicht.

Ich habe das Problem mittlerweile ca. 10 Mal reproduziert und es ist wirklich immer so wie beschrieben.

Da das Problem direkt nach einem Distributionsupdate auftrat, dachte ich zuerst an ein Problem mit der neuen Version von wine-staging (1.9.21). Aber ein Downgrade auf 1.9.20 und auch auf 1.9.19 haben nichts geändert. Mit diesen wine-staging Versionen habe ich Enderal lang spielen können. Muss also an etwas anderem liegen. Ich habe allderings sonst nicht das geringste Problem mit meinem System, alles läuft perfekt.

Gottseidank habe ich Enderal nun fast durch. Die letzten paar Male, die das Spiel starten muss, kann ich auch noch mit der Kopier-Methode bewältigen. Es wurmt mich nur, dass ich das Problem nicht verstehe.
ali68
Schurke
Schurke
Beiträge: 24
Registriert: 04.08.2016 11:14
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal


hast du es auch mal mit wine probiert?
Shalrath
Lumpensammler
Lumpensammler
Beiträge: 11
Registriert: 15.07.2016 22:38
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


ali68 hat geschrieben:
hast du es auch mal mit wine probiert?
Ja, bevor ich aus Gründen der Performance von wine zu wine-staging gewechselt habe. Es lief mit wine genauso, nur langsamer. Der Wechsel von wine auf wine-staging hat aber dieses Problem nicht verursacht. Es trat erst Monate später auf.
ali68
Schurke
Schurke
Beiträge: 24
Registriert: 04.08.2016 11:14
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal


da habe ich wohl missverständlich ausgedrückt :)
Hast du nach den Problemen, die durch´s update entstanden sind, nochmal wine installiert und es probiert?

Ich habe ´Divinity II´ mit staging gespielt bis ein update dieses unmöglich (zumindesten für mich) gemacht hat; wine hat aber prima funktioniert....

schönen Sonntag, Alex
Shalrath
Lumpensammler
Lumpensammler
Beiträge: 11
Registriert: 15.07.2016 22:38
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


Habe gerade wine-staging durch wine ersetzt und das Problem besteht weiter.
jd42
Schurke
Schurke
Beiträge: 24
Registriert: 03.07.2016 14:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal


Hi,
von wo nach wo hast Du denn geupdated, bevor Du diese Probleme bekommen hast?

Das Update von Ubuntu 16.04 nach 16.10 hat auch bei meiner wine-Installation zu Problemen geführt (sowohl beim "normalen" wine als auch bei wine-staging). Die Lösung war, wine neu zu installieren, und zwar zwingend die "yaketty"-Pakete (mit der Zeile "deb http://ppa.launchpad.net/wine/wine-builds/ubuntu yakkety main" in /etc/apt/sources.list oder in einer der Dateien in /etc/apt/sources.list.d). Danach lief wieder alles rund.

Da wine aus einem externen PPA kommt, wird es durch das Distributions-Update nicht angefasst, sondern nur der source.list-Eintrag deaktiviert. Damit bleibt die "xenial" (16.04)-Version installiert, die offenbar Probleme mit dem 16.10-Unterbau hat.
49 Beiträge Seite 5 von 5

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste