@zerophase, as you wish. As I said before - feel free to revert any my commit. Each commit contains a standalone change, it should be easy. It's weird that the compilation doesn't work in temp folder for you. I used bundled mono that downloaded by default by UE.
Search Criteria
Package Details: unreal-engine 5.7.4-1
Package Actions
| Git Clone URL: | https://aur.archlinux.org/unreal-engine.git (read-only, click to copy) |
|---|---|
| Package Base: | unreal-engine |
| Description: | A 3D game engine by Epic Games which can be used non-commercially for free. |
| Upstream URL: | https://www.unrealengine.com/ |
| Keywords: | 3D engine game ue5 Unreal |
| Licenses: | GPL3, custom:UnrealEngine |
| Submitter: | acerix |
| Maintainer: | alexbelm48 |
| Last Packager: | alexbelm48 |
| Votes: | 74 |
| Popularity: | 0.192721 |
| First Submitted: | 2016-05-01 18:37 (UTC) |
| Last Updated: | 2026-03-29 03:16 (UTC) |
Dependencies (31)
- coreutils (coreutils-gitAUR, coreutils-selinuxAUR, uutils-coreutils-gitAUR, uutils-coreutils-git-binAUR)
- dos2unix (dos2unix-gitAUR)
- dotnet-runtime (dotnet-runtime-2.2AUR, dotnet-runtime-3.0AUR, dotnet-runtime-2.1AUR, dotnet-runtime-preview-binAUR, dotnet-runtime-binAUR)
- dotnet-sdk (dotnet-sdk-2.2AUR, dotnet-sdk-2.2-vs2017AUR, dotnet-sdk-3.0AUR, dotnet-sdk-2.1AUR, dotnet-sdk-preview-binAUR, dotnet-sdk-binAUR)
- findutils (findutils-gitAUR, findutils-selinuxAUR)
- lld (llvm-gitAUR)
- openssl (openssl-gitAUR, openssl-staticAUR, openssl-aegisAUR)
- python
- sdl3 (sdl3-noibus-gitAUR, sdl3-gitAUR)
- steam
- vulkan-icd-loader (vulkan-icd-loader-gitAUR)
- xdg-user-dirs
- git (git-gitAUR, git-glAUR, git-wd40AUR) (make)
- glibc (glibc-gitAUR, glibc-eacAUR, glibc-git-native-pgoAUR) (make)
- grep (grep-gitAUR, grep-compatAUR, rg-grepAUR) (make)
- openssh (openssh-gitAUR, openssh-dnatAUR, openssh-gssapiAUR, openssh-hpn-shimAUR, openssh-selinuxAUR) (make)
- rsync (rsync-gitAUR, rsync-reflinkAUR) (make)
- sed (sed-gitAUR, uutils-sedAUR) (make)
- wget (wget-gitAUR) (make)
- clionAUR (optional) – IDE for projects
- Show 11 more dependencies...
Required by (2)
- colosseum
- ue4cli-git (optional)
Sources (7)
Latest Comments
« First ‹ Previous 1 .. 28 29 30 31 32 33 34 35 36 37 38 .. 84 Next › Last »
Shatur commented on 2021-07-25 12:19 (UTC) (edited on 2021-07-25 12:21 (UTC) by Shatur)
zerophase commented on 2021-07-25 10:24 (UTC)
@shatur There's probably a work around for this. I'll have to look into how Unreal Engine 5 compiles everything. Think I should be able to use the system mono to address the permission issues.
I would recommend reverting the automation tool till it supports the system mono too. I'm pretty sure this is an issue with the mono used.
Shatur commented on 2021-07-25 09:17 (UTC) (edited on 2021-07-25 09:17 (UTC) by Shatur)
@zerophase, got it, I used another directory on my drive because I simply do not have enough space in temp.
zerophase commented on 2021-07-25 08:07 (UTC) (edited on 2021-07-25 08:33 (UTC) by zerophase)
It's a permission issue from building in temp. Automation tool causes the issue as well. We should try to avoid saving files to home while building.
Shatur commented on 2021-07-25 06:16 (UTC) (edited on 2021-07-25 06:16 (UTC) by Shatur)
@zerophase, I compiled developer preview 2 successfully, just changed the branch name in the current latest PKGBUILD.
zerophase commented on 2021-07-24 21:03 (UTC)
Trying to compile Unreal 5. I keep getting this error. Does anyone know how to fix?
Shatur commented on 2021-07-19 07:29 (UTC) (edited on 2021-07-19 07:40 (UTC) by Shatur)
Does UAT fully support C++ projects? That's all I really worry about.
Sure! Projects compilation is also noticeably faster.
We should be using BuildConfiguration.xml, as UBT does not necessarily respect MAKEFLAGS. Their build system definitely manually changes some of those values, like passing make more jobsI'd love to have it setup to support large core count cpus, as I use them personally. I just don't think the average user has 24+ cores.
Sorry, maybe I didn't get it something... MAKEFLAGS work both when building the engine and when compiling C++ projects. I tested it myself. Why hardcode the number of cores?
Users that want custom build configurations can just modify the file before compiling with makepkg, and use something like Paru to make their changes permanent for updates.
I only turn features on by default if they're accepted upstream.
Of course! But I disabled the system mono patch by default because this requires user intervention after. But feel free to enable it if you think otherwise.
Has the ccache_executor.patch patch been accepted in 5.0 / 4.27? I missed it.
zerophase commented on 2021-07-18 23:15 (UTC)
@shatur Does UAT fully support C++ projects? That's all I really worry about. It might complicate any modifications on our part to better support Arch Linux.
I just put a thread limit in there as I didn't know how all cpus scale with that multiplier.
We should be using BuildConfiguration.xml, as UBT does not necessarily respect MAKEFLAGS. Their build system definitely manually changes some of those values, like passing make more jobs. Sticking to how UBT works should make maintence easier.
Users that want custom build configurations can just modify the file before compiling with makepkg, and use something like Paru to make their changes permanent for updates.
I'd love to have it setup to support large core count cpus, as I use them personally. I just don't think the average user has 24+ cores.
I only turn features on by default if they're accepted upstream.
Shatur commented on 2021-07-18 15:59 (UTC) (edited on 2021-07-18 16:10 (UTC) by Shatur)
@zerophase, I don't think this is a good idea. UAT is the preferred way for binary deployment. It also doesn't require any additional dependencies. According to my observations, it not only builds the project and removes all unnecessary junk, it also creates a special file that forces UBT not to check the changes in the engine. It just my observation, maybe it does something else! Doing all this stuff manually simply not worth it. And it will be hard to maintain.
Also I do not think that hardcoding the number of threads by default is a good idea :) You can simply use MAKEFLAGS as I do. I bet the users want to have an unmodified version of the engine. Check out our conversation @OdinVex.
--march=native is good for building the engine itself, but building projects using this flag is bad because they will be tied to the CPU it was built on.
zerophase commented on 2021-07-18 15:23 (UTC)
I would go back to using make for building, and just run all of the UAT stuff manually. All you're doing is abstracting package maintenance into the automation system, which requires dependencies to use. I guess just diff the directory differences, and just remove the unneeded files during the package step.
There's a 30 thread limit put in to cap how high the multiplier scales for systems with less cores, while maintaining responsiveness. If you need more than thirty cores, build manually with makepkg, or let paru manage your local PKGBUILD with git. That multiplier is there to speed up compilation, as much as possible, without negatively impacting the responsiveness of said system. It's not our responsibility to maintain the PKGBUILD for your specific system.
-march=native is fine for compiling for most newer cpus, and should only be turned on if you're willing to test it. Works perfectly fine for Haswell and Broadwell cpus. Plus you need to pass a command line argument to enable it. I turned on looking for bugs with other cpus, as it got accepted upstream. Maintaining and patching the Unreal Build System is the solution, not MAKEFLAGS. UBT manages each subproject, and won't necessarily play nice with variables from outside.
Pinned Comments
alexbelm48 commented on 2026-03-28 22:40 (UTC) (edited on 2026-05-16 08:26 (UTC) by alexbelm48)
I currently recommend building
5.6.1over any version of5.7as this branch holds a notoriously broken Vulkan RHI implementation, leading to unexpectedVK_ERROR_DEVICE_LOSTcrashes due to a race condition. Just modifypkgveron your end with the aformentioned version and you should be good to go.A discussion here goes into detail about the issue, but no proper fix is currently planned by Epic.A merge request has also been proposed here, but the fix itself was in the end apparently not very effective.The Vulkan crashes were recently fixed in
5.8, check here.You can still try on your own if you still insist on using
5.7.x, especially if you're motivated to fix this issue on your side. If so, don't hesitate to send a comment with your patch, I could add you as a contributor to this package if you are interested.Reducing crashes can be done by doing the following two steps:
DefaultEngine.ini(either in your project or the editor's installation dir,/opt/unreal-engine/Engine/Config/DefaultEngine.iniby default)ConsoleVariables.inifile (/opt/unreal-engine/Engine/Config/ConsoleVariables.iniby default):alexbelm48 commented on 2026-03-20 16:42 (UTC) (edited on 2026-03-28 23:25 (UTC) by alexbelm48)
Do note that using Wayland for Unreal Engine is currently not recommended as half of the UI interactions are broken. This is due to a recent upgrade to SDL3 which defaults the use of Wayland protocols over X11 when launching on a Wayland-based session.
You can work around this (or at least improve your experience) while still being on Wayland by opening a separate Xorg windowed server:
You can, of course, replace
kwin_x11with your desktop environment window manager (GNOME ismutterfor example).Neko-san commented on 2022-11-01 02:32 (UTC) (edited on 2023-06-25 01:19 (UTC) by Neko-san)
@juancarlospaco this is easily done on your own system, not in a PKGBUILD, given that building packages runs as root:
Permission issues like this are already mentioned on the UE Arch wiki page: https://wiki.archlinux.org/title/Unreal_Engine_4#Installing_from_the_AUR
This is a user system problem; I already did what I could without needing users to do the above by giving the
777permissions. If it still gives you trouble, you'll have to use the example to solve it or change the install location to somewhere you have user permissions by default (as I cannot do this for you).