diff --git a/Dockerfile b/Dockerfile index 6a563bf..e015779 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,8 +10,8 @@ RUN \ apt-get install -y \ autoconf \ cmake \ - g++ \ - gcc \ + clang \ + lld \ git \ glslang-tools \ libasound2t64 \ @@ -75,13 +75,18 @@ RUN \ git clone https://git.eden-emu.dev/eden-emu/eden.git && \ cd eden/ && \ git checkout -f ${EDEN_VERSION} && \ + curl -L -o /eden.profdata 'https://github.com/Eden-CI/PGO/raw/main/eden.profdata' && \ cmake -B build -GNinja \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=None \ - -DCMAKE_C_FLAGS="-march=x86-64-v3 -O2" \ - -DCMAKE_CXX_FLAGS="-march=x86-64-v3 -O2" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_C_FLAGS="-fprofile-instr-use=/eden.profdata" \ + -DCMAKE_CXX_FLAGS="-fprofile-instr-use=/eden.profdata" \ + -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \ + -DYUZU_BUILD_PRESET=v3 \ -DUSE_DISCORD_PRESENCE=ON \ - -DYUZU_ENABLE_LTO=OFF \ + -DENABLE_LTO=ON \ -DYUZU_USE_CPM=OFF \ -DCPM_USE_LOCAL_PACKAGES=ON \ -DYUZU_USE_BUNDLED_FFMPEG=OFF \ @@ -126,6 +131,8 @@ RUN \ apt-get update && \ apt-get install -y --no-install-recommends \ libavcodec61 \ + libavfilter-extra10 \ + libboost-atomic1.83.0 \ libboost-context1.83.0 \ libboost-filesystem1.83.0 \ libcubeb0 \ @@ -134,6 +141,7 @@ RUN \ liblz4-1 \ libopus0 \ libqt6charts6 \ + libqt6concurrent6 \ libqt6multimedia6 \ libqt6webenginewidgets6 \ libquazip1-qt6-1t64 \ diff --git a/README.md b/README.md index bde0f45..320e35b 100644 --- a/README.md +++ b/README.md @@ -645,6 +645,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **30.06.26:** - Optimize build to match PGO v3 builds for better performance. * **05.05.26:** - Rebase to Debian Trixie, build Eden from source, remove arm64 tag. * **17.03.26:** - Ingest releases from self hosted git. * **18.02.26:** - Initial Version. diff --git a/readme-vars.yml b/readme-vars.yml index c5d6245..9aff521 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -108,6 +108,7 @@ init_diagram: | "eden:latest" <- Base Images # changelog changelogs: + - {date: "30.06.26:", desc: "Optimize build to match PGO v3 builds for better performance."} - {date: "05.05.26:", desc: "Rebase to Debian Trixie, build Eden from source, remove arm64 tag."} - {date: "17.03.26:", desc: "Ingest releases from self hosted git."} - {date: "18.02.26:", desc: "Initial Version."}