Open Ashe opened 3 years ago
Now that we have access to Unreal Engine 5's source code
Who is "we"? The repo https://github.com/EpicGames/UnrealEngine is not public
Now that we have access to Unreal Engine 5's source code
Who is "we"? The repo https://github.com/EpicGames/UnrealEngine is not public
You can get access to UE source code by connecting your GitHub with them. I don't like it, but it is open to anybody who wants it. I presume it's what we do with the UE4 package:
https://github.com/NixOS/nixpkgs/blob/nixos-20.09/pkgs/games/ue4/default.nix#L76
url = "https://github.com/EpicGames/UnrealEngine/releases/tag/${version}";
- same repo, just on the UE5 branch rather than ue4.
I am taking a jab at ue5 right now, there is quite a few changes compare to UE4 like introduction of bundled tooling(which require some modification to bypass), I am hoping within today/tomorrow I will have a working version of it (since it also require nuget packages as well now)
some progress update, dividing the process to execute GitDeps as its own derivation, due to the massive unpacking it does
so, the current big issue with both UE5 and latest UE4 is that everything is self-bundled(in a hardcoded fashion), currently trying buildFHSUserEnv approach(for now to get it building), will most likely have more progress mid june once getting new equipment, due to the high process power and storage space that UE5 need
(to give perspective, I split the process of GitDeps and that result in 42GB of deps)
Their scripts use /bin/bash which need changing to be /bin/sh (or maybe there's a better way of doing this with Nix)
Just wanted to add that the patchShebangs
function can do this, see for example: https://github.com/NixOS/nixpkgs/blob/8284fc30c84ea47e63209d1a892aca1dfcd6bdf3/pkgs/applications/office/bookworm/default.nix#L57
will be posting progress by the end of the week
the current progress, pretty much done for first passthrough, this is via nix's clang not the bundled clang, going spend the next week to convert to pure drv
Absolutely fantastic work, cannot wait to have this on my machine!
initial basic check list:
Any updates on this ?
@loucass003 working on it, the only main component left is the compilation process issue for C++ based projects and exporting, but aside from that, everything else is working fine so far(blueprint, animation, etc) I am just taking a few days to not get burnt out
will be resume working on it tomorrow(was busy with work the past week)
Still nothing ? :cry:
Still nothing ? 😢
Still working on it , mostly the current issue is to fix the hardcore path and have a full start to finish build both a C++ project(both GUI and via make) and a Blueprint project
Still nothing ? 😢
Still working on it , mostly the current issue is to fix the hardcore path and have a full start to finish build both a C++ project(both GUI and via make) and a Blueprint project
Ok cool, thanks for your work on it!
will see if I can start creating the draft PR this weekend
will see if I can start creating the draft PR this weekend
Thank you for your hard work, you must have put a lot of effort into this!
Any hope whatever's working so far could be published, even without an official PR?
@dyaso yea, was mostly waiting for UE5 to be more stable, and will be resuming on it since now have access to a high-memory server farm for building it(since UE5 packaging is not exactly a easy one desktop situation)
Just wanted to thank you @juliosueiras for your hard work, very much appreciated :-)
Make a draft PR, I'll be happy to contribute build system fixes
I poked around under his github account and found https://github.com/juliosueiras-nix/nix-ue5. It just has one commit from 2021-06-23, but might be something of a starting point.
@jerith666 will push the new update, the current hurdle is mostly boil down to way UE package its games and its cmake lookup,etc (the engine itself can run and do stuff with no problem)
will be creating the draft PR tonight/tomorrow
C++ based project was able to open(needed to tweak a few things)
Quick Launch work now(needed a few tweak) first pic is Blueprint based project second pic is C++ based project
will be postponing the submit to tomorrow, since I am downloading the City sample to test an actual production project load just to make sure before writing the draft PR
FYI is annoying that I need to use Epic Game Launcher(wine) to download marketplace asset/project
Nevermind, doing the Content Showcase project instead, since City Sample is killing my bandwidth(in term of throttle)
k, tested all aspect of the Content showcase, no severe issue(the only crash was trying to play the Niagara advanced portion, but that is most likely due to my GPU not being strong enough to handle all of it at once)
the draft PR is here if anybody want to try it out(need to add the wrapper and thats it), keep in mind the result size is around 122GB(as usual for Unreal Engine)
Trying to install 62eeb15105 keeps failing for me with error: Too many open files
.
ulimit -n
reports 1024, am going to try raising it using https://stackoverflow.com/questions/70473410/how-do-i-increase-the-limit-on-the-number-of-open-files-in-nixos
Edit: raising it to 65536 didn't help
... doing a system upgrade from 21.05 to 21.11 now
@dyaso I think you might need to set the ulimit for nix-daemon itself, for ex. I have this for my machine systemd.services.nix-daemon.serviceConfig.LimitNOFILE = pkgs.lib.mkForce "40096";
, since is hardcoded by default to 4096
That worked, thanks! Will try building again this evening. Huge gratitude for your work on this
@dyaso fyi, the purpose of the wrapper is for tweaking and figuring out which packages is needed it for runtime, since for example, there are a few files path that need to be copied instead of symlink for Unreal to work(for building a game)
but at the same time, this tweak won't cause rebuild for the base package, so no need to wait for 122GB rebuild
I'm most interested in using the level and animation editors, and the in-editor python scripting (which doesn't run in the game engine, just automates tasks within the Editor itself). I don't need to build and package games separately, so long as the Play In Editor feature works (the play button on the top central toolbar). If you have the content examples working, that is everything I was hoping for.
Unfortunately, now I'm getting an error about not being able to download UnrealEngine-5.0.1-release.zip
automatically, despite just downloading and adding it to the store as advised.
@dyaso what is the sha256sum of the zip?
my zip is 09545b0cf2c435e27838f806ad9e0f3e7d7e48f744816c1e99b4a4ed10a659ec
@juliosueiras 1c296e6f3f8d1eff960053b23ce95e115645c2d899a8c3f7810813d91f135e18
all three times i've downloaded it today, once on a different machine
Edit: i found a page saying that nix hashes should be 52 chars long, computed using nix-hash --flat --base32 --type sha256 UnrealEngine-5.0.1-release.zip
, which gives me the value 062y2cgxj4q8h7vw7a4rv314amhibvlkrcjk02bgy7ld7xpnwa8w
. I put that value in pkgs/games/ue5/unwrapped.nix
line 43 and now the installation process seems to be proceeding, back to downloading things from Unreal CDN
@dyaso thanks, found the issue, is due to the method of download from my end(the inside name of the zip is using hash instead of the tag which cause the sha256 to be different), will push the correct hash in a bit
So close!
First build attempt, starting with ~182 GB free, took between 9-11 hours downloading and compiling before getting an out-of-space error and 124 GB free -- presumably it deletes partial compilation results unless the whole thing's successful?
Cleared another ~25 GB, tried again; at one point saw it sitting still with the message "buildPhase completed in 5 hours 13 minutes 22 seconds" and 24 GB free, came back an hour later to same disk space error, attached below. Again, 124GB are now free.
It talks at the top about an Android physics library -- as an example, is there any way to disable that component? I don't need to package things, just to use the Editor.
Is there a way to avoid the 5 hours rebuild time each attempt, if only the installation step is failing? Or maybe i could run it from where it's built, without adding it to the store?
Otherwise, now attempting to clear a further 100 GB...
as of right now not sure(since I am adapting from what ue4 pkg had)
try with 150/160 GB free space if you can
175 GB free, am going to try nix-build ue5nix/ -A 'ue5'
first, hopefully that'll produce a results
symlink i can run without installing but which won't require more rebuilds from scratch? Sorry, my nix knowledge is really poor; i started reading the pills, but then resorted to booting into Windows to run things like UE and have forgotten most of it
that would be correct A) remember is still a draft PR so additional fixes may require B) but the fixes would only be done to the wrapper level, so it won't require additional rebuild for the UE5 itself
Earlier it was sitting there with the "buildPhase completed" message again, free space was 9.5GB, now "fixupPhase completed in 9 minutes 59 seconds" and 127 GB are free.
Editor is starting atm, compiling thousands of shaders.
... Then crashed during startup at 83% with the following:
Project description Now that we have access to Unreal Engine 5's source code, it would be nice to have a ue5 package which corresponds to the main branch of UE5
ue5-main
.The quick start documentation shows some steps to getting it working, however as a NixOS newbie I got stuck when it begun requiring things of
dotnet
(I also wasn't making a package which was just making my life more difficult).Apparently the stages to get this setup are:
Some things to note:
/bin/bash
which need changing to be/bin/sh
(or maybe there's a better way of doing this with Nix)mono
anddotnet
(I think), however I couldn't get these working. Trying to use my own versions of these sort of worked but never fully got things workingWould love to see this! Thank you!
Metadata