Ergebnis 1 bis 3 von 3
Thema: [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem Ergänzend zu Gorkons hervorragender Anleitung https://www.supernature-forum.de/tip...-hardware.html der Versuch, das ganze auf Linux zu übertragen. Vorwort Auch die Linuxversion des alten ...
  1. #1
    Moderator Avatar von Bio-logisch
    Registriert seit
    03.02.03
    Beiträge
    13.008

    [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem

    Ergänzend zu Gorkons hervorragender Anleitung https://www.supernature-forum.de/tip...-hardware.html der Versuch, das ganze auf Linux zu übertragen.

    Vorwort
    Auch die Linuxversion des alten Unreal Tournament (UT) kämpft mit den Tücken der neuen Technik.
    Die Probleme sind zwar ähnlicher Natur, aber die Lösungsansätze unterscheiden sich doch im Detail.

    Die allgemeine Installation wird auf der Linuxseite für Spiele schlecht hin, HOLARSE :: Unreal Tournament erklärt.
    Der bekannte UTGLR-Treiber ist für Linux leider nicht erhältlich. Alternativ kann man den Patches 451 von UTPG :: Working To Keep Unreal Tournament Alive! ausprobieren. Das Archiv wird mit dem Befehl tar -xjvf entpackt. Die enthaltenen Dateien werden direkt in das UT-Verzeichnis (/usr/local/games/ut) kopiert. Dieser Patch enthält einen wesentlich besseren OpenGL-Treiber, als der im letzten offiziellen Patch 436.

    Die Auswahl des 3D Treibers erfolgt unter Linux ganz komfortabel mit dem Texteditor der Wahl

    Nach dem ersten Start von UT wird im Home-Verzeichnis ein versteckter Ordner ~./loki/ut angelegt.
    Dateien, die in diesem Ordner liegen, haben eine höhere Priorität als die im eigentlichen Installationsverzeichnis. Wenn also in der lokalen Datei ~./loki/ut/System/UnrealTournament.ini etwas verändert wird, gilt diese Änderung, auch wenn in /usr/local/games/ut/System/UnrealTournament.ini was anderes steht.

    Ich empfehle, alle Änderungen erst lokal auszuprobieren.
    Ziemlich am Anfang der UnrealTournament.ini ist der Eintrag [Enging.Engine]. Folgende Einstellungen aktivieren den OpenGL-Render:

    Code:
    [Engine.Engine]
    GameRenderDevice=OpenGLDrv.OpenGLRenderDevice
    WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice
    RenderDevice=OpenGLDrv.OpenGLRenderDevice
    Nach der Installation können diese Probleme auftreten:

    Speedattacken
    Das Spiel wird - gerade in ruhigen Situationen - sprunghaft schneller.
    Ursache: UT setzt mehr zu Verfügung stehende Leistung in mehr Frames pro Sekunde (FPS) um. Wenn diese aber über 200 gehen, wird das Spiel selber beschleunigt.

    Lösung:
    Die FPS müssen begrenzt werden. Die von Gorkon beschriebenen Parameter für die ini scheinen unter Linux keinen Effekt zu haben.

    Alternative:
    Die Funktion "Sync to VBlank" begrenzt die Framerate von OpenGL Anwendungen auf die Frequenz des X-Servers. Da diese üblicherweise zwischen 60 und 75 Hz liegt, tritt das Problem dann nicht mehr auf.
    Wer eine Nvidia-Karte hat, dann diese Option mit dem Programm "nvidia-settings" (Anhang 1) aktivieren.

    Damit diese Einstellung automatisch gemacht wird, kann man folgendes Script als "startut.sh" speichern und mit chmod +x ausführbar machen:

    Code:
    #!/bin/sh
    nvidia-settings --assign="SyncToVBlank=1"
    /usr/local/games/ut/ut
    nvidia-settings --assign="SyncToVBlank=0"
    Manchmal Zeitlupe, manchmal Speedattacke
    Symptom und Ursache sind die gleichen wie bei Windows: UT synchronisiert sich ein mal beim Start mit dem Prozessortakt - wenn dieser nachträglich verändert wird, ändert sich auch die Geschwindigkeit des Spiels.

    Lösung:
    Die Prozessorgeschwindigkeit muss vorher fixiert werden. Wie dies am besten geht, hängt von der Distribution ab.
    Wird der Takt mit dem "powersaved" gesteuert, geht dies mit K-Powersave:
    Rechtsklick auf den "Stecker" in der Taskleiste, "Setze CPU-Frequenzverhalten" auf "Leistung". Zur Kontrolle die Maus über das Icon halten, ob die Frequenz wirklich maximal ist.

    Alternative:
    Dieses Script als "startut.sh" speichern und mit chmod +x ausführbar machen:

    Code:
    #!/bin/sh 
    powersave -f
    /usr/local/games/ut/ut
    powersave -l

    Wenn nicht der powersaved eingesetzt wird, kann alternativ dieses Script verwendet werden:

    Code:
    #!/bin/sh
    su -c "echo 1400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
    cd /usr/local/games/ut/
    ./ut
    su -c "echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
    Der minimalen Prozessortakt wird auf 1400000 kHz eingestellt (der maximale Wert des Prozessors meines Laptops), danach wechselt das Script ins ut-Verzeichnis und startet das Programm.
    Wird das Programm beendet, werden die Einstellungen zurückgestellt.

    Die Werte für die eigene cpu bekommt man mit
    Code:
    matthias@linux:~> cat /proc/cpufreq
    minimum CPU frequency - maximum CPU frequency - policy
    CPU 0 600000 kHz ( 42 %) - 1400000 kHz (100 %) - userspace
    Alternativ kann man den Rechner auch mit dem Bootparameter
    Code:
    acpi=off
    neu starten.

    Probleme mit dem Dualcore / HT Prozessor
    Mangels eines geeigneten PCs nur theoretisch:
    Das Programm taskset kann einem Prozess einen festen Prozessor zuweisen.
    Der Befehl zum starten von UT müsste etwa so aussehen:
    Code:
    taskset 0x00000001 /usr/local/games/ut/ut
    Weiteres in der Manpage man taskset.

    Das Programm procbind könnte auch helfen.

    Alternativ kann man auch den Rechner mit dem Bootparameter
    Code:
    nosmp
    starten.

    Das Spiel ist viel zu dunkel!
    Teilweise ist das Spiel fast schwarz, wenn es gestartet wird - Gegner sind nicht zu erkennen.

    Lösung:
    Die erste Maßnahme ist zu Überprüfen, ob der OpenGL Render eingerichtet ist.
    Wenn dies nicht geht, reicht es manchmal kurz den Schieber für "Options", "Preferences", "Brightness" (Helligkeit) antippen.
    Zudem sollte man den Patch 451 testen.

    Falls dies alles nichts hilft, kann man mit diesem Script die Helligkeit des Monitors hochstellen:

    Code:
    #!/bin/sh 
    xgamma -gamma 1.7
    powersave -f
    /usr/local/games/ut/ut
    powersave -l
    xgamma -gamma 1.0
    Das xgamma -gamma 1.7 sorgt dafür, dass das Bild heller wird, xgamma -gamma 1.0 stellt den Standard wieder her.

    Keine Soundausgabe
    Das Spiel selber startet fehlerfrei, aber es gibt keinen Ton.

    Lösung:
    Unreal Tournament verwendet die schon etwas angestaubte Schnittstelle oss für die Soundausgabe, aktuelle Linuxdistributionen verwenden aber Alsa.
    Daher muss die Alsa/Oss Soundemulation aktiviert sein.
    Die Kernelmodule snd-pcm-oss, snd-mixer-oss und snd-seq-oss müssen dafür geladen werden.

    Alternativ kann man das Script aoss ausprobieren:

    Code:
    #!/bin/sh
    aoss /usr/local/games/ut/ut
    Weiteres im Alsawiki.:
    OSS emulation - ALSA wiki

    Wenn trotz geladener Soundmodule keine Ausgabe erfolgt, kontrollieren, ob eventuell ein anderes Programm auf die Schnittstellen zugreift. Heißer Kandidat hierfür ist der Soundserver arts, wenn man KDE verwendet.
    Er lässt sich im KDE - Kontrollzentrum (Anhang 2) abschalten.
    Alternativ kann man UT über den Soundserver arts laufen lassen, um so z. B. einen mp3player mit laufen zu lassen: Dafür die Datei /usr/local/games/ut/ut mit einem Texteditor öffnen und den Befehl
    Code:
    exec "./ut-bin" $* -log
    aus der 4. Zeile von unten in
    Code:
    artsdsp "./ut-bin" $* -log
    abändern (nicht mit aoss kombinieren!).

    Noch ein Tipp am Rand:
    Folgendes Script ersetzt unter Linux Programme wie "cachecleaner":

    Code:
    #!/bin/bash  
    function moveit() {
            echo $(mv $cachename$ext $utdir$1$realname 2>/dev/null ) 1>/dev/null 2>&1
            if [ ! -f $utdir$1$realname ]; then echo $realname" move failed!"; echo "";fi
    }
    
    function close() {
            rm cache.ini *.uxx 2>/dev/null
    #        if [ -f $utdir"System/De.u" ]; then rm $utdir"System/De.u" ;fi # optional
    #        if [ -f $utdir"System/de.u" ]; then rm $utdir"System/de.u" ;fi # optional
            exit 0
    }
    
    # Need to change these 2 lines:
    cachedir=$HOME/.loki/ut/Cache # change to your cache dir
    utdir=$HOME/.loki/ut/ # change to your UT dir, or where you want to move files to
    
    # Create directories
    for folder in Maps Music Sounds System Textures ; do
    if [ -d $utdir$folder ] ; then continue ; else mkdir -v $utdir$folder ; fi
    done
    
    ext=".uxx"
    cd $cachedir
    if [ ! -f cache.ini ]; then close; fi
    
    for line in `cat cache.ini | sed '/^\[Cache\].$/d'`
    do
    realname=${line:33:${#line}-34}
    cachename=${line:0:32}
    if echo "$realname" | grep -i \.unr$; then moveit "Maps/"
    elif echo "$realname" | grep -i \.utx$; then moveit "Textures/"
    elif echo "$realname" | grep -i \.uax$; then moveit "Sounds/"
    elif echo "$realname" | grep -i \.umx$; then moveit "Music/"
    elif echo "$realname" | grep -i \.dll$; then moveit "System/" #for wine users
    elif echo "$realname" | grep -i \.u$; then moveit "System/"
    else continue
    fi
    done
    close
    Einfach eine neue Textdatei mit dem Namen utcachecleaner.sh anlegen und das Script hinein kopieren.
    Verändert nach:
    New linux cache cleaner - The Unreal Admins Page - Forums

    Endmontage
    Die beiden Scripte startut.sh und utcachecleaner.sh habe ich in ~/bin abgespeichert.
    Mit einem Desktopicon lasse ich diese nun nacheinander automatisch laufen:

    Rechsklick auf den (KDE) Desktop, neu erstellen, Verknüpfung zu Programm.

    Reiter Allgemein:
    Der Name ist Unreal Tournament, das Icon findet sich in /usr/local/games/ut/icon.xpm

    Reiter Programm:
    Befehl: startut.sh && utcachecleaner.sh
    Erweiterte Optionen: "In Terminal starten" und "Nach Programmende geöffnet lassen" aktivieren, damit man sieht, ob alles klappt.
    Fertig zum Fraggen
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem-nvidia-settings.jpg   [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem-arts.jpg  
    Geändert von Bio-logisch (09.05.10 um 18:35 Uhr)

  2.   Anzeige

     
  3. #2
    Moderator Avatar von Bio-logisch
    Registriert seit
    03.02.03
    Beiträge
    13.008

    AW: [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem

    Ich hab noch mal probiert, wie UT mit wine läuft:

    Unter SuSE 10.3 als root
    yast -i wine
    aus der Rootkonsole Abmelden

    Aktives Schema in den Energieoptionen auf "Leistung"
    In der Konsole:
    wine /windows/c/UnrealTournament/System/UnrealTournament.exe

    Läuft wirklich klasse, selbst wenn DirectX als Render eingesetzt wird (der normale DirectX7 Render)

    Nur muss man nach dem Ende des Spiels mit
    xgamma -gamma 1.0
    Das Gamma wieder richtig einstellen, dass kriegt wine selber nicht hin.

    Der Sound war (gerade der der Shockcombo) war sogar besser als bei dem nativen UT. Außer dem haben alle Einstellungen aus der Windows user.ini sofort funktioniert.
    Für ein schnelles Spiel zwischendurch sicher eine Alternative.
    Geändert von Bio-logisch (05.02.08 um 00:55 Uhr)

  4. #3
    Moderator Avatar von Bio-logisch
    Registriert seit
    03.02.03
    Beiträge
    13.008

    AW: [Tipps & Tricks] UT-Classic auf einem aktuellen Linuxsystem

    Das Cachecleaner - Script habe ich noch mal überarbeitet:
    Ein Tippfehler verhinderte das Musikdateien gesichert wurde. Zudem war ein Bug enthalten, der Dateien unter Umständen im falschen Verzeichnis erscheinen lies.

    Wer diese Script verwendet, bitte aktualisieren!

Ähnliche Themen

  1. Antworten: 22
    Letzter Beitrag: 24.08.08, 10:17
  2. [Tipps & Tricks] UT Classic: Pads + Armor oder Shildbelt?
    Von Bio-logisch im Forum Tipp & Tricks & Help
    Antworten: 3
    Letzter Beitrag: 10.01.07, 19:59
  3. Tipps & Tricks zu Excel
    Von Hidden Evil im Forum Tutorials & Tipps
    Antworten: 2
    Letzter Beitrag: 03.05.05, 21:19

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55