Jump to content

KSP 64bits on Windows (this time, it's not a request)


Lilleman

How does the 64-bits version of KSP work for you?  

5 members have voted

  1. 1. How does the 64-bits version of KSP work for you?

    • It worked with no or minor glitches/bugs with DirectX
      157
    • It worked with no or minor glitches/bugs with OpenGL
      24
    • None, it crashed/caused major game breaking/is unplayable.
      62


Recommended Posts

Update: As you probably know, the 0.24 version of KSP comes with an official x64 support for Windows, making this thread obsolete.

However, in case you still want to use KSP 0.23.5 for a while, I'll let the original post. Just keep in mind this trick works with KSP 0.23.5 only, and is not officially supported by Squad or Unity. Use at your own risk.

Original post:

Hello everyone!

I found out yesterday how to use a 64 bits version of KSP on Windows, and I tought you might be interested.

Before anything else, I decline all responsibilities for anything that could happen to your save files, make sure to have a backup of every important files in your KSP folder.

Also, due to the nature of the manipulation, there is absolutely no hope for an official or an unofficial support, from Unity or Squad. Don't expect any fix for this version.

Now the interesting thing:

Unity works with "players", depending on the support they are running on. For now, the only executable supported by Squad is based on the 32-bits version of this player for Windows.

Turns out the 64-bits version of this player works perfectly fine on several computers, either on DirectX or OpenGL.

First, you'll need to get a copy of this 64-bits player.

For obvious Copyright reasons, I can't redistribute only the files we need, since I don't own them.

So we need to find 2 files, for a total of 15MB, in the Unity Editor executables.

This can be found in the Unity Evaluation Version (1GB of download + the installation)

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 (you only need the 4.3.3 Win installer)

-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\windows64standaloneplayer" folder. Copy player_win.exe to your KSP main directory and rename it KSP.exe.

-Find "Editor\Data\PlaybackEngines\windows64standaloneplayer\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)

Update: tip from Estel, if you're using 7zip:

by opening the unity installer with 7zip, you can acces the two files without wasting time installing and removing unity.

they can be found inside $_OUTDIR\windows64standaloneplayer\ and $_OUTDIR\windows64standaloneplayer\Data\Mono\

-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 DirectX11 (thanks gpisic) or OpenGL, just add one of those argument to your Steam Launch properties or your KSP shorcut:

-force-opengl (Windows only)

Make the game use OpenGL for rendering, even if Direct3D is available. Normally Direct3D is used but OpenGL is used if Direct3D 9.0c is not available.

-force-d3d9 (Windows only)

Make the game use Direct3D 9 for rendering. This is the default, so normally there's no reason to pass it.

-force-d3d11 (Windows only)

Make the game use Direct3D 11 for rendering.

Let me know if this work for you, and please accept my apologies for every grammatical mistake I've made, feel free to correct if necessary.

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

RECAP: now we have a bunch of comments, let's see what's are "minor glitches/bugs" you might encounter:

-The first and "normal" bug you'll expect is a flashing screen (the astronauts complex) during transitions in the KSC. There is currently no fix for that, but it does not have any impact on the gameplay.

-Decouplers ejection force seems to be very low/inexistent. (not game-breaking, but you might want to be aware of that)

-Some particular parts can cause the game to crash randomly. Not always the same condition, but the same error in logs (see p45).

This bug has been noticed twice, when using an AV-T1 Winglet. (To be confirmed). Only workaround is to not use this part if you encounter crashes with it.

-The game can still write in a wrong memory location, causing the same type of crashes as the 32-bits version. This is due to a bug in the way Unity handle DirectX to fix it the first thing is to update your video drivers (and reboot, seriously), test again, and if it still don't work, you can use the OpenGL trick.

-The OpenGL version of unity does not look as good as the DirectX one, and the framerate is not as good.

In fact, you should expect about the same framerate as the Linux version while using OpenGL.

I consider this should be tried last, but the OpenGL thing is a really decent alternative.

-The "Could..... not preload global game manager #0 i=0" error is what you get if you don't use the correct version of the Unity Player.

To be sure (and to reproduce the operation once the engine will be updated, without waiting for an update here): right click on your original KSP.exe.

Go to "details" and check the version. You should be able to see what Unity version you need to download. (launcher.exe and KSP.exe don't use the same version)

-No solution yet for MacOS users, I can only advise to use Bootcamp.

-Some people report some deformation in their asteroids's grounds, or in their strut's location. I can't help but recommend to start a new game from scratch and see if this happen again.

-The 64bits-version does not seems to like Visual Enchancements so much, it might not work on first try.

-In general, I would advise of starting from a clean install of KSP, doing this trick and test one mod at a time.

-Works with 0.23.5 only.

-Can cause some weird mouse behavior when switching to another application. A right-click anywhere on the screen seems to fix it.

-Right-click ingame might not be very responsive. Workaround to be confirmed: press escape, then resume game. (will update when sure about this).

-Kerbal Attachment System parts are working, but grabbing a part ingame might result by the destruction of your ship and the death of your Kerbal.

Don't grab anything that is already attached to a vessel with KAS. (no known workaround).

Remember, for the testing purpose, you should start from a CLEAN version of KSP, and load one mod at a time.

Please report it non-working only if you had difficulties running a clean version or a very slightly modded version.

Mods are not supposed to be compatible yet.

(update:you can find some useful informations about mods compatibility with 64-bits here:http://forum.kerbalspaceprogram.com/threads/82869-64-Bit-KSP-Mod-Testing-and-Debugging-Thread)

Edited by Lilleman
last edit: removed the link to the OpenGl bench video, it was Unigine, not Unity...
Link to comment
Share on other sites

Actually, I'm being a little dramatic for the "I decline all responsibilities" stuff. Only bugs I found until now were already in 32-bits KSP, and there's no reason for the game to delete your saves files. I just don't know if this can happen or not.

Link to comment
Share on other sites

I'm a little scared to try this first, though

Why? In the worst case, the program would just crash. It can't imagine it would permanently damage your computer or any files on it. It would basically just exit.

Link to comment
Share on other sites

Back up the KSP.exe, as I don't think this is working as you expect, one of the issues with the Linux 64bit binary is that it still can't use a lot of RAM.

Someone needs to test this and see if the new KSP.exe can actually go above 4gigs.

Link to comment
Share on other sites

I was quite surprised with the result, otherwise I wouldn't have created a account on the forum just to post this.

The only return I have is very positive, that's why I posted this here.

Now I need more opinions, and to share the word!

Edited by Lilleman
repeated myself....
Link to comment
Share on other sites

Is there any benefit to this other than avoiding the 32bit memory usage cap?

Or in light of the last post, "possibly" avoiding it.

Performance improvements.

And holy crap sal, you now have almost 9000 posts? :0.0:

Link to comment
Share on other sites

What is to expect:

-The game will not run faster, but it will run at about the same speed in the DirectX version than the 32-bits version.

-The OpenGL version of Unity can be used as a "safe-mode", but the framerate is not as good, and the antialiasing is not processed the same way. Minor graphical changes.

-The transition between High/low altitude terrains textures are smoother.

-The opening loading time is longer if you don't use ActiveTextureManager

-You can run a whole bunch of mods with HD textures (for me: Novapunch, KW Rocketry, Interstellar, DeadlyReentry, MKS, Visual Enhancements + 8K textures, etc) without ActiveTextureManager

What is NOT to expect:

-Any game bug fixing (I had the "recovering" bug and a kraken already, nothing unusual)

edit: gpisic, can you pm me your error.log file?

This makes it a confirmed ratio of 2 working/1 non-working

Edited by Lilleman
Typo
Link to comment
Share on other sites

Performance improvements.

And holy crap sal, you now have almost 9000 posts? :0.0:

Exciting, hopefully this is legitimately useful and Squad takes notice.

edit: I'm more interested in any possible performance boost than the 4GB memory cap, though.

That's what I'm interested in too. I usually don't have memory usage problems, although I do monitor because I seem to sometimes get a memory leak that leads to a crash. I'll have to give this a go when I get home.

Link to comment
Share on other sites

What is to expect:

-The game will not run faster, but it will run at about the same speed in the DirectX version than the 32-bits version.

-The OpenGL version of Unity can be used as a "safe-mode", but the framerate is not as good, and the antialiasing is not processed the same way. Minor graphical changes.

-The transition between High/low altitude terrains textures are smoother.

-The opening loading time is longer if you don't use ActiveTextureManager

-You can run a whole bunch of mods with HD textures (for me: Novaspace, KW Rocketry, Interstellar, DeadlyReentry, MKS, Visual Enhancements + 8K textures, etc) without ActiveTextureManager

What is NOT to expect:

-Any game bug fixing (I had the "recovering" bug and a kraken already, nothing unusual)

edit: gpisic, can you pm me your error.log file?

This makes it a confirmed ratio of 2 working/1 non-working

Here you go

2014-06-05_212738.zip

Link to comment
Share on other sites

Lord, is it stable?! I have an access violation bug that happens every now and then and I'm trying to link it to a full system hang but I can't prove it (yet?). I usually run dual monitors and the system hang seems to only happen in that mode with no error reports in KSP or Windows system. Single monitor seems to crash the game only and report the error in the KSP log.

It's a shaky link but this could help me pinpoint if it's due to a memory leak or my stupid motherboard that's going bye-bye as soon as I have the money to replace.

Link to comment
Share on other sites

I don't really know if it's stable yet.

I will not count too much on that, but for now things a running pretty well on my computer, with no "64-bits specific" crashes.

I encountered a problem with the DirectX version with olds nVidia drivers. The OpenGL version was really stable, except when switching from fullscreen/windowed.

Once the drivers were updated, the DirectX version was running just fine.

The access violation happened in a 32-bits version? This is when a program try to read or write in a wrong memory location (RAM? VRAM?). This is the only kind of error that could be fixed by this version.

For the dual-screen thing, it sounds more like a software problem (drivers).

Link to comment
Share on other sites

Have you tried to update your drivers or switching to OpenGL? I had the same kind of error before posting here (write in wrong memory location).

Well it works in OpenGL mode, however i don't like it in OpenGL, i have FPS drops with it when i turn the cam around the ship. But anyway nice work.

Rep + for you.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...