Das Ausführen eines Spiels mit 3D-Beschleunigung in einem separaten virtuellen Terminal ist langsam, sofern es nicht als Root ausgeführt wird

324
Brian Vandenberg

Ich habe ein einfaches Skript zusammengestellt, um Neverwinter Nights von einem separaten virtuellen Terminal aus auszuführen:

#!/bin/bash read -r -d '' myrcfile <<'EOF' #!/bin/bash cd /path/to/game ./nwn EOF  XINITRC=<(echo "$") xinit -- :1 vt8 

Während dies funktioniert, ist das Gameplay eher abgehackt. Als Referenz wird es von der ursprünglichen / Standard-X-Instanz aus gut ausgeführt.

Ich fummelte herum, um schedtoolzu sehen, ob ich es noch besser machen könnte, und es schien, als wäre es mir gelungen, aber in Wirklichkeit war die Verbesserung nicht auf den Zeitplan zurückzuführen, sondern eher darauf, dass ich dies [naiv] getan hatte:

sudo schedtool $ -e ./nwn ^^^^ 

... weil einige schedtoolParameter root benötigen (Anmerkung: $verschiedene Kombinationen von schedtoolParametern). schedtoolwar nicht für die Verbesserung der Geschwindigkeit verantwortlich - sudowar. Um sicherzustellen, dass dies der Fall war, ersetzte ich die letzte Zeile des inneren Skripts durch gnome-terminal -c 'sudo ./nwn'und sie funktioniert einwandfrei.

Hat jemand einen guten Vorschlag, wie das geht?

Hier einige Dinge, die ich ausprobiert habe:

  • Führen Sie X unter sudo aus und fügen Sie su -c ./nwn myusernamedas Skript ein
  • Lief das Spiel & X als meinen Benutzer und lief dann schedtoolvon einem separaten virtuellen Terminal aus sudo, um die Einstellungen für den aktuell laufenden Prozess zu ändern, aber nichts wurde geändert
    • Dies scheint darauf hinzudeuten schedtool, dass es nichts Gutes bringen wird
1
Dies ist eine anständige Frage. Ich habe für etwas Klarheit und Formatierung editiert. JakeGould vor 9 Jahren 0
Ich werde Kompromisse eingehen. Bei einigen Änderungen wurde nicht berücksichtigt, wie ich es lesen wollte. Brian Vandenberg vor 9 Jahren 0

1 Antwort auf die Frage

0
Brian Vandenberg

Ich habe es gerade herausgefunden. Ich habe mich der Gruppe videound hinzugefügt games. Ich bin mir nicht sicher, wer es getan hat, aber es hat funktioniert.

Eine Seltsamkeit, auf die ich mich traf, als ich mich damit beschäftigte: Bevor ich die Gruppe änderte, lief ich stattdessen glxgears; Als Root hatte es ungefähr die gleiche FPS, als ob ich es von der Standardsitzung ausgeführt hätte, aber als mein Benutzer berichtete es ungefähr 500fps.