PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vulkan-Treiber selbst "bauen": Geht's oder geht's nicht?


Raff
2016-03-05, 22:45:20
Ahoi!

Turbonerds wissen, dass OpenGL-Applikationen zuerst im eigenen Verzeichnis nach einer opengl32.dll suchen und diese bevorzugt nutzen, unabhängig davon, ob eine Entsprechung im Systemverzeichnis existiert. Wer weiß, wie die Abfrage der neuen API Vulkan als OpenGL-Nachfolger abläuft?

Der Hintergrund meiner Frage ist, dass Nvidia derzeit zwei Treiberschienen fährt: einen 360er-Branch für Consumer und einen 355er-Developer-Zweig, dem auch der aktuelle Vulkan-Treiber 356.45 entspringt. Ich frage mich, ob man die beiden im OGL-Stil migrieren kann. Ich hab's natürlich schon ausprobiert, doch entweder fehlen die korrekten Dateinamen, die richtigen Pfade ... oder es ist technisch gar nicht möglich, weil die Calls im Nirwana des Nichtimplementiertseins absaufen. Korrekt installiert, also der aktive Haupttreiber, ist der 362.00 unter Windows 10 x64.

The Talos Principle (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=558442) ist momentan das einzige Vulkan-Spiel und zugleich ein Sonderfall, da die Anfragen gewrappt werden. Im Geforce 356.45 liegen nach dem Entpacken ein paar Dateien, die sich mit etwas Kenntnis als Vulkan-Files identifizieren lassen:

nv-vk64.json
nv-vk64.dl_
nv-vk32.json
nv-vk32.dl_

32 und 64 Bit, klar. Die Endung .dl_ lässt sich manuell auf .dll korrigieren, womit man saubere Bibliotheken erhält. Allerdings zeigt sich Talos nicht davon beeindruckt, wenn ich die umbenannten Dateien ins Spielverzeichnis neben den Ausführungsdateien parke. Auch das Kopieren ins system32-Verzeichnis, wo die ganzen anderen Treiberdateien liegen, bringt mir ingame keine Vulkan-Option. Ich habe den Dateien auch testweise mal geratene Namen wie vulkan32.dll gegeben. Und dann gibt es da auch noch eine VulkanRT-Installer.exe. Habe ich ebenfalls ausgeführt, alles ohne Effekt.

Weiß hier jemand, wo die Vulkan-Abfrage bei entsprechenden Applikationen stattfindet und nach welchen Files (Namen) gesucht wird?

€dit: Der VulkanRT-Installer beinhaltet ein Diagnose-Tool. Sieht vernichtend aus. :ugly:

http://www.forum-3dcenter.org/vbulletin/attachment.php?attachmentid=55091&stc=1&d=1457215741

MfG,
Raff

BeetleatWar1977
2016-03-05, 23:14:08
Manifestfiles sind die json..... liegen die mit im System32?

edit: der Regkey evtl....

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers]
"C:\\WINDOWS\\system32\\nv-vk64.json"=dword:00000000

kruemelmonster
2016-03-06, 04:55:40
32 und 64 Bit, klar. Die Endung .dl_ lässt sich manuell auf .dll korrigieren, womit man saubere Bibliotheken erhält. Allerdings zeigt sich Talos nicht davon beeindruckt, wenn ich die umbenannten Dateien ins Spielverzeichnis neben den Ausführungsdateien parke.

Fürs Protokoll: nur durch das Umbenennen von .dl_ (oder .sy_, ganz egal) in .dll bekommt man keine "saubere Bibliotheken" sondern weiterhin nur eine gepackte Datei. Ändere die Endung in .cab, dann kannst du die Originaldatei mit 7-Zip o.ä. rausziehen.

Davon ab wird so ein Frankenstein Mod mit an Sicherheit grenzender Wahrscheinlichkeit nicht laufen da bei NV Vulkan über/mit/durch OpenGL implementiert ist. Sämtliche Calls der Vulkan .dlls ggü dem restlichen Treiber, mindestens aber ggü der nv_opengl.dll werden, wie du so schön gesagt hast, im Nirwana des Nichtimplementiertseins absaufen.

Cyris
2016-03-06, 20:52:50
Deshalb müssen auch alle OpenGl Libs mit kopiert werden, darunter ist zu beachten das Cuda7 nicht vergessen werden sollte. Da auf den aktuellen Branch ja schon Cuda8 läuft. Sonst funktioniert der port nicht..