From 4beee53195a65839f4d8f269bbba959783933cf4 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 12 Sep 2018 16:04:54 +0200 Subject: [rfs31/nvidia] Use drm.cfg.d machanism --- core/modules/nvidia_kernel/module.build | 42 ++++++++++++++++++++++++++++++++- core/modules/nvidia_kernel/module.conf | 3 ++- 2 files changed, 43 insertions(+), 2 deletions(-) (limited to 'core/modules/nvidia_kernel') diff --git a/core/modules/nvidia_kernel/module.build b/core/modules/nvidia_kernel/module.build index cb82865f..5c5e647d 100644 --- a/core/modules/nvidia_kernel/module.build +++ b/core/modules/nvidia_kernel/module.build @@ -1,8 +1,10 @@ #!/bin/bash fetch_source() { + local url="$REQUIRED_URL_BASE/$REQUIRED_VERSION/$REQUIRED_NVIDIA" mkdir -p src 2>/dev/null cd src || perror "Could not change into src directory." - download "$REQUIRED_URL" + download "$REQUIRED_URL_BASE/$REQUIRED_VERSION/README/supportedchips.html" + download "$url" } build() { @@ -49,6 +51,44 @@ build() { done rm -rf "$MODULE_BUILD_DIR/NVIDIA" + + mkdir -p "$MODULE_BUILD_DIR/drm.cfg.d" + local drmfile="$MODULE_BUILD_DIR/drm.cfg.d/00-nvidia" + cat > "$drmfile" <<-BLOFF + @nvidia acpi_ipmi nvidia/nvidia.ko nvidia/nvidia-uvm.ko nvidia/nvidia-modeset.ko nvidia/nvidia-drm.ko + @nvidia_fallback nouveau +BLOFF + if ! [ -s "$MODULE_WORK_DIR/src/supportedchips.html" ]; then + pwarning "No supportedchips.html -- using wildcard drm.cfg" + echo "10de @nvidia" >> "$drmfile" + else + local mode line name dev version + pinfo "Creating drm.cfg" + mode=0 + version= + while read -r line; do + if [[ "$line" =~ ']*>([^<]+)<.*$/\1/') + elif [[ "$mode" = 2 ]] && [[ "$line" =~ ^'