Zeile 13:
Code:
installed_highest_vkd3d_proton_version=kd3d-proton-2.14.1
Das hier ist das Problem, der Ordnername des VKD3D-Releases heißt bei dir
vkd3d-proton-VERSION (in diesem Falle
vkd3d-proton-2.14.1); mein Skript hingegen ist drauf ausgelegt, dass der bzw. die VKD3D-Ordner
vVERSION (in meinem Falle
v2.14.1) heißen (weswegen der extrahierte Ordner mit dem Inhalt noch umbenannt wird). Für die Versionsgegenprüfung wird das
v am Beginn des Ordner rausextrahiert, damit nur noch die reine Versionsnr. übrig bleibt; bei dir sorgt es dafür, dass aus
vkd3d-proton-2.14.1 -->
kd3d-proton-2.14.1 wird, was dann letztlich auch in der Variable gespeichert wird.
Da die Versionsgegenprüfung in deinem Falle, wie in Zeile 17 und 18 zu sehen ist,
kd3d-proton-2.14.1 gegen
2.14.1 prüft, stellt das Skript fest, dass die Versionen unterschiedlich sind bzw. eher der Ordnername des VKD3D-Proton-Releases nicht zum erwarteten Muster passt, weshalb das Skript davon ausgeht, dass gar kein VKD3D-Proton in Lutris vorhanden ist. Diesen Case, dass VKD3D-Proton nicht vorhanden ist, habe ich auch gar nicht berücksichtigt, da beim ersten Start von Lutris nach der Installation sowieso je ein Release von DXVK, VKD3D-Proton und DXVK-NVAPI heruntergeladen wird und somit immer mindestens ein Release vorhanden ist.
Wenn ProtonUp-Qt oder ProtonPlus zum Einsatz kommen, dann löst das genau dieses Verhalten vom Skript aus, denn ProtonUp-Qt und ProtonPlus legen die VKD3D-Versionen genau nach diesem Schema
vkd3d-proton-VERSION ab, was genau dem Namen des Archivs auf Github und damit dem entpackten Ordner entspricht. Allerdings widerspricht dies dem Lutris-eigenen Schema, denn das legt die Versionen nach dem Schema
vVERSION ab. ProtonUp-Qt und ProtonPlus legen also quasi den VKD3D-Ordner, nachdem es das Archiv entpackt hat, genauso in den Lutris-Ordner ab, ohne es vorher noch umzubenennen, wie ich es tue.
Wenn du den Ordner
vkd3d-proton-2.14.1 in
v2.14.1 umbenennen würdest, dann würde auch der Teil im Skript funktionieren. Oder du änderst Zeile 314 im Skript (v2) von
Code:
installed_highest_vkd3d_proton_version=$(find "$LUTRIS_VKD3D_PROTON_DIR" -mindepth 1 -type d -name "v*" | sed 's|.*/v||' | sort -V | tail -n 1)
auf
Code:
installed_highest_vkd3d_proton_version=$(find "$LUTRIS_VKD3D_PROTON_DIR" -mindepth 1 -type d -name "vkd3d-proton-*" | sed 's|.*/vkd3d-proton-||' | sort -V | tail -n 1)
Dann würde das Skript bei dir auch mit ProtonPlus funktionieren und die Musterkennung für die Versionsgegenprüfung käme auch mit
vkd3d-proton-2.14.1 zurecht. Allerdings musst du dann die Zeile mit dem Umbenennen des Ordners (Zeile 324 in v2) rausnehmen, da der Ordner des VKD3D-Releases dann wieder in
v2.14.1 umbenannt wird und du beim nächsten Ausführen des Skripts dann wieder den Fehler hast.