From b7f5b9ebeed03cde0ad38ea611553f39785c7ddf Mon Sep 17 00:00:00 2001 From: j1nx Date: Sun, 3 Jan 2021 20:57:48 +0100 Subject: [PATCH] Add a virtual touchscreen driver as quick fix for Weston. Weston segfaults if it can't find input devices despite it being configured to load without it (require-input=false) --- buildroot-external/Config.in | 1 + .../configs/rpi4_64-gui_defconfig | 1 + .../package/virtual-touch/Config.in | 9 +++++++++ .../package/virtual-touch/virtual-touch.conf | 1 + .../package/virtual-touch/virtual-touch.hash | 2 ++ .../package/virtual-touch/virtual-touch.mk | 17 +++++++++++++++++ 6 files changed, 31 insertions(+) create mode 100644 buildroot-external/package/virtual-touch/Config.in create mode 100644 buildroot-external/package/virtual-touch/virtual-touch.conf create mode 100644 buildroot-external/package/virtual-touch/virtual-touch.hash create mode 100644 buildroot-external/package/virtual-touch/virtual-touch.mk diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index 69bec74d..ef42a283 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -86,6 +86,7 @@ endmenu source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/snapcast/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/spotifyd/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/userland-tools/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/virtual-touch/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/wifi-connect/Config.in" endmenu menu "Additional external python modules" diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index 41e26b06..07844e60 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -515,6 +515,7 @@ BR2_PACKAGE_SNAPCAST=y BR2_PACKAGE_SNAPCAST_SERVER=y BR2_PACKAGE_SPOTIFYD=y BR2_PACKAGE_USERLAND_TOOLS=y +BR2_PACKAGE_VIRTUAL_TOUCH=y BR2_PACKAGE_WIFI_CONNECT=y BR2_PACKAGE_PYTHON_ADAPT_PARSER=y BR2_PACKAGE_PYTHON_COVERALLS=y diff --git a/buildroot-external/package/virtual-touch/Config.in b/buildroot-external/package/virtual-touch/Config.in new file mode 100644 index 00000000..dfe846fb --- /dev/null +++ b/buildroot-external/package/virtual-touch/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_VIRTUAL_TOUCH + bool "virtual-touch" + help + Simple virtual input device for + testing things in Linux. Creates + a character device and an input + device. + + https://github.com/vi/virtual_touchscreen diff --git a/buildroot-external/package/virtual-touch/virtual-touch.conf b/buildroot-external/package/virtual-touch/virtual-touch.conf new file mode 100644 index 00000000..86cd18db --- /dev/null +++ b/buildroot-external/package/virtual-touch/virtual-touch.conf @@ -0,0 +1 @@ +virtual_touchscreen diff --git a/buildroot-external/package/virtual-touch/virtual-touch.hash b/buildroot-external/package/virtual-touch/virtual-touch.hash new file mode 100644 index 00000000..c47594fa --- /dev/null +++ b/buildroot-external/package/virtual-touch/virtual-touch.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 9b068d82aa40ab101ceb6f0d5fe06c60db96debdf344211200edad777eb714c0 virtual-touch-913a36c83fc1ebf4396fec19a94b2092ebee6d4c.tar.gz diff --git a/buildroot-external/package/virtual-touch/virtual-touch.mk b/buildroot-external/package/virtual-touch/virtual-touch.mk new file mode 100644 index 00000000..0ac8765f --- /dev/null +++ b/buildroot-external/package/virtual-touch/virtual-touch.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# virtual-touch +# +################################################################################ + +VIRTUAL_TOUCH_VERSION = 913a36c83fc1ebf4396fec19a94b2092ebee6d4c +VIRTUAL_TOUCH_SITE = $(call github,vi,virtual_touchscreen,$(VIRTUAL_TOUCH_VERSION)) + +$(eval $(kernel-module)) + +define VIRTUAL_TOUCH_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/virtual-touch/virtual-touch.conf \ + $(TARGET_DIR)/etc/modules-load.d/virtual-touch.conf +endef + +$(eval $(generic-package))