Registry hacks: PowerVR Referenztreiber 4.1.2c1 und Modtreiber 4.1.2c1 von PowerVR Revolution

  • Ausgehend von meinem Problem, daß Final Reality auf der Matrox m3D (PowerVR PCX2) nicht mit jedem Treiber fehlerfrei läuft und ich mich zwischen dem Referenztreiber 4.1.2c1 und dem Modtreiber 4.1.2c1 von PowerVR Revolution nicht entscheiden konnte, da beide Einschränkungen bei der Wahl des Berechnungspfades haben, habe ich kurzerhand mal eben die Registryzweige der beiden Treiber exportiert und verglichen:

    Einträge die im Referenztreiber vorhanden sind und im Revolutiontreiber fehlen:

    Man sieht sofort: Die Möglichkeit, programmspezifische Einstellungen vorzunehmen, ist im Referenztreiber bereits vorhanden

    Registryzweig: [HKEY_LOCAL_MACHINE\Software\PowerVR\PCX1&2\App hints\<Programmname>]
    aber leider fehlt die Möglichkeit, diese zu verändern oder eigene anzulegen.

    Auch ist der 24-Bit-Modus standardmäßig aktiviert ("Enable24BitMode"="1"), aber die Option, ihn selbst zu kontrollieren, wurde entfernt ("E24RemoveCheckbox"="1").

    Setzt man letzteren Wert auf "0", ist die Box im PowerVR-Tab wieder sichtbar und funktioniert auch in dem Sinne, daß man ersteren Wert damit verändern kann. Ob's was bringt, wer weiß :/


    Einträge die im Revolutiontreiber vorhanden sind, aber im Referenztreiber fehlen:

    Neben dem zusätzlichen Profil für Quake 2, fallen hier vor allem die Einträge "EnableAppHints"="1", "EnableHelp"="1" und "SLRemoveButtons"="1" auf:

    "EnableHelp"="1" aktiviert die kontextsensitive Hilfefunktion mit der rechten Maustaste auf dem PowerVR-Tab und den Hilfeknopf rechts unten.

    "SLRemoveButtons"="1" entfernt die Wahlmöglichkeit zwischen der optimierten und der Standard-2D/3D-Beschleunigung. Trägt man hier den Wert "0" ein, erscheint die Option wieder im PowerVR-Tab.

    SL steht hier wohl für StrictLocks. Das kommt im Revolutiontreiber an zwei Stellen vor:

    Einmal im Zweig [HKEY_LOCAL_MACHINE\Software\PowerVR\PCX1&2\GraphicsCards], der wohl nur für bestimmte Grafikkarten gültig ist, und dann noch im Zweig

    [HKEY_LOCAL_MACHINE\Software\PowerVR\PCX1&2\HWINI\Defaults] und nur dieser ist hier interessant. Im Referenztreiber steht StrictLocks nur hier, der andere Zweig existiert nicht.

    "StrictLocks"="1" aktiviert die Standard-2D/3D-Beschleunigung

    "StrictLocks"="0" aktiviert die optimierte 2D/3D-Beschleunigung

    "EnableAppHints" Schaltet den Zugang zu den programmspezifischen Einstellungen der optimierten 2D/3D-Beschleunigung frei.

    Ergänzt man die fehlenden Einträge im Referenztreiber bzw. ändert die Einstellungen im Revolutiontreiber, erhält man volle oder vielleicht sollte ich besser sagen eine noch genauere Kontrolle über die Art der 2D/3D-Beschleunigung der PowerVR-Karte. Damit kann man dann auch im Revolutiontreiber wieder die Standardbeschleunigung einschalten, womit Final Reality EDIT fehlerfrei (das war etwas zu viel des Guten) flackerfrei /EDIT läuft, und im Referenztreiber den 24-Bit-Modus deaktivieren und programmspezifische Vorgaben machen, wie z. B. die PowerVR-Karte für eine D3D-Anwendung komplett deaktivieren, ohne sie generell für alle Programme abschalten zu müssen. Hier als Beispiel der Referenztreiber mit allen oben genannten Optionen:


    Wenn Ihr wollt, könnt ihr in diesem Thread noch weitere Registryhacks für andere Grafikkarten eintragen, die man sonst nirgends (mehr) findet.

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

    Einmal editiert, zuletzt von Lotosdrache (4. Juli 2018 um 16:33)

  • Ich habe mir jetzt mal die Mühe gemacht, das ganze etwas bequemer zu gestalten und eine Vorlage für den Microsoft Policy Editor aus dem Office XP Resource Kit geschrieben:

    Den Quellcode einfach nach Notepad/Write oder sonst ein einfaches Textverarbeitungsprogramm kopieren und als einfache *.txt-Datei abspeichern. Die Endung txt anschließend in adm umbenennen und die Datei im Policy Editor als Vorlage einstellen. Damit kann man das jetzt ganze sicher mit ein paar Mausklicks erledigen, ohne selbst in der Registry navigieren zu müsse.

  • Eine ähnliche Datei wie oben habe ich auch für Voodoo2-Karten, allerdings mit deutlich weniger Optionen:

  • Weil ich keine Lust habe für jeden möglichen Wert, dem man einem Registryeintrag zuweisen kann, eine eigene Datei anzulegen, z. B:

    Wenn man jetzt mal den Standardvorgang beim Anklicken von VBS-Dateien festlegen will, dann kann man im Schlüssel

    HKLM\Software\CLASSES\VBSFile\shell

    als Standard folgendes eintragen:

    für "nichts tun"-> "(nichts eintragen)"

    für "Bearbeiten" -> "Edit"

    für "Drucken" -> "Print"

    für "Ausführen" -> "Open"

    Als REG-Datei bräuchtest Du da schon vier verschiedene um alles abzudecken oder Du müßtest sie jedes mal editieren, wenn Du den Wert ändern willst (dann kannst Du aber auch gleich die Registry direkt bearbeiten und ersparst Dir das Suchen der Datei).

    Wenn Du das jetzt auch für REG-, JS-, JSE-, WSF-, und WSH-Dateien machen willst, kommst Du auf zusätzliche 20 Dateien.

    Wenn Du dann noch für jeden der 5 Dateitypen die Optionen "Öffnen" und "Mit Konsole öffnen" im Kontextmenü deaktivieren oder aktivieren willst, brauchst Du weitere 20 Dateien. Das wird schnell seeehr unübersichtlich.

    Der Policy Editor stellt das ganze dagegen übersichtlich in einer Liste dar, die sich leicht bedienen und den eigenen Vorlieben anpassen läßt, als Beispiel für VBS-Dateien:

    Für den Standardvorgang wird ein Aufklappmenü erzeugt, wo man dann zwischen "nichts tun", "Bearbeiten", "Drucken", "Ausführen" und "Mit MS-DOS-Konsole starten" wählen kann. Das Aktivieren/Deaktivieren der Optionen "Öffnen" und "Mit MS-DOS-Eingabeaufforderung öffnen" erfolgt dann mittels einfacher Checkboxen, die direkt darunter angezeigt werden.

    Ich habe schon vor 20 Jahren damit angefangen mir solche Dateien zu schreiben, das obige Beispiel stammt aus der Datei mit den Einstellungen für Windows 98. Ich fand es immer sehr übersichtlich, praktisch und schnell, wenn ich mal einen Wert ändern wollte. Daher möchte ich es auch einfach mal hier vorstellen.

    Man kann damit auch eine Datei erzeugen, die bei jedem Systemstart zuvor festgelegte Werte für die einzelnen Registryeinträge einstellt und dadurch unerwünschte Änderungen durch "Unbefugte" rückgängig macht.

    Ein weniger wichtiger Punkt ist, mit dem Policy Editor kannst Du für verschiedene Benutzer eines Win98-PCs unterschiedliche Vorgaben direkt machen, ohne Dich an dem entsprechenden Konto anmelden zu müssen. Aber das dürfte für die meisten wohl kaum von Bedeutung sein, da Win98 ja sowas von Old School ist :)

    Natürlich kannst Du auch mit REG-Dateien arbeiten. Wenn man nur wenige davon hat, verliert man auch nicht so schnell den Überblick.

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

  • Da ich Win95B mit der PCX1 verwende muss ich wohl *.reg Dateien haben.

    Verstehe ich das richtig, dass wenn ich alle Optionen habe, kann ich auch je Anwendung sagen, ob er D3D mit der PowerVR machen soll, oder eben nicht. Derzeit mache ich das ja so, dass ich D3D im PowerVR Menu aktiv habe und mit der 3dcc die Einstellung auf "PowerVR" habe.

    An sich wäre das für mich grundsätzlich OK, aber ich habe Spiele die Soundprobleme bei der Verwendung von D3D mit der PCX1 machen. Da muss ich für diese Games auf die RageIIc ausweichen.

    SNI-Scovery 212 AMD K6-2/450 CXT 128MB - PCI1 (Matrox-Mystique 4MB) - PCI2 (Soundblaster 128)

    => OS2/Warp3, AMIGA-OS 3.9, WIN95B , LINUX <=

  • Du kannst dich auch mit Hilfe der Angaben aus der ADM-Datei händisch durch die Registry wühlen und die Eintrage vornehmen. Welche Funktionalität der Treiber einer PCX1 hat und wie die Einträge da aussehen, weiß ich aber nicht, da ich nur eine PCX2 habe.

    Verstehe ich das richtig, dass wenn ich alle Optionen habe, kann ich auch je Anwendung sagen, ob er D3D mit der PowerVR machen soll, oder eben nicht.

    So sollte das funktionieren, wenn der Treiber es auch bei einer PCX1 anbietet. :/

    Bin auf Deinen Erfahrungsbericht mit Win95B gespannt. Möglicherweise unterstützt der alte Policy Editor nicht alle Befehle, die ich mit dem neuen aus dem Office XP Resource Kit verwendet habe. Dann mußt Du die Vorlage ein bißchen anpassen. :)

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

    Einmal editiert, zuletzt von Lotosdrache (27. Dezember 2020 um 14:23)

  • Danke ich experimentiere nach her mal ein wenig.

    Ist denn irgendwo dokumentiert, was die ganzen Schalter eigentlich genau machen und wie sich das dann auf die Performance auswirkt.

    Was ich bei 3dfx immer toll fand waren die flüssigen Frames, was ich immer scheiße fand, waren die verwaschenen Texturen.

    Die PCX1 sieht im Grunde aus die Software-Rendering, aber es es so viel flüssiger. Wenn die auch bei den Texturen nicht geschlampt haben, sieht es auch ungefiltert richtig gut aus. Schön detailliert.

    Doc

    PS: Gestern habe ich mal versucht POD zu installieren. Das ging mal gewaltig in die Hose. Da muss ich heute noch mal ran. Ich will MMX, ATI3DCIF und PowerVR installieren. Eine sau teuere Orchid habe ich mir auch besorgt. Sollte die reinpassen kann ich auch noch mal 3dfx gegen testen. Aber das könnte wegen den 450Mhz schon kritisch werden. Da ist die PCX1 nicht so dramatisch, die läuft auch mit P3-1400 ;)

    SNI-Scovery 212 AMD K6-2/450 CXT 128MB - PCI1 (Matrox-Mystique 4MB) - PCI2 (Soundblaster 128)

    => OS2/Warp3, AMIGA-OS 3.9, WIN95B , LINUX <=

  • Ist denn irgendwo dokumentiert, was die ganzen Schalter eigentlich genau machen und wie sich das dann auf die Performance auswirkt

    Keine Ahnung. Mit den einzelnen Treiberoptionen und deren Auswirkungen auf FPS/Darstellungsqualität hab ich mich danach nicht weiter beschäftigt, da noch viele andere Hardwareabsonderlichkeiten auf dem Rechner zu lösen waren.

    Inzwischen ist er auch schon wieder im Umbau begriffen: Die V3 3500 ist rausgeflogen und wurde durch eine Matrox G400 Max und eine Diamond Monster 3DII 12 MiB ersetzt. Und dann liegen hier noch einige 1 MiB L2-Cachebausteine zusammen mit einem angepaßten BIOS für das GA-5AX herum...

    Hab aber noch Schiß davor, das zu löten, weil die Platine dabei auf keinen Fall beschädigt werden darf. :bonk:

    Aber genug Offtopic. :whistling:

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren

  • Interessant! Ich habe noch nie Hellbender auf meiner PCX1 in Betrieb bekommen. Das freezt IMMER, obwohl es eine Einstellung in den Advanced Einstellung im Treiber gibt, aber offensichtlich raff ich nicht wie das funktioniert.

    SNI-Scovery 212 AMD K6-2/450 CXT 128MB - PCI1 (Matrox-Mystique 4MB) - PCI2 (Soundblaster 128)

    => OS2/Warp3, AMIGA-OS 3.9, WIN95B , LINUX <=

  • Ich habe leider weder Hellblender noch eine PCX1-Karte, sondern eben nur diese eine Matrox m3D mit PowerVR PCX2.

    Von daher bin ich da momentan etwas überfragt, woran das liegen könnte.

    Ich werde mich von keinem einzzzigen Prozzzessor trennen.
    Jedoch lockt es mich beinahe, ihn Dir zu überlassen, nur um zu sehen, wie er Dich in den Wahnsinn treibt :evil:

    Meine Begehren