From b63b67e8a07ad38a557033ff06c12119bd142a9a Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 7 Jun 2023 16:21:01 +0200 Subject: [PATCH] device-pine64-pinenote: add gnome package and configuration file (MR 4142) - add confiuration information about the touchscreen for libinput - add package gnome-shell-extension-pinenote for gnome subpackage - add udev rules --- .../50-touchscreen.conf | 11 ++++++ .../81-libinput-pinenote.rules | 9 +++++ .../82-ebc-rockchip.rules | 2 ++ .../testing/device-pine64-pinenote/APKBUILD | 36 +++++++++++++++---- .../testing/device-pine64-pinenote/deviceinfo | 2 +- .../local-overrides.quirks | 5 +++ 6 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 device/testing/device-pine64-pinenote/50-touchscreen.conf create mode 100644 device/testing/device-pine64-pinenote/81-libinput-pinenote.rules create mode 100644 device/testing/device-pine64-pinenote/82-ebc-rockchip.rules create mode 100644 device/testing/device-pine64-pinenote/local-overrides.quirks diff --git a/device/testing/device-pine64-pinenote/50-touchscreen.conf b/device/testing/device-pine64-pinenote/50-touchscreen.conf new file mode 100644 index 000000000..f2d643b6f --- /dev/null +++ b/device/testing/device-pine64-pinenote/50-touchscreen.conf @@ -0,0 +1,11 @@ +Section "InputClass" + Identifier "evdev touchscreen" + MatchProduct "tt21000" + MatchIsTouchscreen "on" + Driver "evdev" +EndSection +Section "InputClass" + Identifier "RotateTouch" + MatchProduct "w9013" + Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1" +EndSection diff --git a/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules b/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules new file mode 100644 index 000000000..700c71c24 --- /dev/null +++ b/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules @@ -0,0 +1,9 @@ +ACTION=="remove", GOTO="libinput_device_group_end" +KERNEL!="event[0-9]*", GOTO="libinput_device_group_end" + +ATTRS{phys}=="?*", ATTRS{name}=="cyttsp5", ENV{LIBINPUT_DEVICE_GROUP}="pinenotetouch" +ATTRS{phys}=="?*", ATTRS{name}=="w9013 2D1F:0095 Stylus", ENV{LIBINPUT_DEVICE_GROUP}="pinenotetouch" + +ATTRS{phys}=="?*", ATTRS{name}=="cyttsp5", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1" + +LABEL="libinput_device_group_end" diff --git a/device/testing/device-pine64-pinenote/82-ebc-rockchip.rules b/device/testing/device-pine64-pinenote/82-ebc-rockchip.rules new file mode 100644 index 000000000..3473c7a77 --- /dev/null +++ b/device/testing/device-pine64-pinenote/82-ebc-rockchip.rules @@ -0,0 +1,2 @@ +SUBSYSTEM=="module", KERNEL=="rockchip_ebc", RUN+="/bin/chgrp video /sys/module/%k/parameters/auto_refresh /sys/module/%k/parameters/bw_dither_invert /sys/module/%k/parameters/bw_threshold /sys/module/%k/parameters/bw_mode /sys/module/%k/parameters/diff_mode /sys/module/%k/parameters/direct_mode /sys/module/%k/parameters/limit_fb_blits /sys/module/%k/parameters/panel_reflection /sys/module/%k/parameters/refresh_threshold /sys/module/%k/parameters/refresh_waveform /sys/module/%k/parameters/skip_reset /sys/module/%k/parameters/split_area_limit /sys/module/%k/parameters/default_waveform", RUN+="/bin/chmod g+w /sys/module/%k/parameters/bw_threshold /sys/module/%k/parameters/bw_mode /sys/module/%k/parameters/default_waveform /sys/module/%k/parameters/diff_mode /sys/module/%k/parameters/direct_mode /sys/module/%k/parameters/limit_fb_blits /sys/module/%k/parameters/panel_reflection /sys/module/%k/parameters/refresh_threshold /sys/module/%k/parameters/refresh_waveform /sys/module/%k/parameters/skip_reset /sys/module/%k/parameters/auto_refresh /sys/module/%k/parameters/bw_dither_invert /sys/module/%k/parameters/split_area_limit" +DRIVER=="rockchip-ebc", RUN+="/bin/chgrp video /sys/%p/power/control", RUN+="/bin/chmod g+w /sys/%p/power/control" diff --git a/device/testing/device-pine64-pinenote/APKBUILD b/device/testing/device-pine64-pinenote/APKBUILD index ab0aada8a..5d230a74e 100644 --- a/device/testing/device-pine64-pinenote/APKBUILD +++ b/device/testing/device-pine64-pinenote/APKBUILD @@ -2,7 +2,7 @@ pkgname=device-pine64-pinenote pkgdesc="Pine64 PineNote" pkgver=1 -pkgrel=0 +pkgrel=1 url="https://postmarketos.org" license="MIT" arch="aarch64" @@ -14,9 +14,14 @@ depends=" makedepends="devicepkg-dev" source="deviceinfo phoc.ini + local-overrides.quirks + 50-touchscreen.conf + 81-libinput-pinenote.rules + 82-ebc-rockchip.rules " subpackages=" $pkgname-nonfree-firmware:nonfree_firmware + $pkgname-gnome $pkgname-phosh " @@ -26,12 +31,21 @@ build() { package() { devicepkg_package $startdir $pkgname + + install -Dm644 "$srcdir"/local-overrides.quirks \ + -t "$pkgdir"/etc/libinput/ + install -Dm644 "$srcdir"/50-touchscreen.conf \ + -t "$pkgdir"/etc/X11/xorg.conf.d + install -Dm644 "$srcdir"/81-libinput-pinenote.rules \ + -t "$pkgdir"/lib/udev/rules.d + install -Dm644 "$srcdir"/82-ebc-rockchip.rules \ + "$pkgdir"/lib/udev/rules.d } -nonfree_firmware() { - pkgdesc="WiFi, Bluetooth and display firmware" - depends="firmware-pine64-pinenote" - mkdir "$subpkgdir" +gnome() { + install_if="$pkgname=$pkgver-r$pkgrel gnome" + depends="gnome-shell gnome-shell-extension-pinenote" + mkdir -p "$subpkgdir" } phosh() { @@ -42,7 +56,17 @@ phosh() { -t "$subpkgdir"/etc/phosh } +nonfree_firmware() { + pkgdesc="WiFi, Bluetooth and display firmware" + depends="firmware-pine64-pinenote" + mkdir "$subpkgdir" +} + sha512sums=" -c6847fc0128f8ccbc76fee5b5cd328c3b9d67774097e0fd16ee4a6cb8645b953bb38f0598fad6610abb64e43a8db3cae54c426dfcb58eecf750f5ea35a2af0fc deviceinfo +e29807d5a0ae9ed1def7f1a9037bd67f58f40de8a731905c3a2cf5265d4a4bdd201ec7e7004e9c04897732c15144670bdf84b9c40d15f476c8f9dcf820f3b36a deviceinfo 4bf5158fbd53274a7429e825bb66225001f2403a4851e2d6803323b77d9095738ee3e5340ac85baf3e86bb4f47d38af8cbd78d8a5055c59a62f5b06e722e19cb phoc.ini +1123720962c9c8fec3c50302ca6a3dd56e2907dc9eea361a7b8eb4201b042476633d41a0ee4f6ab61d9c60eeccc894f83491ba9fa309a9bce2f1db0b0341d79d local-overrides.quirks +ac433eebbc35a48561837495997aee4e55510b979bc0d8e3bafb761bc1be5b4bdeed2f456369dcbc582688aefd07c63966b0d72b6ffa99e84cfd868e677f02c8 50-touchscreen.conf +2bc51f200baefc37abfaaad368a911244999e906bdca4b728ac233f49a8fb3ae7206ee3c95cdb20d7dceae2a31d25a57f4e1da4fd67057fd64724b8232e42aed 81-libinput-pinenote.rules +7c418cebf336df96cd484d7f0243cf27e859b11a7f2e7fb54dd2b4afedc4f570588bee08a5de8075db7c7d6d56b7971d19dc09909ebe68247505a3e37427e312 82-ebc-rockchip.rules " diff --git a/device/testing/device-pine64-pinenote/deviceinfo b/device/testing/device-pine64-pinenote/deviceinfo index 73e8de299..29f74e05e 100644 --- a/device/testing/device-pine64-pinenote/deviceinfo +++ b/device/testing/device-pine64-pinenote/deviceinfo @@ -30,4 +30,4 @@ deviceinfo_flash_rk_partition_kernel="cache" deviceinfo_flash_rk_partition_system="userdata" deviceinfo_generate_extlinux_config="true" -deviceinfo_kernel_cmdline="earlycon console=tty0 console=ttyS2,1500000n8 PMOS_NO_OUTPUT_REDIRECT vt.default_red=0xFF,0xBC,0x4F,0xB4,0x56,0xBC,0x4F,0x00,0xA1,0xCF,0x84,0xCA,0x8D,0xB4,0x84,0x68 vt.default_grn=0xFF,0x55,0xBA,0xBA,0x4D,0x4D,0xB3,0x00,0xA0,0x8F,0xB3,0xCA,0x88,0x93,0xA4,0x68 vt.default_blu=0xFF,0x58,0x5F,0x58,0xC5,0xBD,0xC5,0x00,0xA8,0xBB,0xAB,0x97,0xBD,0xC7,0xC5,0x68 PMOS_FORCE_PARTITION_RESIZE" +deviceinfo_kernel_cmdline="drm.debug=0x0 vt.color=0xf earlycon console=tty0 console=ttyS2,1500000n8 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE" diff --git a/device/testing/device-pine64-pinenote/local-overrides.quirks b/device/testing/device-pine64-pinenote/local-overrides.quirks new file mode 100644 index 000000000..030ca8bb5 --- /dev/null +++ b/device/testing/device-pine64-pinenote/local-overrides.quirks @@ -0,0 +1,5 @@ +[PineNote] +MatchName=cyttsp5 +AttrPalmPressureThreshold=28 +AttrThumbPressureThreshold=27 +AttrSizeHint=210x157