Botspot / pi-apps

Raspberry Pi App Store for Open Source Projects
GNU General Public License v3.0
2.05k stars 208 forks source link

Kerbal Space Program #139

Open Botspot opened 3 years ago

Botspot commented 3 years ago

@mobilegmYT says it runs fairly well on the Pi with the help of Box86.

I haven't tried it yet, but this issue keeps it from falling off the to-do list.

Pythonic456 commented 2 years ago

Funny enough just yesterday I was having a go at getting that working. I was getting close, I will see if I can actually get it working today. As expected the performance is worse compared to using old versions (like 1.2.2 is the last x86 version if I recall correctly).

Edit: Forgot to mention that the latest version of KSP uses OpenGL 3.2, which at least by default the Pi 4 does not have support for. I have looked into somehow getting a newer version working but for now I am testing different versions of KSP to find the latest one the Pi 4 can run. Will update this comment once found.

Itai-Nelken commented 2 years ago

The latest version of KSP does run with box64, unfortunately, as @Pythonic456 mentioned, it requires opengl 3.2+ which as far as I know the pi4 gpu doesn't support. Anyway, from the performance on an rk3399 device, I don't think it will be playable on the pi 4.

Pythonic456 commented 2 years ago

I tested three different versions with about the same gap between. In practice the screen recording does not make any difference to the FPS of KSP.

1.0.5: Runs ok, runs at 5-15 fps, takes ~10 min to load menu screen, renders on GPU, playable if you're willing to put up with the low FPS and limited part selection (Edit: "limited part selection", expansions prevent the game from loading).

https://user-images.githubusercontent.com/56113118/205458184-5ac101cc-8640-4270-9dce-cff2aec7142b.mp4

For these following two versions I used LIBGL_ALWAYS_SOFTWARE=true to render in software rather than the GPU as they require OpenGL 3.2+.

1.5.1: Runs terribly, takes ~20 min to load menu screen, only playable if you enjoy imposing mental pain on yourself.

https://user-images.githubusercontent.com/56113118/205458436-bb7279c0-8cc3-41af-9373-566ba2ce658d.mp4

1.12.4: Snail in treacle, used ~9GB of RAM (i am glad i had ZRAM installed) and takes ~2 hours to load the menu screen.

https://user-images.githubusercontent.com/56113118/205458356-f73d8a27-a656-405e-b78a-b414924c82ab.mp4

There is the possibility of wrapping OpenGL (this stackexchange post), but this probably wouldn't improve performance much and might not run at all due to empty wraps.

All of these tests were on a Pi 4 4GB with no overclock. Overclocking might potentially help a bit with software GL. This is a relatively heavy game as it is and the Pi is underpowered. I wonder if Squad or the KSP devs would be willing to provide source code from before the game was released, for possibility of compiling and optimising for arm.

Botspot commented 1 year ago

There used to be a free KSP test game - that cost no money to buy. That in combination with the upcoming release of KSP2, and we may just be able to convince the devs to release the source code for the free version.

Pythonic456 commented 1 year ago

Maybe some kind of petition would be in order. Not sure on how we'd do that (YouTube/ThePetitionSite), but it might be enough to persuade them along with what you mentioned.

Pythonic456 commented 1 year ago

https://youtube.com/watch?v=ngLEwJTOROs I made a quick how to if anyone finds this thread and doesn't know how to run KSP on a Pi.

everypizza1 commented 1 year ago

You definitely can get it to work. Except for the fact that the terrian is at 100M, making it (possibly) unplayable. But I am working on it.

Only 100M and you think that's a lot? Genshin is 119GB.

Pythonic456 commented 1 year ago

@everypizza1 100M meaning the terrain is at 100 meters in height, whereas it should be grounded at 0 meters. Also, that's an interesting idea... Genshin on a Pi... hmm...

everypizza1 commented 1 year ago

Already tried, got my alt banned 😕

On Sat, Jul 22, 2023, 4:20 AM Pythonic456 @.***> wrote:

@everypizza1 https://github.com/everypizza1 100M meaning the terrain is at 100 meters in height, whereas it should be grounded at 0 meters. Also, that's an interesting idea... Genshin on a Pi... hmm...

— Reply to this email directly, view it on GitHub https://github.com/Botspot/pi-apps/issues/139#issuecomment-1646539698, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATXE5QJV7PL32QGZ3G7PYRDXROLPHANCNFSM4VABVL7Q . You are receiving this because you were mentioned.Message ID: @.***>