Skip to content

Commit

Permalink
.packaging: Add DXVK binaries for ARM64 and ARM64EC
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreRH committed Oct 27, 2024
1 parent 0ecbc5f commit 88e23df
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 6 deletions.
63 changes: 58 additions & 5 deletions .github/workflows/deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,53 @@ jobs:
path: hangover-libarm64ecfex_${{ env.HOVERSION }}_arm64.deb


dxvk:
needs: foundations
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Checkout DXVK
uses: actions/checkout@v4
with:
repository: AndreRH/dxvk
fetch-tags: true
submodules: true
fetch-depth: 16
path: dxvk

- name: Cache docker image
id: cache-foundation
uses: actions/cache@v4
env:
cache-name: cache-foundation
with:
path: foundationubuntu2204.tgz
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('.packaging/ubuntu2204/Dockerfile') }}

- name: Import docker image
run: docker image load -i foundationubuntu2204.tgz

- name: get version
run: echo DXVKVERSION=$(git -C dxvk describe --abbrev=0) >> "$GITHUB_ENV"; echo DXVKVERSION=$(git -C dxvk describe --abbrev=0)

- name: Setup packaging
run: |
cp -r .packaging/ubuntu2204/dxvk/* dxvk
- name: Build package
run: cd dxvk; docker build -t dxvk .

- name: Extract package
run: docker run --rm dxvk cat /opt/dxvk/output/dxvk-${{ env.DXVKVERSION }}.tar.gz > dxvk-${{ env.DXVKVERSION }}.tar.gz

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: dxvk-${{ env.DXVKVERSION }}.tar.gz
path: dxvk-${{ env.DXVKVERSION }}.tar.gz


qemu:
needs: foundations
runs-on: ubuntu-latest
Expand Down Expand Up @@ -324,7 +371,7 @@ jobs:


bundle:
needs: [fex-pe, qemu, wine]
needs: [dxvk, fex-pe, fex-pe-ec, qemu, wine]
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down Expand Up @@ -355,26 +402,32 @@ jobs:
- name: get version
run: git describe --tags | sed "s/hangover-/HOVERSION=/" >> "$GITHUB_ENV"; git describe --tags | sed "s/hangover-/HOVERSION=/"

- name: Download Artifacts 1/3
- name: Download Artifacts 1/4
uses: actions/download-artifact@v4
with:
pattern: hangover*${{ matrix.codename }}_arm64.deb
merge-multiple: true

- name: Download Artifacts 2/3
- name: Download Artifacts 2/4
uses: actions/download-artifact@v4
with:
pattern: hangover-libwow64fex*_arm64.deb
merge-multiple: true

- name: Download Artifacts 3/3
- name: Download Artifacts 3/4
uses: actions/download-artifact@v4
with:
pattern: hangover-libarm64ecfex*_arm64.deb
merge-multiple: true

- name: Download Artifacts 4/4
uses: actions/download-artifact@v4
with:
pattern: dxvk*.tar.gz
merge-multiple: true

- name: Bundle
run: tar -cf hangover_${{ env.HOVERSION }}_${{ matrix.os }}_${{ matrix.codename }}_arm64.tar hangover*${{ matrix.codename }}_arm64.deb hangover-libwow64fex*_arm64.deb hangover-libarm64ecfex*_arm64.deb
run: tar -cf hangover_${{ env.HOVERSION }}_${{ matrix.os }}_${{ matrix.codename }}_arm64.tar hangover*${{ matrix.codename }}_arm64.deb hangover-libwow64fex*_arm64.deb hangover-libarm64ecfex*_arm64.deb dxvk*.tar.gz

- name: Upload Artifact
uses: actions/upload-artifact@v4
Expand Down
3 changes: 2 additions & 1 deletion .packaging/ubuntu2204/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libcups2-dev:arm64 \
libxkbcommon-dev:arm64 \
libxkbregistry-dev:arm64 \
libwayland-dev:arm64
libwayland-dev:arm64 \
meson glslang-dev glslang-tools

RUN cd /opt; wget https://github.com/bylaws/llvm-mingw/releases/download/20240929/llvm-mingw-20240929-ucrt-ubuntu-20.04-x86_64.tar.xz; tar -xJf llvm-mingw-20240929-ucrt-ubuntu-20.04-x86_64.tar.xz; rm *.tar.xz; mv llvm-mingw-20240929-ucrt-ubuntu-20.04-x86_64 bylaws-llvm-mingw-20240929-ucrt-ubuntu-20.04-x86_64
7 changes: 7 additions & 0 deletions .packaging/ubuntu2204/dxvk/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM foundationubuntu2204

RUN rm -rf /opt/dxvk; mkdir -p /opt/dxvk/output
COPY ./ /opt/dxvk/
RUN ls -la /opt/dxvk/
ENV PATH="/opt/bylaws-llvm-mingw-20240929-ucrt-ubuntu-20.04-x86_64/bin:$PATH"
RUN cd /opt/dxvk; ./package-release.sh $(git describe --abbrev=0) /opt/dxvk/output

0 comments on commit 88e23df

Please sign in to comment.