From f6baa4c2f2477129580fde14ff02a2c2df2d0b2e Mon Sep 17 00:00:00 2001 From: Paolo Sabatino Date: Fri, 8 Dec 2023 23:26:49 +0100 Subject: [PATCH] Use extension for Lima X.Org serverflags * Remove create_desktop_package.sh for rk3318 board from config/optional, clearing the whole directory tree * Add an extension to implement serverflags workaround for X.Org and Lima driver not being autodetected * Fix rk3318-box and rk322x family to use extension in place of 40-serverflags.conf bsp file --- config/boards/rk3318-box.tvb | 2 ++ .../armbian/create_desktop_package.sh | 7 ---- config/sources/families/rk322x.conf | 10 +++--- extensions/xorg-lima-serverflags.sh | 34 +++++++++++++++++++ packages/bsp/rk322x/40-serverflags.conf | 13 ------- packages/bsp/rk3328/40-serverflags.conf | 13 ------- 6 files changed, 40 insertions(+), 39 deletions(-) delete mode 100755 config/optional/boards/rk3318-box/_config/desktop/_all_distributions/environments/_all_environments/armbian/create_desktop_package.sh create mode 100644 extensions/xorg-lima-serverflags.sh delete mode 100644 packages/bsp/rk322x/40-serverflags.conf delete mode 100644 packages/bsp/rk3328/40-serverflags.conf diff --git a/config/boards/rk3318-box.tvb b/config/boards/rk3318-box.tvb index 6b986cf29..e718ed9fa 100644 --- a/config/boards/rk3318-box.tvb +++ b/config/boards/rk3318-box.tvb @@ -10,6 +10,8 @@ BOOT_SCENARIO="tpl-blob-atf-mainline" DDR_BLOB="rk33/rk3318_ddr_333Mhz_v1.16.bin" BOOT_SOC="rk3328" +enable_extension xorg-lima-serverflags + function post_family_tweaks_bsp__rk3318-box() { display_alert "Installing BSP firmware and fixups" diff --git a/config/optional/boards/rk3318-box/_config/desktop/_all_distributions/environments/_all_environments/armbian/create_desktop_package.sh b/config/optional/boards/rk3318-box/_config/desktop/_all_distributions/environments/_all_environments/armbian/create_desktop_package.sh deleted file mode 100755 index 47b473a13..000000000 --- a/config/optional/boards/rk3318-box/_config/desktop/_all_distributions/environments/_all_environments/armbian/create_desktop_package.sh +++ /dev/null @@ -1,7 +0,0 @@ -# Fix for bad device detection for x.org when lima driver is in use -if [[ "$BRANCH" != "legacy" ]]; then - mkdir -p $destination/etc/X11/xorg.conf.d - cp $SRC/packages/bsp/rk3328/40-serverflags.conf $destination/etc/X11/xorg.conf.d -fi - -# @TODO: @paolosabatino: this is no longer included in aggregation; it will have to be handled in some kind of extension diff --git a/config/sources/families/rk322x.conf b/config/sources/families/rk322x.conf index 5e4fbbf0e..9f9999e00 100644 --- a/config/sources/families/rk322x.conf +++ b/config/sources/families/rk322x.conf @@ -16,6 +16,10 @@ BOOTPATCHDIR='v2022.04' ARCH=armhf SERIALCON=ttyS2 +# enable extension to fix autodetection for Lima driver and x.org +# on non-legacy kernels +enable_extension xorg-lima-serverflags + case $BRANCH in legacy) @@ -173,10 +177,4 @@ family_tweaks_bsp() { # Board selection script install -m 755 $SRC/packages/bsp/rk322x/rk322x-config $destination/usr/sbin - # Fix for bad device detection for x.org when lima driver is in use - if [[ "$BRANCH" != "legacy" ]]; then - mkdir -p $destination/etc/X11/xorg.conf.d - cp $SRC/packages/bsp/rk322x/40-serverflags.conf $destination/etc/X11/xorg.conf.d - fi - } diff --git a/extensions/xorg-lima-serverflags.sh b/extensions/xorg-lima-serverflags.sh new file mode 100644 index 000000000..9077dd90a --- /dev/null +++ b/extensions/xorg-lima-serverflags.sh @@ -0,0 +1,34 @@ +# +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2023 Armbian +# This file is a part of the Armbian Build Framework https://github.com/armbian/build/ +# + +# Install 40-serverflags.conf in xorg.conf.d directory because autodetection +# may be faulty on some x.org revisions. +function post_family_tweaks_bsp__install_lima_serverflags() { + + display_alert "${EXTENSION} ${BOARD}" "adding lima x.org serverflags workaround to BSP" "info" + + declare xorg_conf_dir="/etc/X11/xorg.conf.d" + declare conf_lima_file="40-serverflags.conf" + run_host_command_logged mkdir -pv "${destination}${xorg_conf_dir}" + + cat <<- LIMA_SERVERFLAGS > "${destination}${xorg_conf_dir}/${conf_lima_file}" + Section "ServerFlags" + Option "AutoAddGPU" "off" + Option "Debug" "dmabuf_capable" + EndSection + + Section "OutputClass" + Identifier "Lima" + Driver "modesetting" + MatchDriver "rockchip" + Option "AccelMethod" "glamor" + Option "PrimaryGPU" "true" + EndSection + LIMA_SERVERFLAGS + + return 0 +} + diff --git a/packages/bsp/rk322x/40-serverflags.conf b/packages/bsp/rk322x/40-serverflags.conf deleted file mode 100644 index c2136f7df..000000000 --- a/packages/bsp/rk322x/40-serverflags.conf +++ /dev/null @@ -1,13 +0,0 @@ -Section "ServerFlags" - Option "AutoAddGPU" "off" - Option "Debug" "dmabuf_capable" -EndSection - -Section "OutputClass" - Identifier "Lima" - Driver "modesetting" - MatchDriver "rockchip" - Option "AccelMethod" "glamor" - Option "PrimaryGPU" "true" -EndSection - diff --git a/packages/bsp/rk3328/40-serverflags.conf b/packages/bsp/rk3328/40-serverflags.conf deleted file mode 100644 index c2136f7df..000000000 --- a/packages/bsp/rk3328/40-serverflags.conf +++ /dev/null @@ -1,13 +0,0 @@ -Section "ServerFlags" - Option "AutoAddGPU" "off" - Option "Debug" "dmabuf_capable" -EndSection - -Section "OutputClass" - Identifier "Lima" - Driver "modesetting" - MatchDriver "rockchip" - Option "AccelMethod" "glamor" - Option "PrimaryGPU" "true" -EndSection -