Packaging for linux takes one week

Hi! I have a project that contains around 10 free Epic Paragon characters. My machine isn’t that bad, packaging the same project for windows64 takes around 1-2 hours. But packaging this project for linux takes around one week. What can i do to reduce packaging time?

I’m using Unreal 4.22.3 and linux toolchain used is v13 clang-7.0.1-based

That sounds wrong :frowning: Would you share how many cores and memory does the machine have? And where was the most time spent during the packaging? (Packaging long has a summary info).

Sorry, that was my overestimation. It actually took 2 days, so it’s more or less fine. My system info:

OS Name Microsoft Windows 10 Home
Version 10.0.18362 Build 18362
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name DESKTOP-LLO0HFB
System Manufacturer To Be Filled By O.E.M.
System Model To Be Filled By O.E.M.
System Type x64-based PC
System SKU To Be Filled By O.E.M.
Processor Intel(R) Core™ i3-7100 CPU @ 3.90GHz, 3900 Mhz, 2 Core(s), 4 Logical Processor(s)
BIOS Version/Date American Megatrends Inc. P1.10, 11/11/2016
SMBIOS Version 2.8
Embedded Controller Version 255.255
BIOS Mode Legacy
BaseBoard Manufacturer ASRock
BaseBoard Product H110M-HDV R3.0
BaseBoard Version
Platform Role Desktop
Secure Boot State Unsupported
PCR7 Configuration Binding Not Possible
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume1
Locale United Kingdom
Hardware Abstraction Layer Version = “10.0.18362.267”
Username DESKTOP-LLO0HFB\mihov
Time Zone Central European Summer Time
Installed Physical Memory (RAM) 16.0 GB
Total Physical Memory 16.0 GB
Available Physical Memory 10.9 GB
Total Virtual Memory 31.0 GB
Available Virtual Memory 21.7 GB
Page File Space 15.0 GB
Page File C:\pagefile.sys
Kernel DMA Protection Off
Virtualisation-based security Not enabled
Device Encryption Support Reasons for failed automatic device encryption: TPM is not usable, PCR7 binding is not supported, Hardware Security Test Interface failed and the device is not Modern Standby, Un-allowed DMA-capable bus/device(s) detected, TPM is not usable
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualisation Enabled in Firmware Yes
Hyper-V - Data Execution Protection Yes

Would you know (from the packaging long) whether the most time was spent on compiling or cooking the assets?

Most time it takes to do stuff like this, i remember this one in particular was extremely long. (I think it’s from Agora Paragon set of assets): LogMaterial: Display: Missing cached shader map for material M_Turret_WIP, compiling.

But 2 days is definitely an improvement compared to version 4.21. when it did actually take 1 week on the same machine. I think it’s the fact im running the linux package on a windows 64 machine that’s problematic.

hmm, you know what i could try… create a sample project that contains only the asset with that material and calculate how long it takes. then send this project to you…

Unfortunately, on a 2-core machine the packaging process cannot go wide :frowning: You may want to edit BaseEngine.ini and set

[DevOptions.Shaders]
bAllowCompilingThroughWorkers=false

Since in your case spawning separate shader compile workers probably only makes the situation worse. The discrepancy between the times is perhaps because on second (and later) packaging you’re already using the cached data from Engine/DerivedDataCache.

I recommend finding a quad-core or better machine for packaging (the more cores, the better).

All right. Thanks for your comment.