diff --git a/tools/docker/Ubuntu/22_04.dockerfile b/tools/docker/Ubuntu/22_04.dockerfile
index 94a94dc01d2ab3856f90696b3f2577275c365cce..12b1e714effb089cfda891f7bf00bc02f053e721 100644
--- a/tools/docker/Ubuntu/22_04.dockerfile
+++ b/tools/docker/Ubuntu/22_04.dockerfile
@@ -11,6 +11,10 @@ ENV TERM=dumb
 ENV TZ=Etc/UTC
 ENV DEBIAN_FRONTEND=noninteractive
 
+# these are only necessary for 22.04 to upgrade ocl-icd to 2.3.x (which supports OpenCL 3.0)
+COPY ocl-icd-ubuntu-ppa.list /etc/apt/sources.list.d/
+COPY ocl-icd_ubuntu_ppa.gpg /etc/apt/trusted.gpg.d/
+
 RUN apt update
 RUN apt upgrade -y
 
diff --git a/tools/docker/Ubuntu/conformance.dockerfile b/tools/docker/Ubuntu/conformance.dockerfile
index 37b29d8c0e1c24ab59bc7b7bf648a7c1d0c375ec..3af7ff0eba78b07a2df4dd79b079d3812c82234b 100644
--- a/tools/docker/Ubuntu/conformance.dockerfile
+++ b/tools/docker/Ubuntu/conformance.dockerfile
@@ -1,11 +1,11 @@
 ###################
 
-FROM amd64/ubuntu:22.04
+FROM amd64/ubuntu:24.04
 
 ARG GIT_COMMIT=main
 ARG GH_PR
 ARG GH_SLUG=pocl/pocl
-ARG LLVM_VERSION=14
+ARG LLVM_VERSION=17
 
 LABEL git-commit=$GIT_COMMIT vendor=pocl distro=Ubuntu version=1.0
 
@@ -13,15 +13,11 @@ ENV TERM=dumb
 ENV TZ=Etc/UTC
 ENV DEBIAN_FRONTEND=noninteractive
 
-COPY ocl-icd-ubuntu-ppa.list /etc/apt/sources.list.d/
-COPY ocl-icd_ubuntu_ppa.gpg /etc/apt/trusted.gpg.d/
-
 RUN apt update
 RUN apt upgrade -y
 
 RUN apt install -y tzdata
-RUN apt install -y build-essential cmake git pkg-config libclang-${LLVM_VERSION}-dev clang-${LLVM_VERSION} libclang-cpp${LLVM_VERSION}-dev llvm-${LLVM_VERSION}-dev make ninja-build ocl-icd-libopencl1 ocl-icd-dev libhwloc-dev zlib1g zlib1g-dev  dialog apt-utils
-RUN ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/x86_64-linux-gnu/libOpenCL.so
+RUN apt install -y build-essential cmake git pkg-config libclang-${LLVM_VERSION}-dev clang-${LLVM_VERSION} libclang-cpp${LLVM_VERSION}-dev llvm-${LLVM_VERSION}-dev libllvmspirvlib-${LLVM_VERSION}-dev make ninja-build ocl-icd-libopencl1 ocl-icd-dev libhwloc-dev zlib1g zlib1g-dev  dialog apt-utils
 
 RUN cd /home ; git clone https://github.com/$GH_SLUG.git ; cd /home/pocl ; git checkout $GIT_COMMIT
 RUN cd /home/pocl ; test -z "$GH_PR" || (git fetch origin +refs/pull/$GH_PR/merge && git checkout -qf FETCH_HEAD) && :
diff --git a/tools/docker/Ubuntu/distro.dockerfile b/tools/docker/Ubuntu/distro.dockerfile
index b9dbcfdab81d4c5cbb7231a7a2aa02fa6084bba4..c77706c08b763ea4558218312bf1513e2404131c 100644
--- a/tools/docker/Ubuntu/distro.dockerfile
+++ b/tools/docker/Ubuntu/distro.dockerfile
@@ -1,9 +1,9 @@
-FROM amd64/ubuntu:22.04
+FROM amd64/ubuntu:24.04
 
 ARG GIT_COMMIT=main
 ARG GH_PR
 ARG GH_SLUG=pocl/pocl
-ARG LLVM_VERSION=13
+ARG LLVM_VERSION=17
 
 LABEL git-commit=$GIT_COMMIT vendor=pocl distro=Ubuntu version=1.0