KSP en 64bits sur Windows, c'est possible, voici comment

L'actualité du fan-made ici!
Répondre
Avatar de l’utilisateur
Spacex
Messages : 1306
Inscription : 16 mai 2013, 09:35
Contact :

KSP en 64bits sur Windows, c'est possible, voici comment

Message par Spacex » 06 juin 2014, 17:46

Salut,
Le français à l'origine de cette astuce (Lilleman) m'a autorisé à faire un copier coller de son post mis sur un autre forum. Pour faire bref, cette astuce, permet de jouer à KSP en 64bits sur Windows de manière relativement stable. Le but est de dépasser la limite qui fait planter le jeux de 4go lorsqu'on installe trop de mods.

Donc voici
----------------
Bonjour braves gens.

Comme vous avez sûrement remarqué, un des principaux problèmes de KSP techniquement, c'est l'absence de multithreading pour la physique.
Donc je me suis penché sur le problème et j'ai essayé de créer un plugin qui gérerait la physique via OpenCL, histoire de laisser Unity bosser tranquille avec le CPU.

Hier après-midi encore, je ne connaissais rien à Unity, donc l'opération a été un échec cuisant.

Mais en cours de route j'ai trouvé un moyen de jouer en 64Bits de manière presque stable sous Windows.

Je teste ça depuis hier soir et ça a l'air de tourner plutôt bien (la version OpenGL d'Unity a pas l'air d'aimer la transition fenêtré/fullscreen, mais a part ça, aucun plantage).

Je poste ça ici plutôt que sur le forum officiel de KSP, à cause de leur politique du "on ne demande rien aux devs, les discussions sur le 64bits/multithread sont closes sans préavis".
De mon coté, je trouve que leur excuse du "le jeu est trop instable pour être sorti tel quel en 64Bits" est vraiment limite une fois qu'on a trouvé ce qui va pas:
C'est la manière dont Unity gère DirectX en 64bits qui provoque des écritures dans des plages mémoires non disponibles, d'où crash.
Quand on force Unity à se lancer en OpenGL, aucun souci.


Le principe: Unity fonctionne avec des "lecteurs" en fonction de la plate-forme sur laquelle il est exécuté. Squad ne nous donne que la version 32bits de ce lecteur avec KSP sous Windows.
On peut se procurer les différentes versions de ces lecteurs en téléchargeant une version d'évaluation d'Unity sur le site officiel. KSP utilise actuellement la version 4.3.3 d'Unity. On peut la version d'évaluation correspondante ici: https://unity3d.com/unity/download/archive
Le truc, c'est qu'on va avoir besoin seulement d'une DLL et d'un fichier exe, pour un total de 15Mo, mais on est obligé de se farcir un DL de 1Go sur un serveur bien lent, puis d'installer entièrement l'éditeur Unity (on peut pas juste le décompresser). Je n'ai pas le droit de redistribuer uniquement ces deux fichiers, mais je peux toujours vous dire où les trouver.

Une fois l'éditeur 4.3.3 d'Unity installé, faites un backup de vos sauvegardes (fichiers persistents, fichiers crafts, etc, je décline toute responsabilité pour la perte de données), de KSP.exe et du fichier Mono.dll qui se trouve dans KSP_Data/Mono.

Puis dans le répertoire d'installation d'Unity, dossier Editor/Data/PlaybackEngines/windows64standaloneplayer, copiez player_win.exe à la racine du répertoire de KSP et renommez-le KSP.exe. Puis copiez Editor/Data/PlaybackEngines/windows64standaloneplayer/Data/Mono/Mono.dll dans le dossiez KSP_Data/Mono.

C'est presque fini. Si on lance le jeu maintenant, ça plante à un moment ou à un autre (chez moi après le menu principal), à cause de DirectX (ou d'Unity, peu importe).
Donc il faut forcer KSP à démarrer en OpenGL en ajoutant l'argument -force-opengl. Soit dans les options de lancement de Steam, soit dans un raccourci vers KSP.exe.

Et voilà! Une version Windows 64bits de KSP qui n'aura jamais de support, officiel ou non.

J'ai fait quelques essais de mon coté, simplement en virant ActiveTextureManagement et en gardant un oeil sur la conso de RAM.
Avec la version 32Bits le jeu ne se lançait même pas, là je n'ai aucun plantage tant que je ne switche pas de fenêtre.

A un moment le système consommait 7.5Go de RAM sur les 8 dispos, avant de se stabiliser aux alentours de 6Go. C'est donc possible de tomber à court de mémoire, et même plutôt rapidement.
Va falloir faire des choix dans les mods, même avec le 64 bits.

Actuellement je joue avec le Visual Enhancements Pack(+ les dépendances sans compromis sur les textures), KW Rocketry, Novapunch, Deadly Reentry, TAC Life support, Un mod de colonie (j'ai zappé le nom) blindé de pièces, et quelques autres trucs.
Même sans aucun mod ou pack de réduction de textures, ça passe. Joie!

Au début je voulais garder ça pour ma pomme :mrgreen: mais je me suis dit que ça serait plus intéressant de récolter des retours, voir si ça gère plus de RAM et plus de mods chez d'autres personnes.


-------------------------
For now KSP uses the 4.3.3 version of the Unity Engine (others version won't work), you can download it on this page: https://unity3d.com/unity/download/archive

-Once you've installed Unity 4.3.3 + the editor, make a backup of your KSP save files (I didn't have any problem for now, but remember, I can't predict the behavior of this version), of KSP.exe, and of KSP_Data/Mono/Mono.dll

-In your Unity installation folder, find the "Editor\Data\PlaybackEngines\windows64standalonepla yer" folder. Copy player_win.exe to your KSP main directory and rename it KSP.exe.

-Find "Editor\Data\PlaybackEngines\windows64standalonepla yer\Data\Mono\mono.dll" and copy it to "KSP_Data\Mono"

(-Update: Someone noticed (thanks Hamster) that the UnityEngine.dll for the 64-bits version is not the same than the 32-bits one.
This does not seems to matter right now but I keep this in mind just in case, will update if things change)


-You can uninstall Unity if you want, we don't need it anymore.

You now have a 64-bits DirectX version of KSP on windows.
It is possible that the game crash when you try to start a game. If this happen, first try to update your video drivers.
If it still don't work, you can try to force Unity to use OpenGL, just add the argument -force-opengl to your launch properties or your KSP shortcut.

----------------------


Il a posté un topic "officiel" sur le forum officiel. Les gens ont l'air content
http://forum.kerbalspaceprogram.com/thr ... request%29

Amusez vous bien
Perso je peux pas trop tester malheureusement, ma carte graphique m'a lâché récemment et là je tourne avec une carte bas de gamme (6450) qui peine à faire tourner KSP à plus de 10fps donc j'ai même plus envie de le lancer.
J'achèterais une vrai carte plus tard, de toute manière j'ai plus trop le temps de jouer. :|

Voilà ce que ça donne bourré de mod avec 12go
http://i.imgur.com/PfOwTCa.jpg

"Oui mais je n'ai que 4go ! "
Ca marche aussi, Windows stocke la mémoire sur le disque dur. La version 32bits peut stocker au max 4go sur la mémoire+disque dur. (fonction paging windows)

Ce qu'en pense Squad ?
Ohhhh we're aware of this thread. I've pointed out how surprisingly positive the majority of the results seem to be. I wouldn't expect replication and I'm going to take a wild guess and speculate that you won't be seeing anything for 0.24, but the tighter this stuff gets, the more I can point out the good stuff that's happening in this thread. Keep it going.

Avatar de l’utilisateur
Balthyx
Messages : 1192
Inscription : 13 décembre 2012, 21:48
Localisation : In the tchoo tchoo train !
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Balthyx » 07 juin 2014, 13:10

J'ai tester ce matin, ça marche du tonnerre.
En 32bit j'avais des crash régulier à cause de mes mods qui montent la ram à 3.5go (limite quoi).
Maintenant j'ai plus ce problème. :D je vais pouvoir r'ajouter plus de mods. :twisted:
Je n'ai aucun problèmes quand je change de fenêtre ( plein écran, touça )

Par contre j'ai droit à quelques bug mineurs, genre le menu où on engage des kerbonaute qui apparais une fraction de seconde à la fin d'un chargement. :roll:
Rien de grave quoi..

Au fait, j'ai vu sur le post du forum officiel que beaucoup de monde n'activais pas opengl, ducoup j'ai zappé l'étape et je tourne sous directX.

Merci Lilleman pour cette trouvaille ! :D
Mendeleïev ! Au tableau !

Avatar de l’utilisateur
KERBAL 21
Messages : 187
Inscription : 01 janvier 2013, 13:03
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par KERBAL 21 » 07 juin 2014, 14:22

exactement le même beug du menu ou ont engage les kerbonautes ;)

sinon je suis aussi sous directx vu que ça marche, par contre j'ai pas vu d'amélioration notable mais c'est tout a fait normal car je n'ai pas beaucoup de mod :D

en tout cas merci pour cette astuce, et en espérant que ça motive squad a avancer plus rapidement et à prendre exemple sur la communauté :idea:

Avatar de l’utilisateur
Balthyx
Messages : 1192
Inscription : 13 décembre 2012, 21:48
Localisation : In the tchoo tchoo train !
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Balthyx » 08 juin 2014, 21:50

Wé bon j'ai peut être été un peut enthousiaste ... :roll:

J'ai eu droit à des crash à repetitions ce matin et selon le crash log :
Crashlog a écrit :KSP.exe caused an Access Violation (0xc0000005)
in module KSP.exe at 0033:04f10000.
mmmh frack. :?

Et quand j'observe la ram utilisée par ksp je constate qu'elle monte doucement au cours de l'execution du jeux puis quand elle ateint les alentours des 3.5 Go :o ...
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
*crash
Pourtant le jeu a l'air de tourner en 64bits, le gestionnaire des taches n'indique pas de "*32" devants le processus de ksp.exe :geek:
J'ai essayer en Opengl, mise à par que ça consomme moins de ram j'ai toujours des crash ( et beaucoup plus de bugs ).
Mendeleïev ! Au tableau !

Avatar de l’utilisateur
Nemecle
Messages : 2009
Inscription : 24 mars 2014, 09:03
Localisation : tu vois Andromeda ? bah pas là.
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Nemecle » 08 juin 2014, 22:31

Comment ? KSP moddé en 64bits est buggué ? don't you say :lol:
"I hope that a day, the sky would turn dark enough to let me find this glimpse of hope... that pale blue dot"

Avatar de l’utilisateur
Lilleman
Messages : 34
Inscription : 06 juin 2014, 21:24
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Lilleman » 14 juin 2014, 17:30

Bonjour!

Ça fait un peu plus d'une semaine que le thread est sur le forum officiel, et il faut se rendre à l'évidence:
C'est bien buggé, et faut se sentir l'âme d'un bêta-testeur pour tenter de jouer sur le long terme avec la version 64bits.

Donc je voudrais revenir sur mon premier post:
Je poste ça ici plutôt que sur le forum officiel de KSP, à cause de leur politique du "on ne demande rien aux devs, les discussions sur le 64bits/multithread sont closes sans préavis".
De mon coté, je trouve que leur excuse du "le jeu est trop instable pour être sorti tel quel en 64Bits" est vraiment limite une fois qu'on a trouvé ce qui va pas:
C'est la manière dont Unity gère DirectX en 64bits qui provoque des écritures dans des plages mémoires non disponibles, d'où crash.
Quand on force Unity à se lancer en OpenGL, aucun souci.
et m'excuser platement: les développeurs avaient entièrement raison sur ce coup-là.

Peu importe l'API graphique utilisée, l'expérience de jeu n'est la même chez personne: Chez certaines personnes finalement, la meilleure option est d'utiliser DirectX11, mais cela provoque systématiquement quelques glitchs (notamment certains shaders qui ne sont pas encore gérés correctement, et qui entraînent des bugs d'affichage dans le SPH).
Mais il ressort que OpenGL et DirectX11 consomment moins de RAM que DirectX9, qui est utilisé actuellement.

Squad va probablement d'abords se pencher vers DirectX11, avant qu'Unity n'améliore son support 64bits.
Même si on aura pas de 64bits officiel avant un petit moment, on peut espérer que les prochaines versions consommeront moins de RAM. (et de toute façon cette astuce fonctionnera probablement avec la 0.24)

EDIT: l'astuce à quand même l'air de fonctionner correctement sous DirectX9 (sans glitchs majeurs) chez plus des deux tiers des personnes, n'hésitez pas à essayer et à poster des retours (bugs, astuces, tout est bon à prendre à ce niveau).

Avatar de l’utilisateur
Nemecle
Messages : 2009
Inscription : 24 mars 2014, 09:03
Localisation : tu vois Andromeda ? bah pas là.
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Nemecle » 14 juin 2014, 21:28

Écoute, ton expérience aura fait foi : d'une part on sait désormais exactement pourquoi KSP 64bits ça va être compliqué, et d'autre part, si certains acceptent que leur jeu puisse planter pour avoir le 64bits, ils ont une solution prête : ton mod aura fait avancer quelque chose :)
"I hope that a day, the sky would turn dark enough to let me find this glimpse of hope... that pale blue dot"

Avatar de l’utilisateur
mana690
Messages : 5
Inscription : 21 août 2014, 23:31
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par mana690 » 22 août 2014, 00:34

Je sais aps si ca sera utile, genre si tous le monde le sais déjà mais ily a un autre moyen de jouer en 64 bits stable :

passer le jeu en 64 bits (sur les OS 64 bits évidemment ) allez dans le dossier du jeu et renommez le dossier "KSP_Data" en "KSP_Data_x32", et "KSP.exe" en "KSP_x32.exe". Ensuite faites l'inverse et renommez le dossier "KSP_Data_x64" en "KSP_Data", et "KSP_x64.exe" en "KSP.exe", et voilà .

Testé chez moi, aucuns problème et avec tous les mondes que j'ai mis je dépasse la limite des 3.5 Go

Avatar de l’utilisateur
Nemecle
Messages : 2009
Inscription : 24 mars 2014, 09:03
Localisation : tu vois Andromeda ? bah pas là.
Contact :

Re: KSP en 64bits sur Windows, c'est possible, voici comment

Message par Nemecle » 22 août 2014, 01:01

Tu n'as pas besoin de renommer, tu peux directement lancer le KSP_x64.exe : et tu es en retard, ce topic date d'avant que ce fameux 64bits officiel soit ajouté, et qui plus est il est loin d'être stable :D
"I hope that a day, the sky would turn dark enough to let me find this glimpse of hope... that pale blue dot"

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit