hellaenergy/o3de-experimental
Project ID: 233852
Description
O3DE experimental builds — Stage 1 migration work and structural changes that are not ready for the o3de-snapshot testers' channel. Don't enable this repo unless you know what you're getting.
Installation Instructions
Use hellaenergy/o3de-stabilization for end-user testing. This repo is for the packagers' own validation — RPMs here may have un-vetted -devel splits, system-library swaps, or other in-flight changes.
If you're here anyway (e.g. engine contributors validating Stage 1 migration work, or packagers debugging build issues):
sudo dnf copr enable hellaenergy/o3de-experimental
sudo dnf install o3de2605
The o3de-dependencies repo auto-enables alongside this one (no separate dnf copr enable needed). Add the optional -devel subpackage if you need engine static archives for native C++ gem development:
sudo dnf install o3de2605-devel
What is this: O3DE experimental builds — Stage 1 system-library migration work (see BUNDLED_LIBRARIES.md in the source repo) and other structural changes that are not ready for the o3de-stabilization testers' channel. RPMs here graduate to o3de-stabilization once validated end-to-end.
The package follows a versioned-major naming convention (o3de2605 for the 26.05.x line, future o3de2610 for 26.10) installing to /opt/O3DE/<DISPLAY_VERSION>/, matching upstream's .deb and Windows .msi install layout. Multiple majors can be installed side-by-side. Each major's engine.json ships engine_name: "o3de" (matching upstream); the manifest at ~/.o3de/o3de_manifest.json is single-slot for active registration — switch via <install-prefix>/scripts/o3de.sh register --this-engine.
Subpackage layout — same as o3de-stabilization: main o3de2605 (runtime + project-build essentials, ~1.7 GB compressed); optional o3de2605-devel (~500 MB compressed, engine static archives for native C++ gems that static-link engine internals); optional o3de2605-debug (debug-config binaries — only built when --with debug is set, currently NOT activated in this channel). Project-build *-devel system packages pulled in via Recommends; opt out with --setopt=install_weak_deps=False.
Currently active in this channel:
- Stage 1 14-pack -- engine links to / runtime-discovers system
expat,freetype,liblz4,libpng,mikkelsen(libmikktspace.so.0),openexr(+imath),poly2tri,lua(vialua-libs),zlib,assimp,sqlite-libs,libsamplerate,google-benchmark,vulkan-validation-layersinstead of bundled copies. Full 14-pack now LIVE ino3de-stabilizationas of 2026-05-14 (build 10460860 GREEN across F44 + rawhide + CS10). Find-shim pattern (direct find_path/find_library, no stock-cmake-include, real INTERFACE IMPORTED 3rdParty target -- keeps O3DE's runtime-dependency walker happy) is uniform across most of the swaps;vulkan_validation_layersis the exception (runtime-discovered Vulkan layer via VK_LAYER_PATH, no cmake-side dep at all). OpenEXR uses a two-shim variant (FindOpenEXR.cmake+FindImath.cmake) because the bundled FindOpenColorIO callsfind_package(Imath)independently of OpenEXR. - Patch0012 v2 (AssetBuilder watchdog) -- child-side parent-death watchdog preventing orphan accumulation across AP crashes. Runtime-validated 2026-05-12 via kill-9 + orphan-count test. Upstream as o3de/o3de#19747; now also active in
o3de-stabilization. - CS10 (CentOS Stream 10) chroot -- first-ever successful CS10 engine build 2026-05-12 (build 10450340) via
gcc-toolset-15-libatomic-develBR (gated on%if 0%{?rhel}). CS10 with_opts gap FULLY CLOSED 2026-05-14: experimental CS10 now runs 19 swaps (matches F44/rawhide); stabilization CS10 now runs 14 swaps (matches F44/rawhide). 17 of 19 experimental flags already validated end-to-end on builds 10456101 + 10457745 (the 14-pack + Stage 2 3-pack); the 2 newly-added experimental flags (system_googlebenchmark+system_vulkan_validation_layers) and the 6 newly-added stabilization flags (system_assimp,system_googlebenchmark,system_libsamplerate,system_lua,system_poly2tri,system_sqlite) will validate on their next triggered builds. All seven previously-missing packages confirmed available in CS10 base + AppStream + CRB + EPEL-10. - Stage 2 3-pack --
system_dxc+system_spirvcross+system_mcppall active. First two are binary-shellout swaps (engine shells out to/usr/bin/dxc+/usr/bin/spirv-crossinstead of bundled binaries); third is a library-link swap (engine#include <mcpp_lib.h>against Fedora'smcpplibrary). All three PoCs ✓ GREEN as of 2026-05-08; all three swaps active in this channel as of 2026-05-08. Underlying COPR packages (renamed 2026-05-08 to versioned-major form):o3de2605-dxc-spirv,o3de2605-spirv-cross,o3de2605-mcpp-az. system_poly2tri(added 2026-05-07 via Patch0009 +Findpoly2tri-system.cmake) -- engine consumes poly2tri exclusively inGems/PhysX/Core/Editor'sPolygonPrismMeshUtils(polygon-prism shape colliders); zero refs in coreCode/. Fedora'spoly2tri-develships from Mason Green's BSD-3-Clause original tree (license-clean, independent of the bundled fork's attribution issue). Patch0009 gatesly_associate_package(...)in PhysX{4,5}PAL_linux.cmakeonLY_USE_SYSTEM_POLY2TRI; the find shim bridges<poly2tri.h>to/usr/include/poly2tri/poly2tri.h.system_lua(activated 2026-05-07 via Patch0008) -- drops AzCoreScriptContext.cpp's redundant#include <Lua/lobject.h>. The only symbol consumed (LUAI_MAXALIGN) is already public Lua API vialuaconf.h's transitive include fromlauxlib.h, so dropping the include is behavior-preserving. Same patch submitted upstream as o3de/o3de PR #19733 (approved by nick-l-o3de 2026-05-07, awaiting maintainer merge); when that lands, our Patch0008 becomes redundant.system_assimp(activated 2026-05-08) -- 5.4 to 6.0 major version bump; symbols + link-time API verified ahead of activation. Engine consumes assimp exclusively inCode/Tools/SceneAPI/(asset-pipeline FBX importer). Tier 7 FBX-bake regression test (tests/asset-bake-test.sh) covers runtime behavior; first live run 2026-05-08 confirmed test infrastructure works end-to-end.system_sqlite+system_libsamplerate(activated 2026-05-08) -- standard library-link Stage 1 swaps. SQLite: 29 sqlite3_* symbols all in Fedora 3.51.2; no extension API used. libsamplerate: lowest-risk swap (Linux PAL is a None stub, engine never callssrc_*at runtime; static lib still satisfies the link).o3de2605-cliPATH wrapper --/usr/bin/o3de2605-cliforwards to/opt/O3DE/26.05.0/scripts/o3de.shso the upstream Python CLI (project / gem / engine management, ~25 sub-commands) is reachable on$PATH.- Versioned multi-install architecture + devel split -- packages are
o3deNNNN; main +-develsubpackage; runtimeengine_name="o3de"for gem compat. - Patch0007 (libtiff C99 typedef migration in TIFFLoader.cpp + Code/Editor/Util/ImageTIF.cpp) -- required for any build against modern libtiff regardless of
--with system_tiffstate.
Stage 1 status of remaining bundles:
system_tiff-- OPTION C (Bundling Library Exception path, decided 2026-05-05). Patch attempt at narrow guard (commitcda6b7b) failed because CryCommon's own internal headers (Cry_ValidNumber.h's DoubleU64 macros) useuint64directly, transitively included fromEditorDefs.hbefore<tiffio.h>brings libtiff's typedef into scope. Reordering the includes ABI-mismatches at link time. Engine-wide CryCommon C99 migration ruled out as out-of-scope. Bundle stays.- googlebenchmark -- ACTIVATED in this channel 2026-05-11 (build 10444166 GREEN). Engine still ships AzTest + AzTestRunner + the googletest/gmock/gbench stack architecturally (the earlier "test-only dep we can drop" framing was wrong; see upstream PR #19738 close for the architectural redirect), but linkage now pulls Fedora's
google-benchmark-devel(1.9.5) instead of the bundled fetch. gbench's API stable across 1.7.0 (engine pin) -> 1.9.5 (Fedora ship).
Stage 2 binary-only / DXC-class deps (sibling track to Stage 1; full set ✓ green and activated):
- SPIRV-Cross --
o3de2605-spirv-cross-1.3.275.0-1.rev3(PoC ✓ green 2026-05-07; engine-side glue activated same day; renamed fromo3de-spirv-cross2026-05-08 to mirror the engine package's o3deNNNN convention). License-clean rebuild from KhronosGroup at tagvulkan-sdk-1.3.275.0, Apache-2.0 OR MIT. 976KB compressed RPM ships/usr/bin/spirv-cross. Engine shells out to the binary at asset-build time; install-time symlink overlay routes the engine's expectedBuilders/SPIRVCross/spirv-crosspath to/usr/bin/spirv-cross. - DXC --
o3de2605-dxc-spirv-1.8.2505.1-1.rev13(PoC ✓ green 2026-05-08; engine-side glue activated same day; renamed fromo3de-dxc-spirvend-of-day 2026-05-08). License-clean rebuild fromo3de/DirectXShaderCompilerat tagrelease-1.8.2505.1-o3de. NCSA + Apache-2.0 (LLVM exception). 8.4MB compressed RPM ships/usr/bin/dxc,/usr/bin/dxsc,/usr/lib64/libdxcompiler.so. Engine shells out todxcat shader-compile time; install-time symlink overlays route three engine-expected paths underBuilders/DirectXShaderCompiler/{bin,lib}/to the system locations. - mcpp --
o3de2605-mcpp-az-2.7.2-1.rev8(PoC ✓ green 2026-05-08; engine-side glue activated same day; renamed fromo3de-mcpp-azend-of-day 2026-05-08). First library-link variant of the Stage 2 pattern -- the engine#includes<mcpp_lib.h>and linkslibmcpp.sointo its binaries at build time, so the install-overlay approach used for spirvcross/dxc does not apply. RealFindmcpp-system.cmakeshim + Patch0006 cmake gate. License-clean rebuild of upstream mcpp 2.7.2 (BSD-2-Clause) + o3de/3p-package-source's_az.2patch series. Both Stage 2 architectural variants are now proven in production engine builds.
Versioned-major naming: all three Stage 2 packages use the o3deNNNN-<dep> form. Future o3de2610-<dep> packages co-exist in the same o3de-dependencies COPR for the 26.10.x line; users can install o3de2605 and o3de2610 side-by-side, each with its own dep set. Mirrors postgresql10/postgresql11 in Fedora's main repo. Memory note in the source repo: project_o3de_3p_versioning_research.md.
Gems with system runtime dependencies: some o3de-extras gems (ROS 2 family, AudioEngineWwise, OpenXRVk, etc.) require external system runtimes the engine RPM does not bundle. Project Manager surfaces the requirement on each gem's information icon. See docs/GEMS_WITH_SYSTEM_DEPS.md for install paths and the project-build workflow.
Source + issues: https://github.com/nickschuetz/o3de-rpm and https://github.com/nickschuetz/o3de-rpm/issues
Active Releases
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
| Release | Architectures | Repo Download |
|---|---|---|
Centos-stream 10
|
x86_64 [modified] (1)* | Centos-stream 10 (2 downloads) |
Fedora 44
|
x86_64 [modified] (45)* | Fedora 44 (4 downloads) |
Fedora rawhide
|
x86_64 [modified] (3)* | Fedora rawhide (1 downloads) |
* Total number of downloaded packages.
Runtime Dependency List
The following repositories are used as runtime dependencies
Centos-stream 10
Fedora 44