-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] How to build in Linux? #5
Comments
Most tools (including editors and dabuild) are built only for windows. then you should be able to run these samples under linux |
|
Some utils are buildabe for linux (e.g. vromfsPacker or csq), some can be ported (shader compiler for SpirV), maybe even dabuild with export plugins. |
|
Wine/Proton was capable to launch editor though. |
|
@NicSavichev Mind if I take a stab at porting some of the tools for Linux and contributing them back here? Thinking of doing it in my free time, especially in the hopes that my would-be contributions can help improve the Linux port of War Thunder. |
I don't mind, most console tools are either already ported to linux or easily portable to linux. |
Oh cool! Thanks for the pointers. I'll try either the shader compiler or |
|
Would there be any interest in using a different build system? was wondering if that would make compiling more accessible? would be interested in getting everything to compile on linux. |
Ideally, in the long term, I would vouch for switching to Ninja or CMake. However, the engine has existed for quite a long time already and is heavily integrated with Jam even for building for consoles (based on the code, at least with how I understand things). Changing the build system may also likely introduce risks to Gaijin from a business perspective. A switch to a different system may likely require retraining in-house devs and re-prioritization of tasks. The company also maintains the build system used, so I don't see them changing systems any time soon. So, at least in the short term, I wouldn't want the engine to change build systems unless Gaijin would like to or if someone is willing to maintain a fork with a different build system, perhaps while ensuring feature parity with the engine. |
that makes sense, the other thing that can be done is write a wrapper similar to how gradle or repo works. that's probably a lot simpler to do, I guess for the moment I'll just download the deps manually and see what happens when i try to compile it on linux. |
|
If anyone is curious, as of November 9, 2023 (Philippine Time) I managed to get the shader compiler compiling. There are script errors though, so I'll have those fixed later today (yes, I am writing this at 2 in the morning 😅). I also made a draft PR here for anyone looking to check the progress. |
|
Hey, @NicSavichev! Just wanted some clarification: Since the |
It doesn't matter, we currently use both, GCC and CLANG, when building for linux. |
I see. Alright. I'll try to make the shader compiler work with GCC. Parts of the shader compiler use anonymous PODs inside a union, which GCC does not like. I'll try figuring out a way to make it work (and review some of the more involved parts of C++) under GCC. I appreciate any pointers too! |
|
I got the skiesSample to build I seem to be missing shaders. I built the jam-8 repo from here: https://github.com/GaijinEntertainment/jam-G8 for ubuntu 23.10 here are the few packages I needed I ran a python3 env and installed |
You need to download and unpack samples-prebuilt-game.7z |
Yes, I will add instructions how to build under Linux a little bit later (required packages and general build sequence). For now I just checked that everything (samples and some tools) are built on machines with proper environment. |
that's nice, I got the skies sample running. I guess that is a start umm, is there any guidelines if someone wanted to contribute code? |
|
Use https://github.com/GaijinEntertainment/DagorEngine/blob/main/build_all_linux.sh to build all tools (all console tools except for daEditorX and assetViewer) and then shaders and code of samples. Scripts are not mandatory for regular use, we just use |


[Question] How to build in Linux? It seems scripts like
build_all.cmdonly available in Windows.The text was updated successfully, but these errors were encountered: