Replies: 9 comments 1 reply
-
OpenGL is currently required, I'm afraid. A long time ago you could compile without OpenGL and it would use my own software renderer (which wasn't very good). This was back when the game still used GTK. But I converted it to use SDL2, and dropped GTK, and now OpenGL is required. Even back then, some screens did not work well without opengl (e.g. MAIN VIEW, WEAPONS, DEMON). Consider that a Raspberry Pi 4 is too slow for those screens as well. If you want to use SDL2 without OpenGL (possibly reasonable for comms, engineering, damage control, navigation, science), then you would need to write graph_dev_sdl2.c (start by copying graph_dev_gdk.c, which is the old gtk based code), and link it in instead of graph_dev_opengl.c. graph_dev.h is the header that defines the interface, and graph_dev_gdk.c and graph_dev_opengl.c are the gdk and opengl implementations, respectively. You might also have to change snis_graph.c as well to add something to struct snis_graph_context that SDL2 might need. I'm pretty sure graph_dev_gdk.c doesn't compile anymore because some stuff it needed in struct snis_graph_context was removed when the conversion to SDL2 was done (among possibly many other reasons.) Also would need to change snis_client.c, in main(), where it sets up OpenGL, maybe move the opengl code into graph_dev_opengl.c and the equivalent non-opengl sdl2 setup into graph_dev_sdl2.c Hope that helps. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the Help! going to set up a server in a bit to tests if it gets any further! Thanks Again! |
Beta Was this translation helpful? Give feedback.
-
Removing the resources caused other issues so I ended up making a big swap partition. I'll post up my yocto layer in a bit just in case anyone is interested. |
Beta Was this translation helpful? Give feedback.
-
Neat! Although... your FPS of 0.09 seems ... not great. FWIW, I have (unrealized) plans to build physical consoles for some stations using Raspberry Pi 4s + some cheap amps + speakers from aliexpress + arduinos + bunch of pots and switches and LEDs and 3D printed aviation style switch things. Some details here: I need to get back on that project... just not very good at making physical stuff. |
Beta Was this translation helpful? Give feedback.
-
Awesome looks good! Here's a link to the Yocto layer if anyone ever want to see it: I wont have as much time to look at it this week but If I can I'll get a setup with a bunch of screens. |
Beta Was this translation helpful? Give feedback.
-
Looks cool! |
Beta Was this translation helpful? Give feedback.
-
I don't know if you're still messing around with this or not, but in case you are, I just did a little experiment which might help. The planet textures are most likely what's causing you trouble, as they are quite large. As an experiment, I tried scaling them down to 128x128 which is much smaller than is usual (1024x1024). They looked surprisingly good at that resolution, so it's something you might try. See: #333 |
Beta Was this translation helpful? Give feedback.
-
There is now a --no-textures option of snis-client which may be useful for some stations that don't use textures (e.g.: NAV, ENGINEERING, DAMAGE CONTROL, COMMS, SCIENCE, etc.) which should save ~400Mb of texture memory. See #334 Also available in the options menu of the snis_launcher script. |
Beta Was this translation helpful? Give feedback.
-
Thanks those changes should help a lot! I have a hankering to build a cockpit again so I might look at using some raspberry pis like you mentioned before. |
Beta Was this translation helpful? Give feedback.
-
Hello!
I've been working on a little learning project trying to get Space Nerds in Space compiling with Yocto for a few tablet like devices I have laying around.
I've managed to get pretty far but the chipset I am using (rk3126) does not have support for glx natively. I tried using the mesa drivers but it caused a lot of conflicts.
I saw the WITHOUTOPENGL flags but it didn't seem to make much difference.
My plan is to use the tablets just for NAVIGATION, ENGINEERING, DAMAGE CONTROL, SCIENCE, and COMMS.
Basically how hard do you think it would be for certain clients to run without opengl? is it possible to just use SDL2?
Beta Was this translation helpful? Give feedback.
All reactions