I follow the link cross compiling linux: Linux Development Requirements for Unreal Engine | Unreal Engine 5.1 Documentation , and build unreal engine. I have already edit TargetArchitecture in defaultEngine.ini and package the game. When i run the package on Nvidia Jetson TX2 (ubuntu 16.06 LTS), the game crashes. I attach the errors below. Looking forward to your help.
Has anyone ever use UE4 to build game for Nvidia Jetson TX2?link text
You packaged the game correcly and it looks like the engine starts successfully. The crash that happens later might have many reasons, including the game code (does the project run on x86_64 Linux normally?). Try passing -nosound in case it is related to audio as there seem to be a problem initializing it.
Ultimately, try running under gdb to produce a better callstack (use “bt” command after you crash) and see if it gives any clues. Feel free to post it here.
I tried to just put a cube in a blank project (nothing else, no camera, no sound object)and package to Aarc64 linux. I still get the same error. I will attach the log below. BTW, how to create no sound project?
I managed to build the unreal package for Nvidia Jetson TX2 and run it using the -nosound flag which solves the error shown in the log however the build still terminates with signal 11.
JustinArcade have you had any luck with this problem?
Could you please run under gdb and get the callstack?
I suspect that the 4.20 may have ARM64 Linux PhysX build broken. If the callstack is pointing at some PhysX function crashing, please try building PhysX library in Debug and substituting it in the build.
You need to prepend “gdb --args” and not just “gdb”, otherwise gdb will try to parse the rest of the command line arguments as its own. Once it will load, just typing “run” will execute it with the arguments given. Once you hit the crash, use “bt”.
after that edit GetPhysXLibraryMode() function in Engine\Source\ThirdParty\PhysX3\PhysX.Build.cs and make it always
return PhysXLibraryMode.Debug;
after that rebuild the ARM64 binary (repackage). Note that the Build.cs change will affect building binaries for Windows too, so you may want to undo it later (or guard so it applies to cases when Target.Architecture.StartsWith(“aarch64”) is true).
Thanks for the quick reply, I did try running it with the gdb but couldn’t get it to work. I added gdb to the .sh script that runs the build but it fails as it tries to load the build folder as debug symbols and fails.
I tried adding both the -nop4 and installing the Perforce client but none worked. I followed the install guide and commented [RequireP4] in BuildPhysX.Automation.cs to ignore perforce - this worked but then the build failed when searching for MsDev14Exe and MsBuildExe in the same file. I commented out the two lines (820 and 821) which seem to have built PhysX correctly. I changed the PhysX.Build.cs according to your instructions and made the GetPhysXLibraryMode() function to always return PhysXLibraryMode.Debug. I opened the editor and the empty project I tried packaging before and repacked it for Linux distribution. Tried running it on the device and got the same error.
Is it possible that Unreal 4.19 or some other version will work on the Jetson TX2?
Seems I was wrong - the build wouldn’t run because I used mobile template when creating the empty project. I created another project now using the Desktop/Console template, packaged it using the debug PhysX libs and it works.
Just rebuild PhysX locally (all configurations). Unfortunately 4.20 shipped with broken PhysX Linux ARM binary libs, but since you have the sources you can run
can you send me the LMMathSSE.h library as it produces error when building unreal lightmass as __m128 is only used for 32 bit processors not supported for aarch64