6
export DEBIAN_FRONTEND=noninteractive
8
# Ephemeral packages (installed for this script and removed again at the end)
13
g++-mingw-w64-i686-posix \
14
g++-mingw-w64-x86-64-posix \
34
mingw-w64-x86-64-dev \
43
apt-get install -y --no-remove \
49
xserver-xorg-video-amdgpu \
50
xserver-xorg-video-ati
52
# We need multiarch for Wine
53
dpkg --add-architecture i386
57
apt-get install -y --no-remove \
62
function setup_wine() {
63
export WINEDEBUG="-all"
64
export WINEPREFIX="$1"
66
# We don't want crash dialogs
67
cat >crashdialog.reg <<EOF
68
Windows Registry Editor Version 5.00
70
[HKEY_CURRENT_USER\Software\Wine\WineDbg]
71
"ShowCrashDialog"=dword:00000000
75
# Set the wine prefix and disable the crash dialog
76
wine regedit crashdialog.reg
79
# An immediate wine command may fail with: "${WINEPREFIX}: Not a
80
# valid wine prefix." and that is just spit because of checking
81
# the existance of the system.reg file, which fails. Just giving
82
# it a bit more of time for it to be created solves the problem
84
while ! test -f "${WINEPREFIX}/system.reg"; do sleep 1; done
87
############### Install DXVK
91
setup_wine "/dxvk-wine64"
93
wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz"
94
tar xzpf dxvk-"${DXVK_VERSION}".tar.gz
95
dxvk-"${DXVK_VERSION}"/setup_dxvk.sh install
96
rm -rf dxvk-"${DXVK_VERSION}"
97
rm dxvk-"${DXVK_VERSION}".tar.gz
99
############### Install Windows' apitrace binaries
101
APITRACE_VERSION="10.0"
102
APITRACE_VERSION_DATE=""
104
wget "https://github.com/apitrace/apitrace/releases/download/${APITRACE_VERSION}/apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z"
105
7zr x "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z" \
106
"apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64/bin/apitrace.exe" \
107
"apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64/bin/d3dretrace.exe"
108
mv "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64" /apitrace-msvc-win64
109
rm "apitrace-${APITRACE_VERSION}${APITRACE_VERSION_DATE}-win64.7z"
111
# Add the apitrace path to the registry
113
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \
116
/d "C:\windows\system32;C:\windows;C:\windows\system32\wbem;Z:\apitrace-msvc-win64\bin" \
119
############### Building ...
121
. .gitlab-ci/container/container_pre_build.sh
123
############### Build libdrm
125
. .gitlab-ci/container/build-libdrm.sh
127
############### Build Wayland
129
. .gitlab-ci/container/build-wayland.sh
131
############### Build parallel-deqp-runner's hang-detection tool
133
. .gitlab-ci/container/build-hang-detection.sh
135
############### Build piglit
137
PIGLIT_BUILD_TARGETS="piglit_replayer" . .gitlab-ci/container/build-piglit.sh
139
############### Build Fossilize
141
. .gitlab-ci/container/build-fossilize.sh
143
############### Build dEQP VK
145
. .gitlab-ci/container/build-deqp.sh
147
############### Build gfxreconstruct
149
. .gitlab-ci/container/build-gfxreconstruct.sh
151
############### Build VKD3D-Proton
153
setup_wine "/vkd3d-proton-wine64"
155
. .gitlab-ci/container/build-vkd3d-proton.sh
157
############### Uninstall the build software
164
apt-get autoremove -y --purge