- radv
- lima
- virgl
+ - radeonsi
- success
# Generic rule to not run the job during scheduled pipelines
- .fdo.container-build@debian
- .container
variables:
- FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &x86_build-base "2020-07-28-x86-2"
.use-x86_build-base:
extends:
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-libdrm-2"
+ FDO_DISTRIBUTION_TAG: &x86_build "2020-07-28-x86-2"
.use-x86_build:
variables:
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &i386_build "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &i386_build "2020-07-28-x86-2"
.use-i386_build:
variables:
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-07-28-x86-2"
.use-ppc64el_build:
variables:
extends:
- .use-x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &s390x_build "2020-07-28-x86-2"
.use-s390x_build:
variables:
x86_test-base:
extends: x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &x86_test-base "2020-07-28-x86-2"
.use-x86_test-base:
extends:
x86_test-gl:
extends: .use-x86_test-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-07-28-x86-2"
# Debian 10 based x86 test image for VK
x86_test-vk:
extends: .use-x86_test-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-07-28-x86-2"
# Debian 9 based x86 build image (old LLVM)
x86_build_old:
extends: x86_build-base
variables:
- FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-28-libdrm"
+ FDO_DISTRIBUTION_TAG: &x86_build_old "2020-07-28-x86-2"
FDO_DISTRIBUTION_VERSION: stretch-slim
.use-x86_build_old:
-D platforms=x11
GALLIUM_ST: >
-D dri3=enabled
- GALLIUM_DRIVERS: "swrast,virgl"
+ GALLIUM_DRIVERS: "swrast,virgl,radeonsi"
VULKAN_DRIVERS: amd
BUILDTYPE: "debugoptimized"
EXTRA_OPTION: >
-D werror=true
+ UPLOAD_FOR_LAVA: 1
+ DEBIAN_ARCH: amd64
script:
- .gitlab-ci/meson-build.sh
- .gitlab-ci/prepare-artifacts.sh
############### Create rootfs
KERNEL_URL=https://gitlab.freedesktop.org/drm/msm/-/archive/drm-msm-fixes-2020-06-25/msm-drm-msm-fixes-2020-06-25.tar.gz
-DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_arm.sh
+DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_build.sh
############### Store traces
# Clone the traces-db at container build time so we don't have to pull traces
+++ /dev/null
-#!/bin/bash
-
-set -e
-set -o xtrace
-
-check_minio()
-{
- MINIO_PATH="minio-packet.freedesktop.org/mesa-lava/$1/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
- if wget -q --method=HEAD "https://${MINIO_PATH}/done"; then
- exit
- fi
-}
-
-# If remote files are up-to-date, skip rebuilding them
-check_minio "mesa/mesa"
-check_minio "${CI_PROJECT_PATH}"
-
-. .gitlab-ci/container/container_pre_build.sh
-
-if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
- GCC_ARCH="aarch64-linux-gnu"
- KERNEL_ARCH="arm64"
- DEFCONFIG="arch/arm64/configs/defconfig"
- DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb"
- KERNEL_IMAGE_NAME="Image"
-else
- GCC_ARCH="arm-linux-gnueabihf"
- KERNEL_ARCH="arm"
- DEFCONFIG="arch/arm/configs/multi_v7_defconfig"
- DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
- KERNEL_IMAGE_NAME="zImage"
- . .gitlab-ci/create-cross-file.sh armhf
-fi
-
-# Determine if we're in a cross build.
-if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then
- EXTRA_MESON_ARGS="--cross-file /cross_file-$DEBIAN_ARCH.txt"
- EXTRA_CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake"
-
- export ARCH=${KERNEL_ARCH}
- export CROSS_COMPILE="${GCC_ARCH}-"
-fi
-
-apt-get update
-apt-get install -y automake \
- git \
- bc \
- cmake \
- cpio \
- wget \
- debootstrap \
- libboost-dev \
- libegl1-mesa-dev \
- libgbm-dev \
- libgles2-mesa-dev \
- libpcre3-dev \
- libpng-dev \
- libpython3-dev \
- libssl-dev \
- libvulkan-dev \
- libxcb-keysyms1-dev \
- python3-dev \
- python3-distutils \
- python3-serial \
- qt5-default \
- qt5-qmake \
- qtbase5-dev
-
-
-if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
- apt-get install -y libboost-dev:armhf \
- libegl1-mesa-dev:armhf \
- libelf-dev:armhf \
- libgbm-dev:armhf \
- libgles2-mesa-dev:armhf \
- libpcre3-dev:armhf \
- libpng-dev:armhf \
- libpython3-dev:armhf \
- libvulkan-dev:armhf \
- libxcb-keysyms1-dev:armhf \
- qtbase5-dev:armhf
-fi
-
-############### Build dEQP runner
-. .gitlab-ci/build-cts-runner.sh
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
-mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
-
-
-############### Build dEQP
-STRIP_CMD="${GCC_ARCH}-strip"
-if [ -n "$INCLUDE_VK_CTS" ]; then
- DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp-vk.sh
-else
- . .gitlab-ci/build-deqp-gl.sh
-fi
-
-mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
-
-
-############### Build apitrace
-. .gitlab-ci/build-apitrace.sh
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
-mv /apitrace/build /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
-rm -rf /apitrace
-
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/waffle
-mv /waffle/build /lava-files/rootfs-${DEBIAN_ARCH}/waffle
-rm -rf /waffle
-
-
-############### Build renderdoc
-EXTRA_CMAKE_ARGS+=" -DENABLE_XCB=false"
-. .gitlab-ci/build-renderdoc.sh
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
-mv /renderdoc/build /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
-rm -rf /renderdoc
-
-
-############### Cross-build kernel
-mkdir -p kernel
-wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
-pushd kernel
-./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config
-make ${KERNEL_IMAGE_NAME} dtbs
-for image in ${KERNEL_IMAGE_NAME}; do
- cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
-done
-cp ${DEVICE_TREES} /lava-files/.
-
-if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then
- make Image.lzma
- mkimage \
- -f auto \
- -A arm \
- -O linux \
- -d arch/arm64/boot/Image.lzma \
- -C lzma\
- -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
- /lava-files/cheza-kernel
-fi
-
-popd
-rm -rf kernel
-
-############### Create rootfs
-set +e
-debootstrap \
- --variant=minbase \
- --arch=${DEBIAN_ARCH} \
- --components main,contrib,non-free \
- buster \
- /lava-files/rootfs-${DEBIAN_ARCH}/ \
- http://deb.debian.org/debian
-
-cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
-set -e
-
-cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
-chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
-rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
-pushd /lava-files/rootfs-${DEBIAN_ARCH}
- find -H | cpio -H newc -o | gzip -c - > /lava-files/lava-rootfs.cpio.gz
-popd
-
-if [ ${DEBIAN_ARCH} = arm64 ]; then
- # Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
- # ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
- # .config from
- # http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
- # with the following merged in:
- #
- # CONFIG_DRM=y
- # CONFIG_DRM_MSM=y
- # CONFIG_ATL1C=y
- #
- # Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
- # linaro kernel binaries (see above .config link) have these as modules
- # and distributed the modules only in the debian system, not the initrd,
- # so they're very hard to extract (involving simg2img and loopback
- # mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
- # the command size") so it can't actually run fredreno. qcomlt-4.14 is
- # unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
- # built in seems like the easiest way to go.
- wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \
- -O /lava-files/db820c-kernel
- wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \
- -O /lava-files/db820c.dtb
-
- # Make a gzipped copy of the Image for db410c.
- gzip -k /lava-files/Image
-
- # Add missing a630 firmware, added to debian packge in apr 2020
- wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \
- -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin
- wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \
- -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw
-fi
-
-. .gitlab-ci/container/container_post_build.sh
-
-############### Upload the files!
-if [ -n "$UPLOAD_FOR_LAVA" ]; then
- ci-fairy minio login $CI_JOB_JWT
- FILES_TO_UPLOAD="lava-rootfs.cpio.gz \
- $KERNEL_IMAGE_NAME \
- $(basename -a $DEVICE_TREES)"
-
- for f in $FILES_TO_UPLOAD; do
- ci-fairy minio cp /lava-files/$f \
- minio://${MINIO_PATH}/$f
- done
-
- touch /lava-files/done
- ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done
-fi
-
--- /dev/null
+#!/bin/bash
+
+set -e
+set -o xtrace
+
+check_minio()
+{
+ MINIO_PATH="minio-packet.freedesktop.org/mesa-lava/$1/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
+ if wget -q --method=HEAD "https://${MINIO_PATH}/done"; then
+ exit
+ fi
+}
+
+# If remote files are up-to-date, skip rebuilding them
+check_minio "mesa/mesa"
+check_minio "${CI_PROJECT_PATH}"
+
+. .gitlab-ci/container/container_pre_build.sh
+
+if [[ "$DEBIAN_ARCH" = "arm64" ]]; then
+ GCC_ARCH="aarch64-linux-gnu"
+ KERNEL_ARCH="arm64"
+ DEFCONFIG="arch/arm64/configs/defconfig"
+ DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb"
+ KERNEL_IMAGE_NAME="Image"
+elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then
+ GCC_ARCH="arm-linux-gnueabihf"
+ KERNEL_ARCH="arm"
+ DEFCONFIG="arch/arm/configs/multi_v7_defconfig"
+ DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb"
+ KERNEL_IMAGE_NAME="zImage"
+ . .gitlab-ci/create-cross-file.sh armhf
+else
+ GCC_ARCH="x86_64-linux-gnu"
+ KERNEL_ARCH="x86_64"
+ DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+ DEVICE_TREES=""
+ KERNEL_IMAGE_NAME="bzImage"
+fi
+
+# Determine if we're in a cross build.
+if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then
+ EXTRA_MESON_ARGS="--cross-file /cross_file-$DEBIAN_ARCH.txt"
+ EXTRA_CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake"
+
+ export ARCH=${KERNEL_ARCH}
+ export CROSS_COMPILE="${GCC_ARCH}-"
+fi
+
+apt-get update
+apt-get install -y automake \
+ git \
+ bc \
+ cmake \
+ cpio \
+ wget \
+ debootstrap \
+ libboost-dev \
+ libegl1-mesa-dev \
+ libgbm-dev \
+ libgles2-mesa-dev \
+ libpcre3-dev \
+ libpng-dev \
+ libpython3-dev \
+ libssl-dev \
+ libvulkan-dev \
+ libxcb-keysyms1-dev \
+ python3-dev \
+ python3-distutils \
+ python3-serial \
+ qt5-default \
+ qt5-qmake \
+ qtbase5-dev
+
+
+if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
+ apt-get install -y libboost-dev:armhf \
+ libegl1-mesa-dev:armhf \
+ libelf-dev:armhf \
+ libgbm-dev:armhf \
+ libgles2-mesa-dev:armhf \
+ libpcre3-dev:armhf \
+ libpng-dev:armhf \
+ libpython3-dev:armhf \
+ libvulkan-dev:armhf \
+ libxcb-keysyms1-dev:armhf \
+ qtbase5-dev:armhf
+fi
+
+############### Build dEQP runner
+. .gitlab-ci/build-cts-runner.sh
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin
+mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/.
+
+
+############### Build dEQP
+STRIP_CMD="${GCC_ARCH}-strip"
+if [ -n "$INCLUDE_VK_CTS" ]; then
+ DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp-vk.sh
+else
+ . .gitlab-ci/build-deqp-gl.sh
+fi
+
+mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
+
+
+############### Build apitrace
+. .gitlab-ci/build-apitrace.sh
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
+mv /apitrace/build /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
+rm -rf /apitrace
+
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/waffle
+mv /waffle/build /lava-files/rootfs-${DEBIAN_ARCH}/waffle
+rm -rf /waffle
+
+
+############### Build renderdoc
+EXTRA_CMAKE_ARGS+=" -DENABLE_XCB=false"
+. .gitlab-ci/build-renderdoc.sh
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
+mv /renderdoc/build /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc
+rm -rf /renderdoc
+
+
+############### Build libdrm
+EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
+. .gitlab-ci/build-libdrm.sh
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
+find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
+rm -rf /libdrm
+
+
+############### Cross-build kernel
+mkdir -p kernel
+wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel
+pushd kernel
+./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config
+make ${KERNEL_IMAGE_NAME}
+for image in ${KERNEL_IMAGE_NAME}; do
+ cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
+done
+if [[ -n ${DEVICE_TREES} ]]; then
+ make dtbs
+ cp ${DEVICE_TREES} /lava-files/.
+fi
+
+if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then
+ make Image.lzma
+ mkimage \
+ -f auto \
+ -A arm \
+ -O linux \
+ -d arch/arm64/boot/Image.lzma \
+ -C lzma\
+ -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
+ /lava-files/cheza-kernel
+fi
+
+popd
+rm -rf kernel
+
+############### Create rootfs
+set +e
+debootstrap \
+ --variant=minbase \
+ --arch=${DEBIAN_ARCH} \
+ --components main,contrib,non-free \
+ buster \
+ /lava-files/rootfs-${DEBIAN_ARCH}/ \
+ http://deb.debian.org/debian
+
+cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log
+set -e
+
+cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
+cp .gitlab-ci/container/llvm-snapshot.gpg.key /lava-files/rootfs-${DEBIAN_ARCH}/.
+chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
+rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
+rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key
+du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100
+pushd /lava-files/rootfs-${DEBIAN_ARCH}
+ find -H | cpio -H newc -o | gzip -c - > /lava-files/lava-rootfs.cpio.gz
+popd
+
+if [ ${DEBIAN_ARCH} = arm64 ]; then
+ # Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
+ # ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
+ # .config from
+ # http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
+ # with the following merged in:
+ #
+ # CONFIG_DRM=y
+ # CONFIG_DRM_MSM=y
+ # CONFIG_ATL1C=y
+ #
+ # Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
+ # linaro kernel binaries (see above .config link) have these as modules
+ # and distributed the modules only in the debian system, not the initrd,
+ # so they're very hard to extract (involving simg2img and loopback
+ # mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
+ # the command size") so it can't actually run fredreno. qcomlt-4.14 is
+ # unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
+ # built in seems like the easiest way to go.
+ wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \
+ -O /lava-files/db820c-kernel
+ wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \
+ -O /lava-files/db820c.dtb
+
+ # Make a gzipped copy of the Image for db410c.
+ gzip -k /lava-files/Image
+
+ # Add missing a630 firmware, added to debian packge in apr 2020
+ wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \
+ -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin
+ wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \
+ -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw
+fi
+
+. .gitlab-ci/container/container_post_build.sh
+
+############### Upload the files!
+if [ -n "$UPLOAD_FOR_LAVA" ]; then
+ ci-fairy minio login $CI_JOB_JWT
+ FILES_TO_UPLOAD="lava-rootfs.cpio.gz \
+ $KERNEL_IMAGE_NAME"
+
+ if [[ -n $DEVICE_TREES ]]; then
+ FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)"
+ fi
+
+ for f in $FILES_TO_UPLOAD; do
+ ci-fairy minio cp /lava-files/$f \
+ minio://${MINIO_PATH}/$f
+ done
+
+ touch /lava-files/done
+ ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done
+fi
+
python-mako \
python3-mako \
python3-pil \
+ python3-pip \
python3-requests \
+ python3-setuptools \
qemu-user \
scons \
wine64-development \
apt-get purge -y \
gnupg \
- unzip \
- wget
+ unzip
. .gitlab-ci/container/container_post_build.sh
set -ex
+if [ $DEBIAN_ARCH = arm64 ]; then
+ ARCH_PACKAGES="firmware-qcom-media"
+elif [ $DEBIAN_ARCH = amd64 ]; then
+ # Upstream LLVM package repository
+ apt-get -y install --no-install-recommends gnupg ca-certificates
+ apt-key add /llvm-snapshot.gpg.key
+ echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list
+ apt-get update
+
+ ARCH_PACKAGES="libelf1
+ libllvm9
+ libxcb-dri2-0
+ libxcb-dri3-0
+ libxcb-present0
+ libxcb-sync1
+ libxcb-xfixes0
+ libxshmfence1
+ firmware-amd-graphics
+ "
+fi
+
apt-get -y install --no-install-recommends \
ca-certificates \
curl \
libexpat1 \
libx11-6 \
libx11-xcb1 \
- firmware-qcom-media \
+ $ARCH_PACKAGES \
netcat-openbsd \
python3 \
libpython3.7 \
UNNEEDED_PACKAGES="libfdisk1
tzdata
- diffutils"
+ diffutils
+ gnupg"
export DEBIAN_FRONTEND=noninteractive
--- /dev/null
+# Note: skips lists for CI are just a list of lines that, when
+# non-zero-length and not starting with '#', will regex match to
+# delete lines from the test list. Be careful.
+
+# Skip the perf/stress tests to keep runtime manageable
+dEQP-GLES[0-9]*.performance.*
+dEQP-GLES[0-9]*.stress.*
+
+# These are really slow on tiling architectures (including llvmpipe).
+dEQP-GLES[0-9]*.functional.flush_finish.*
+
parser.add_argument("--base-artifacts-url")
parser.add_argument("--mesa-url")
parser.add_argument("--device-type")
+parser.add_argument("--dtb", nargs='?', default="")
parser.add_argument("--kernel-image-name")
parser.add_argument("--kernel-image-type", nargs='?', default="")
parser.add_argument("--gpu-version")
values['base_artifacts_url'] = args.base_artifacts_url
values['mesa_url'] = args.mesa_url
values['device_type'] = args.device_type
+values['dtb'] = args.dtb
values['kernel_image_name'] = args.kernel_image_name
values['kernel_image_type'] = args.kernel_image_type
values['gpu_version'] = args.gpu_version
ramdisk:
url: {{ base_artifacts_url }}/lava-rootfs.cpio.gz
compression: gz
+{% if dtb %}
dtb:
- url: {{ base_artifacts_url }}/{{ device_type }}.dtb
+ url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+{% endif %}
os: oe
- boot:
timeout:
variables:
- DISTRIBUTION_TAG: "2020-07-28"
+ DISTRIBUTION_TAG: "2020-07-28-x86"
.kernel+rootfs:
stage: container-2
KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
UPLOAD_FOR_LAVA: 1
script:
- - .gitlab-ci/container/lava_arm.sh
+ - .gitlab-ci/container/lava_build.sh
+
+kernel+rootfs_amd64:
+ extends:
+ - .use-x86_build-base
+ - .kernel+rootfs
+ image: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG"
+ variables:
+ DEBIAN_ARCH: "amd64"
kernel+rootfs_arm64:
extends:
--base-artifacts-url ${ARTIFACTS_URL} \
--mesa-url ${MESA_URL} \
--device-type ${DEVICE_TYPE} \
+ --dtb ${DTB} \
--env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \
--deqp-version ${DEQP_VERSION} \
--kernel-image-name ${KERNEL_IMAGE_NAME} \
- kernel+rootfs_arm64
- meson-arm64
+.lava-test:amd64:
+ variables:
+ ARCH: amd64
+ KERNEL_IMAGE_NAME: bzImage
+ KERNEL_IMAGE_TYPE: "type:\ zimage"
+ BOOT_METHOD: u-boot
+ TEST_SUITE: "deqp"
+ extends:
+ - .lava-test
+ - .use-arm_build
+ needs:
+ - kernel+rootfs_amd64
+ - meson-testing
+
+.lava-traces:amd64:
+ variables:
+ TEST_SUITE: "tracie"
+ extends:
+ - .lava-test:amd64
+
.lava-traces:armhf:
variables:
TEST_SUITE: "tracie"
- .panfrost-rules
variables:
DEVICE_TYPE: sun50i-h6-pine-h64
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t720
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
tags:
- .panfrost-rules
variables:
DEVICE_TYPE: rk3288-veyron-jaq
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t760
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
- .panfrost-rules
variables:
DEVICE_TYPE: rk3288-veyron-jaq
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t760
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
- .panfrost-rules
variables:
DEVICE_TYPE: rk3399-gru-kevin
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t860
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
- .panfrost-rules
variables:
DEVICE_TYPE: meson-gxm-khadas-vim2
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t820
LAVA_TAGS: panfrost
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
- .lima-rules
variables:
DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
tags:
- .lima-rules
variables:
DEVICE_TYPE: meson-gxl-s905x-libretech-cc
+ DTB: ${DEVICE_TYPE}
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
tags:
- mesa-ci-aarch64-lava-baylibre
+
+# Commented out while waiting for more DUTs to come online
+.radeonsi-stoney-gles2:amd64:
+ extends:
+ - .lava-test:amd64
+ - .radeonsi-rules
+ variables:
+ DEVICE_TYPE: hp-11A-G6-EE-grunt
+ DTB: ""
+ GPU_VERSION: radeonsi-stoney
+ BOOT_METHOD: depthcharge
+ KERNEL_IMAGE_TYPE: ""
+ ENV_VARS: "DEQP_PARALLEL=4 DEQP_EXPECTED_RENDERER=STONEY NIR_VALIDATE=0"
+ tags:
+ - mesa-ci-aarch64-lava-collabora
+
+# Commented out while waiting for more DUTs to come online
+.radeonsi-stoney-gles3:amd64:
+ extends:
+ - .radeonsi-stoney-gles2:amd64
+ variables:
+ DEQP_VERSION: gles3
+ tags:
+ - mesa-ci-aarch64-lava-collabora
+
+radeonsi-stoney-traces:amd64:
+ extends:
+ - .lava-traces:amd64
+ - .radeonsi-rules
+ variables:
+ DEVICE_TYPE: hp-11A-G6-EE-grunt
+ DTB: ""
+ GPU_VERSION: radeonsi-stoney
+ BOOT_METHOD: depthcharge
+ KERNEL_IMAGE_TYPE: ""
+ tags:
+ - mesa-ci-aarch64-lava-collabora
ramdisk:
url: {{ base_artifacts_url }}/lava-rootfs.cpio.gz
compression: gz
+{% if dtb %}
dtb:
- url: {{ base_artifacts_url }}/{{ device_type }}.dtb
+ url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+{% endif %}
os: oe
- boot:
timeout:
- src/gallium/winsys/virgl/**/*
when: on_success
- when: never
+
+.radeonsi-rules:
+ stage: radeonsi
+ rules:
+ - changes:
+ *mesa_core_file_list
+ when: on_success
+ - changes:
+ *gallium_core_file_list
+ when: on_success
+ - changes:
+ - src/gallium/drivers/radeonsi/**/*
+ - src/gallium/winsys/amdgpu/**/*
+ - src/amd/**/*
+ when: on_success
+ - when: never
checksum: 95df5e619a36e88fe408e45567a2d149
- device: gl-panfrost-t760
checksum: 30663eac9a4767d26fbf9b6db9712d9f
+ - device: gl-radeonsi-stoney
+ checksum: 316650141be869c8afe76b42d3573b49
- path: glmark2/jellyfish.rdc
expectations:
- device: gl-vmware-llvmpipe
checksum: 1d609b089732be5b6e3e78370abcb149
- device: gl-panfrost-t760
checksum: f98ef9118eeaba660c15065dac46e580
+ - device: gl-radeonsi-stoney
+ checksum: 2c57f9d33489dd43c8807bd0f06c3ed8
- path: glxgears/glxgears-2.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: bcc73608b6e2b5d92bf926d1c21889c7
- device: gl-panfrost-t760
checksum: bcc73608b6e2b5d92bf926d1c21889c7
+ - device: gl-radeonsi-stoney
+ checksum: eb9b3d497be567f02a6e039fa32f2b13
- path: KhronosGroup-Vulkan-Tools/amd/polaris10/vkcube.gfxr
expectations:
- device: vk-amd-polaris10
expectations:
- device: gl-vmware-llvmpipe
checksum: d76d0f5b5b064bba3e6a2a122c0799cf
+ - device: gl-radeonsi-stoney
+ checksum: bfd97a7190f2b9de24ddfd446fcc4850
- path: pathfinder/demo.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
- device: gl-panfrost-t760
checksum: c4f5e6bfe0cba230b1aef631c2fa4584
+ - device: gl-radeonsi-stoney
+ checksum: c81c85f9b247dd1b06c3dd5b669cc283
- path: pathfinder/canvas_moire.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
- device: gl-panfrost-t760
checksum: 2fb2c8e83719526cb6c02b6c2e069d61
+ - device: gl-radeonsi-stoney
+ checksum: 78dd2357ad6e5ffc049a75bfb11c5497
- path: pathfinder/canvas_text.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 939038749a5204ec2b1448d3b9208fb3
- device: gl-panfrost-t760
checksum: 939038749a5204ec2b1448d3b9208fb3
+ - device: gl-radeonsi-stoney
+ checksum: 56d1398206ceea45562f80f8ea9d3814
- path: gputest/furmark.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 87ffd45be95f2d55f82325c86ce32f20
- device: gl-panfrost-t860
checksum: dc4ece101ed145228840d1f0654118c6
+ - device: gl-radeonsi-stoney
+ checksum: 1c569668d608c644f353caa177d577c6
- path: gputest/pixmark-piano.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 022b43b7fff9e8623dcfcd91e6bbe7aa
- device: gl-virgl
checksum: 24eb95484e5b8288b3d5d65117c98641
+ - device: gl-radeonsi-stoney
+ checksum: 061226c3fd179c611b8d60acaa44474f
- path: gputest/triangle.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
- device: gl-panfrost-t760
checksum: 6def0c34ade7d4ec930b45d0eef6e46a
+ - device: gl-radeonsi-stoney
+ checksum: 2d0527e7288a0fc31099404546dadbfb
- path: humus/Portals.trace
expectations:
- device: gl-vmware-llvmpipe
checksum: 5415bbf2a69b605bb1052a0e0b0f7040
- device: gl-panfrost-t760
checksum: a41f53e9318cbd32c27b48d304df1ea6
+ - device: gl-radeonsi-stoney
+ checksum: b6f00f39566152c3c8462903b7a1f258
+ - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: ee76b7ffb344d545ee22c1b83d61f893
+ - path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 8f90923d9b9daf7b3708f10b3b019af8
+ - path: glmark2/buffer-columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: db55995d943f1284c39637a116ceb645
+ - path: glmark2/bump-bump-render=height.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: da75c0dfbcb27b44fbaed15b2f29509c
+ - path: glmark2/bump-bump-render=high-poly.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: e2e83a59d4eb6763d2fe922932aa14b5
+ - path: glmark2/bump-bump-render=normals.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: b7beae443e41e229d34da46ab2047a98
+ - path: glmark2/conditionals-fragment-steps=0:vertex-steps=0.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: e95f9a5ce73727a92eeb4109d28caba4
+ - path: glmark2/conditionals-fragment-steps=0:vertex-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: e9ff7521f88eebd8a6770ab5eb28fad4
+ - path: glmark2/conditionals-fragment-steps=5:vertex-steps=0.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 0381a3eb918cfecec03a64d06158d1a3
+ - path: glmark2/desktop-effect=shadow:windows=4.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: c21cf8fe26107351eaa97725e6f9883f
+ - path: glmark2/effect2d-kernel=0,1,0;1,-4,1;0,1,0.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 2958ae3442ed26b681b6978e278ba10d
+ - path: glmark2/effect2d-kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 2d4384b59505215932dc2f01ae174379
+ - path: glmark2/function-fragment-complexity=low:fragment-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: f84fc1a1ff1a8342678bca081f8a5c0d
+ - path: glmark2/function-fragment-complexity=medium:fragment-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 4097ffd5e97bd56589dfab374574d116
+ - path: glmark2/glmark2-build-use-vbo-false.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: e344777696ef13adc2bd943dfd4199a2
+ - path: glmark2/glmark2-build-use-vbo-true.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 51da69c3490816c93c130e63686d2483
+ - path: glmark2/ideas-speed=duration.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 966191b52dc4885cfc56c0e7c80856b2
+ - path: glmark2/loop-fragment-loop=false:fragment-steps=5:vertex-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 65cfa43254eaa0ca09ceb8792b4e4ee7
+ - path: glmark2/loop-fragment-steps=5:fragment-uniform=false:vertex-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 716f1ebf84d9ab30a8c4261ecbed492b
+ - path: glmark2/loop-fragment-steps=5:fragment-uniform=true:vertex-steps=5.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 45061884dc857a9e0c31d0b0c02d4cbe
+ - path: glmark2/pulsar-light=false:quads=5:texture=false.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 605881a1cb0d8d59e28e19663b6f5eb0
+ - path: glmark2/refract.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: db300d3a8afb6cecc19ae8e38c7b87c6
+ - path: glmark2/shading-shading=blinn-phong-inf.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 36b193b33127144f8080aa60d582e65e
+ - path: glmark2/shading-shading=cel.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: faac1e367720e1ccd9820f2b78808294
+ - path: glmark2/shading-shading=gouraud.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 22bd04eb9862eb4ecff525ac83b2826d
+ - path: glmark2/shading-shading=phong.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: fda002d281d57b3eacb5c2c8f619a62d
+ - path: glmark2/shadow.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 4bf5ca9ce641de1031eb8125d80a3005
+ - path: glmark2/terrain.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 52f19a65bd77ae03b5f51ee0038a2982
+ - path: glmark2/texture-texture-filter=linear.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 992eb4af603d68a3920014f64f0973b1
+ - path: glmark2/texture-texture-filter=mipmap.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: c635b1741e4103cf48cd554882e15a4c
+ - path: glmark2/texture-texture-filter=nearest.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: bd00656bf6683dae40bfa26a6416061d
+ - path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 2ddcda6b1c136ce1448714a3ff8432eb
+ - path: gputest/gimark.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 98e742377cef049e98014300a34d7bba
+ - path: gputest/pixmark-julia-fp32.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: ad472cdef2a68ffaabcbf2a694c4aefe
+ - path: gputest/pixmark-julia-fp64.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: b181b0a910f5ae5b161df70f834c3d5f
+ - path: gputest/pixmark-piano.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 061226c3fd179c611b8d60acaa44474f
+ - path: gputest/pixmark-volplosion.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 2fba173643c014bcfa4b31eb55a514b9
+ - path: gputest/plot3d.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 799ce7b2d8050d6ba2e3ae595cf8729e
+ - path: gputest/tessmark.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: d6597f93caa383c492d8290036c60919
+ - path: humus/AmbientAperture.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 56291d097c4be9c079fb771c849c6a2e
+ - path: humus/CelShading.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 7d30dbe3470873c327464ea7ebe6bcf0
+ - path: humus/DynamicBranching3.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 0f02743d054c66f04da404add87d67dc
+ - path: humus/HDR.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: b44ce4cb377321f6423a5a62a9083794
+ - path: humus/RaytracedShadows.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 4209605af96a1d7c20aa7324aa93839f
+ - path: humus/VolumetricFogging2.trace
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 12ad73ad05b01854da65eb0094612ebf
+ - path: supertuxkart/supertuxkart-antediluvian-abyss.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 17f4039392a65ad23133cb2cac82dba4
+ - path: supertuxkart/supertuxkart-menu.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: bc851bb8808b311c2df9c36a6c289e6e
+ - path: supertuxkart/supertuxkart-ravenbridge-mansion.rdc
+ expectations:
+ - device: gl-radeonsi-stoney
+ checksum: 46f08af5c49d711b41d4082f8a5cf6d6
--- /dev/null
+CONFIG_LOCALVERSION="ccu"
+
+CONFIG_DEBUG_KERNEL=y
+
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=y
+
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_PWM_CROS_EC=y
+CONFIG_BACKLIGHT_PWM=y
+
+# Strip out some stuff we don't need for graphics testing, to reduce
+# the build.
+CONFIG_CAN=n
+CONFIG_WIRELESS=n
+CONFIG_RFKILL=n
+CONFIG_WLAN=n
+
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR=y
+
+CONFIG_REGULATOR_VCTRL=y
+
+CONFIG_KASAN=n
+CONFIG_KASAN_INLINE=n
+CONFIG_STACKTRACE=n
+
+CONFIG_TMPFS=y
+
+CONFIG_PROVE_LOCKING=n
+CONFIG_DEBUG_LOCKDEP=n
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+
+CONFIG_DETECT_HUNG_TASK=y
+
+CONFIG_USB_USBNET=y
+CONFIG_NETDEVICES=y
+CONFIG_USB_NET_DRIVERS=y
+CONFIG_USB_RTL8152=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_SMSC95XX=y
+
+CONFIG_FW_LOADER_COMPRESS=y
+
+# options for AMD devices
+CONFIG_X86_AMD_PLATFORM_DEVICE=y
+CONFIG_ACPI_VIDEO=y
+CONFIG_X86_AMD_FREQ_SENSITIVITY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_AMD=y
+CONFIG_DRM_AMDGPU=y
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMD_ACP=y
+CONFIG_ACPI_WMI=y
+CONFIG_MXM_WMI=y
+CONFIG_PARPORT=y
+CONFIG_PARPORT_PC=y
+CONFIG_PARPORT_SERIAL=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_CHROME_PLATFORMS=y
+