diff --git a/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules b/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules deleted file mode 100644 index 700c71c24..000000000 --- a/device/testing/device-pine64-pinenote/81-libinput-pinenote.rules +++ /dev/null @@ -1,9 +0,0 @@ -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 deleted file mode 100644 index 56c673da7..000000000 --- a/device/testing/device-pine64-pinenote/82-ebc-rockchip.rules +++ /dev/null @@ -1,2 +0,0 @@ -SUBSYSTEM=="module", KERNEL=="rockchip_ebc", RUN+="/bin/chgrp video /sys/module/%k/parameters/dclk_select /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 594e4a0b1..cbe62e3e8 100644 --- a/device/testing/device-pine64-pinenote/APKBUILD +++ b/device/testing/device-pine64-pinenote/APKBUILD @@ -8,32 +8,35 @@ url="https://postmarketos.org" license="GPL-3.0-only" arch="aarch64" options="!check !archcheck" +# py3-numpy used by rockchip_ebc management libraries depends=" linux-pine64-pinenote pinenote-dbus-service postmarketos-base u-boot-pine64-pinenote + py3-numpy " -makedepends="devicepkg-dev" +makedepends="devicepkg-dev sed python3" # pinenote-dist repo provides some management scripts for pinenote and sway # although for now we only source waveform scripts source=" pinenote-dist-$_commit.tar.gz::https://git.sr.ht/~hrdl/pinenote-dist/archive/$_commit.tar.gz waveform-extract-use-lib.patch + sway-wayland-sessions-use-dbus.patch + sway-waybar-config-fix-endless-interval.patch + sway-sane-scale.patch + sway-nwg-menu-fix-css-path.patch deviceinfo modules-initfs + partition-table.txt pinenote-init-waveform.initd 30-eink-waveform.files 50-touchscreen.conf - 81-libinput-pinenote.rules - 82-ebc-rockchip.rules - local-overrides.quirks panfrost.conf phoc.ini - rockchip_ebc.conf - partition-table.txt + tinydm-ebc.service " subpackages=" $pkgname-nonfree-firmware:nonfree_firmware @@ -41,10 +44,21 @@ subpackages=" $pkgname-nonfree-firmware-systemd:nonfree_firmware_systemd $pkgname-phosh $pkgname-x11 + $pkgname-sway + $pkgname-sway-systemd:sway_systemd $pkgname-xournalpp " builddir="$srcdir"/pinenote-dist-$_commit +prepare() { + default_prepare + + # use sh for scripts packaged in main pkg + sed -i 's|#!/bin/bash|#!/bin/sh|' \ + bin/before_sleep.sh \ + bin/after_resume.sh +} + build() { devicepkg_build $startdir $pkgname } @@ -52,15 +66,36 @@ build() { package() { devicepkg_package $startdir $pkgname - install -Dm644 "$srcdir"/local-overrides.quirks \ - -t "$pkgdir"/etc/libinput/ - install -Dm644 "$srcdir"/81-libinput-pinenote.rules \ - -t "$pkgdir"/usr/lib/udev/rules.d - install -Dm644 "$srcdir"/82-ebc-rockchip.rules \ - "$pkgdir"/usr/lib/udev/rules.d - install -Dm644 "$srcdir"/panfrost.conf \ + install -Dm644 "$builddir"/etc/libinput/local-overrides.quirks \ + -t "$pkgdir"/etc/libinput + + # modprobe rules + install -Dm644 \ + "$builddir"/etc/modprobe.d/rockchip_ebc.conf \ + "$builddir"/etc/modprobe.d/wifi.conf \ -t "$pkgdir"/etc/modprobe.d - install -Dm644 "$srcdir"/rockchip_ebc.conf \ + + # udev rules + install -Dm644 \ + "$builddir"/etc/udev/rules.d/81-libinput-pinenote.rules \ + "$builddir"/etc/udev/rules.d/83-backlight.rules \ + "$builddir"/etc/udev/rules.d/84-rockchip-ebc-power.rules \ + -t "$pkgdir"/usr/lib/udev/rules.d + + # bins + install -Dm755 \ + "$builddir"/bin/rockchip_ebc_dump_buffers.py \ + "$builddir"/bin/before_sleep.sh \ + "$builddir"/bin/after_resume.sh \ + -t "$pkgdir"/usr/bin + + # python library + local _site_packages_path="$(python -c 'import site; print(site.getsitepackages())' | sed -e "s|\['||" -e "s|'\]||")" + install -Dm755 "$builddir"/bin/rockchip_ebc_custom_ioctl.py \ + -t "$pkgdir"/$_site_packages_path + + # panfront sometimes insists on loading after rockchip_ebc + install -Dm644 "$srcdir"/panfrost.conf \ -t "$pkgdir"/etc/modprobe.d } @@ -72,6 +107,68 @@ phosh() { -t "$subpkgdir"/etc/phosh } +sway() { + install_if="$pkgname=$pkgver-r$pkgrel sway" + install="device-pine64-pinenote-sway.post-install" + depends="postmarketos-theme waybar squeekboard swayidle swaybg iio-sensor-proxy + brightnessctl jq nwg-menu py3-i3ipc network-manager-applet rot8 papirus-icon-theme + ttf-font-awesome font-noto-emoji font-noto lisgd wtype coreutils wtype kitty + adwaita-icon-theme tinydm thunar py3-pillow py3-dbus-next py3-pydbus bash" + + # allows overwrite of menu-start.css + replaces="nwg-menu" + + # greetd config + install -Dm644 \ + "$builddir"/etc/greetd/environments \ + "$builddir"/etc/greetd/sway-config \ + -t "$subpkgdir"/etc/greetd + + # sway configs + # nwg-menu hardcodes this location + install -Dm644 \ + "$builddir"/etc/sway_hrdl/sway/colorscheme \ + "$builddir"/etc/sway_hrdl/sway/config \ + -t "$subpkgdir"/etc/sway_hrdl/sway + install -Dm644 \ + "$builddir"/etc/sway_hrdl/waybar/config \ + "$builddir"/etc/sway_hrdl/waybar/style.css \ + -t "$subpkgdir"/etc/sway_hrdl/waybar + install -Dm644 \ + "$builddir"/etc/sway_hrdl/nwg-panel/menu-start.css \ + -t "$subpkgdir"/usr/share/nwg-menu/ + + # wayland session + install -Dm644 \ + "$builddir"/wayland-sessions/sway_hrdl.desktop \ + -t "$subpkgdir"/usr/share/wayland-sessions + + # bins + install -Dm755 \ + "$builddir"/bin/launch_lisgd.sh \ + "$builddir"/bin/toggle_menu.sh \ + "$builddir"/bin/sway_rotate.sh \ + "$builddir"/bin/sway_workspace \ + "$builddir"/bin/toggle_onscreen_keyboard.py \ + "$builddir"/bin/sway_dbus_integration.py \ + "$builddir"/bin/sway_hrdl \ + "$builddir"/bin/waybar_hrdl \ + -t "$subpkgdir"/usr/bin +} + +sway_systemd() { + install_if="$pkgname-sway=$pkgver-r$pkgrel systemd" + install="$subpkgname.post-install $subpkgname.post-upgrade" + depends="systemd" + + # tinydm replacement systemd + # rockchip_ebc sometimes fails to load the initial waveform. + # This forces a reload before starting tiydm + install -Dm644 \ + "$srcdir"/tinydm-ebc.service \ + -t "$subpkgdir"/usr/lib/systemd/system/ +} + xournalpp() { install_if="$pkgname=$pkgver-r$pkgrel xournalpp" depends="xournalpp" @@ -84,7 +181,7 @@ xournalpp() { nonfree_firmware() { pkgdesc="WiFi, Bluetooth and display firmware" - depends="linux-firmware py3-numpy" + depends="linux-firmware-cypress linux-firmware-brcm" replaces="firmware-pine64-pinenote" # waveform firmware is provided locally via /dev/disk/by-label/waveform @@ -139,16 +236,17 @@ x11() { sha512sums=" 4b6548a05dcdbe1ddda97dba58d625407fb553f90817e8e678b97e28603f64aab9a31fa18bda654c06638f3be21d7a6936786197f93f715e7d03a07e380873c5 pinenote-dist-28d2c05ab4e80a7972611cd3188f3e8be4197f6a.tar.gz 780ece54589b4483461cc07917d9ca6f13222435872386d65c34ff6798758f28d81e913777d41b745e7bb0f53950b8f610ce361f2fe146937afd4080ae2aa904 waveform-extract-use-lib.patch +16f5c226d1366ebd0efc5bdc92a33ae184773a17ce593bdb71c60f1a091de13b2d39bedee43c46c01229e36d60f3688626a1b1ae08eab2c235ac6f5f0fc3d6a8 sway-wayland-sessions-use-dbus.patch +b0eb78d9b74b984c4bc5c5e15518a3f659d2e10a46b60085d5bc8bd3927d4724f71ecd623bcdb5743069fbed86291c6a33ac3cfefac21818bf44bdff620e8b14 sway-waybar-config-fix-endless-interval.patch +74e5a76662b5e4c58ca9f281d4a3964f7e925cc06fc47f9c5f6bf1c3f039d2310495fe1a99b501cb35339309a74c7a4e94f270f511385f7bd2fc3c1a647a1447 sway-sane-scale.patch +7effcd37bbf2cab66ccb57ab976de63c93bd03795ccd82f317fbfb16216da287ada4410d9b168057e651fa4d769588d1f0efa713caa28c5b71ba6b73909ae33c sway-nwg-menu-fix-css-path.patch a44a51e69d36274de7cbb1bb0219567796e2c7d937f385363e6e3d0c4735d461f966f411d461ad37cf0e1bda832c502488d5abf65bb3b441a6e9f9b036e45569 deviceinfo e0d3ac808e7a4f05df327a824e30dc54864908e31f4a643f6e85f054ab812eeb28fef647eb52ae85bfad7d40c9cd81c43c1cdc575de5dbc04304d74862d9772c modules-initfs +df0565391a66eed53ed817d3d1415bef000f9ed33ef2e8aa3016be3ecc21dd4a357e57838979d2710256776666dc01bfee8bf8a95b08a20a62d46cfbd8ac6c35 partition-table.txt 29710d80112f8797adf7e3dfd54771d8752d29cb265532e235fe406e380056ac846929568ddbe5110bbd74da337e2f8cd905e4092c14bc94aea07dc83f39aa6e pinenote-init-waveform.initd 8f7a5ad2f407de8c474d54dfdb9cc099c96e8918fc123f8b2a8ff911d7e1c7ca6fe30f9cea8ee2f0c1ba5f3e53359193d0683ca912f0b66e79a12814ce38dd98 30-eink-waveform.files ac433eebbc35a48561837495997aee4e55510b979bc0d8e3bafb761bc1be5b4bdeed2f456369dcbc582688aefd07c63966b0d72b6ffa99e84cfd868e677f02c8 50-touchscreen.conf -2bc51f200baefc37abfaaad368a911244999e906bdca4b728ac233f49a8fb3ae7206ee3c95cdb20d7dceae2a31d25a57f4e1da4fd67057fd64724b8232e42aed 81-libinput-pinenote.rules -19e922eec89dba419798c4e1dc9b39c040db33986d0969a39a8220c642fa081763f15ff2418115d5a748af4054a1be0784927d1712ea79942c2b237ebab47728 82-ebc-rockchip.rules -1123720962c9c8fec3c50302ca6a3dd56e2907dc9eea361a7b8eb4201b042476633d41a0ee4f6ab61d9c60eeccc894f83491ba9fa309a9bce2f1db0b0341d79d local-overrides.quirks 6ba6638754e00908243de2f73ed6898dac03638a200dcf7b7cd9684757355ee1eb0ac874af0f971ad2e054c1a8c471867bdaea4d9aaf7eea6d3cf81ac7dd73a2 panfrost.conf 4bf5158fbd53274a7429e825bb66225001f2403a4851e2d6803323b77d9095738ee3e5340ac85baf3e86bb4f47d38af8cbd78d8a5055c59a62f5b06e722e19cb phoc.ini -b52d2e7f0c62d7c313b6db9aeb706cdb2596b6aa637aeddb862abf1e256103377fb6267e38cd4285e25d32112acf8d03bbf32ecff7be3dfbb9176209ea7ae283 rockchip_ebc.conf -df0565391a66eed53ed817d3d1415bef000f9ed33ef2e8aa3016be3ecc21dd4a357e57838979d2710256776666dc01bfee8bf8a95b08a20a62d46cfbd8ac6c35 partition-table.txt +efc0b7fd892a9557d404f3dd52e6f03187d183b9432947a8845ef417e52e9dc55a71f920936a8fa11b90e73a355212b6094b86406c564d439a2e0347cfb0cced tinydm-ebc.service " diff --git a/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-install b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-install new file mode 100644 index 000000000..6c197aace --- /dev/null +++ b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +systemctl disable tinydm.service +systemctl enable tinydm-ebc.service diff --git a/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-upgrade b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-upgrade new file mode 120000 index 000000000..ace2b8810 --- /dev/null +++ b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway-systemd.post-upgrade @@ -0,0 +1 @@ +device-pine64-pinenote-sway-systemd.post-install \ No newline at end of file diff --git a/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway.post-install b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway.post-install new file mode 100644 index 000000000..344b8612b --- /dev/null +++ b/device/testing/device-pine64-pinenote/device-pine64-pinenote-sway.post-install @@ -0,0 +1,3 @@ +#!/bin/sh + +tinydm-set-session -f -s /usr/share/wayland-sessions/sway_hrdl.desktop diff --git a/device/testing/device-pine64-pinenote/local-overrides.quirks b/device/testing/device-pine64-pinenote/local-overrides.quirks deleted file mode 100644 index 030ca8bb5..000000000 --- a/device/testing/device-pine64-pinenote/local-overrides.quirks +++ /dev/null @@ -1,5 +0,0 @@ -[PineNote] -MatchName=cyttsp5 -AttrPalmPressureThreshold=28 -AttrThumbPressureThreshold=27 -AttrSizeHint=210x157 diff --git a/device/testing/device-pine64-pinenote/rockchip_ebc.conf b/device/testing/device-pine64-pinenote/rockchip_ebc.conf deleted file mode 100644 index e457ac9a3..000000000 --- a/device/testing/device-pine64-pinenote/rockchip_ebc.conf +++ /dev/null @@ -1,5 +0,0 @@ -# rockchip-rga will crash the kernel on unload at the moment -blacklist rockchip-rga -blacklist ws8100_pen - -options rockchip_ebc direct_mode=0 auto_refresh=1 refresh_threshold=60 split_area_limit=0 panel_reflection=1 prepare_prev_before_a2=0 dclk_select=0 diff --git a/device/testing/device-pine64-pinenote/sway-nwg-menu-fix-css-path.patch b/device/testing/device-pine64-pinenote/sway-nwg-menu-fix-css-path.patch new file mode 100644 index 000000000..fcf645e39 --- /dev/null +++ b/device/testing/device-pine64-pinenote/sway-nwg-menu-fix-css-path.patch @@ -0,0 +1,9 @@ +diff --git a/bin/toggle_menu.sh.orig b/bin/toggle_menu.sh +index 6542572f3e..e086aab41e 100755 +--- a/bin/toggle_menu.sh.orig ++++ b/bin/toggle_menu.sh +@@ -1,3 +1,3 @@ + #!/bin/sh + +-nwg-menu -fm thunar -term kitty -va top -isl 64 -iss 64 -s /etc/sway_hrdl/nwg-panel/menu-start.css & ++nwg-menu -fm thunar -term kitty -va top -isl 64 -iss 64 & diff --git a/device/testing/device-pine64-pinenote/sway-sane-scale.patch b/device/testing/device-pine64-pinenote/sway-sane-scale.patch new file mode 100644 index 000000000..f07a94d2d --- /dev/null +++ b/device/testing/device-pine64-pinenote/sway-sane-scale.patch @@ -0,0 +1,53 @@ +diff --git a/etc/sway_hrdl/sway/config.orig b/etc/sway_hrdl/sway/config +index 0937a24bb7..bdbc0e5ddf 100644 +--- a/etc/sway_hrdl/sway/config.orig ++++ b/etc/sway_hrdl/sway/config +@@ -25,7 +25,7 @@ font pango:Noto Sans 20 + + ### Output configuration + output * bg #FFFFFF solid_color +-output * scale 1 ++output * scale 1.5 + + gaps inner 5 + gaps outer 0 +diff --git a/bin/sway_rotate.sh.orig b/bin/sway_rotate.sh +index 280fd83015..c87676069b 100755 +--- a/bin/sway_rotate.sh.orig ++++ b/bin/sway_rotate.sh +@@ -13,7 +13,7 @@ startlisgd() { + } + + rotnormal() { +- swaymsg -- output "-" transform 0 scale 1 ++ swaymsg -- output "-" transform 0 scale 1.5 + focused_name="$(focusedname)" + swaymsg -- input type:touch map_to_output "$focused_name" + swaymsg -- input type:tablet_tool map_to_output "$focused_name" +@@ -22,7 +22,7 @@ rotnormal() { + } + + rotleft() { +- swaymsg -- output "-" transform 90 scale 1 ++ swaymsg -- output "-" transform 90 scale 1.2 + focused_name="$(focusedname)" + swaymsg -- input type:touch map_to_output "$focused_name" + swaymsg -- input type:tablet_tool map_to_output "$focused_name" +@@ -31,7 +31,7 @@ rotleft() { + } + + rotright() { +- swaymsg -- output "-" transform 270 scale 1 ++ swaymsg -- output "-" transform 270 scale 1.2 + focused_name="$(focusedname)" + swaymsg -- input type:touch map_to_output "$focused_name" + swaymsg -- input type:tablet_tool map_to_output "$focused_name" +@@ -40,7 +40,7 @@ rotright() { + } + + rotinvert() { +- swaymsg -- output "-" transform 180 scale 1 ++ swaymsg -- output "-" transform 180 scale 1.5 + focused_name="$(focusedname)" + swaymsg -- input type:touch map_to_output "$focused_name" + swaymsg -- input type:tablet_tool map_to_output "$focused_name" diff --git a/device/testing/device-pine64-pinenote/sway-waybar-config-fix-endless-interval.patch b/device/testing/device-pine64-pinenote/sway-waybar-config-fix-endless-interval.patch new file mode 100644 index 000000000..c88e8533e --- /dev/null +++ b/device/testing/device-pine64-pinenote/sway-waybar-config-fix-endless-interval.patch @@ -0,0 +1,255 @@ +diff --git a/etc/sway_hrdl/waybar/config.orig b/etc/sway_hrdl/waybar/config +index f31a30eb25..55c8e0214c 100644 +--- a/etc/sway_hrdl/waybar/config.orig ++++ b/etc/sway_hrdl/waybar/config +@@ -46,7 +46,7 @@ + "idle_inhibitor", + "battery", + "tray", +- // "clock#time", ++ "clock#time", + "custom/kill", + ], + +@@ -143,7 +143,6 @@ + + "custom/kill": { + "format": "", +- "interval": "once", + "on-click": "swaymsg kill", + "min-length": 5, + "tooltip": false, +@@ -151,77 +150,66 @@ + + "custom/winleft": { + "format": "", +- "interval": "once", + "on-click": "swaymsg move left", + "min-length": 5, + "tooltip": false, + }, + "custom/winright": { + "format": "", +- "interval": "once", + "on-click": "swaymsg move right", + "min-length": 5, + "tooltip": false, + }, + "custom/winup": { + "format": "", +- "interval": "once", + "on-click": "swaymsg move up", + "min-length": 5, + "tooltip": false, + }, + "custom/windown": { + "format": "", +- "interval": "once", + "on-click": "swaymsg move down", + "min-length": 5, + "tooltip": false, + }, + "custom/splitv": { + "format": "/|", +- "interval": "once", + "on-click": "swaymsg splitv", + "min-length": 5, + "tooltip": false, + }, + "custom/splith": { + "format": "/-", +- "interval": "once", + "on-click": "swaymsg splith", + "min-length": 5, + "tooltip": false, + }, + "custom/mvws_prev": { + "format": "", +- "interval": "once", + "on-click": "sway_workspace move prev", + "min-length": 5, + "tooltip": false, + }, + "custom/gows_prev": { + "format": "<", +- "interval": "once", + "on-click": "sway_workspace goto prev", + "min-length": 5, + "tooltip": false, + }, + "custom/gows_next": { + "format": ">", +- "interval": "once", + "on-click": "sway_workspace goto next", + "min-length": 5, + "tooltip": false, + }, + "custom/mvws_next": { + "format": "", +- "interval": "once", + "on-click": "sway_workspace move next", + "min-length": 5, + "tooltip": false, + }, + "custom/okb": { + "format": "", +- "interval": "once", + "on-click": "toggle_onscreen_keyboard.py", + "min-length": 5, + "tooltip": false, +@@ -229,7 +217,6 @@ + + "custom/smenu": { + "format": "", +- "interval": "once", + "on-click": "toggle_menu.sh", + "min-length": 5, + "tooltip": false, +@@ -237,35 +224,30 @@ + + "custom/ws1": { + "format": "1", +- "interval": "once", + "on-click": "swaymsg workspace number 1", + "min-length": 5, + "tooltip": false, + }, + "custom/ws2": { + "format": "2", +- "interval": "once", + "on-click": "swaymsg workspace number 2", + "min-length": 5, + "tooltip": false, + }, + "custom/ws3": { + "format": "3", +- "interval": "once", + "on-click": "swaymsg workspace number 3", + "min-length": 5, + "tooltip": false, + }, + "custom/ws4": { + "format": "4", +- "interval": "once", + "on-click": "swaymsg workspace number 4", + "min-length": 5, + "tooltip": false, + }, + "custom/ws5": { + "format": "5", +- "interval": "once", + "on-click": "swaymsg workspace number 5", + "min-length": 5, + "tooltip": false, +@@ -273,28 +255,24 @@ + + "custom/blc_down": { + "format": "", +- "interval": "once", + "on-click": "brightnessctl --device=backlight_cool set 10%-", + "min-length": 5, + "tooltip": false, + }, + "custom/blc_up": { + "format": "", +- "interval": "once", + "on-click": "brightnessctl --device=backlight_cool set 10%+", + "min-length": 5, + "tooltip": false, + }, + "custom/blw_down": { + "format": "", +- "interval": "once", + "on-click": "brightnessctl --device=backlight_warm set 10%-", + "min-length": 5, + "tooltip": false, + }, + "custom/blw_up": { + "format": "", +- "interval": "once", + "on-click": "brightnessctl --device=backlight_warm set 10%+", + "min-length": 5, + "tooltip": false, +@@ -310,28 +288,24 @@ + }, + "custom/ebc_dump_buffers": { + "format": "🐃", +- "interval": "once", + "on-click": "rockchip_ebc_dump_buffers.py", + "min-length": 5, + "tooltip": false, + }, + "custom/ebc_cycle_driver_mode": { + "format": "🚲", +- "interval": "once", + "on-click": "python -c 'import rockchip_ebc_custom_ioctl as reci; reci.cycle_driver_mode()'", + "min-length": 5, + "tooltip": false, + }, + "custom/ebc_refresh": { + "format": "", +- "interval": "once", + "on-click": "dbus-send --type=method_call --dest=org.pinenote.ebc_custom / org.pinenote.ebc_custom.GlobalRefresh", + "min-length": 5, + "tooltip": false, + }, + "custom/rotate_0": { + "format": "R0", +- "interval": "once", + "on-click": "sway_rotate.sh rotnormal", + "min-length": 5, + "tooltip": false, +@@ -339,7 +313,6 @@ + + "custom/rotate_90": { + "format": "R90", +- "interval": "once", + "on-click": "sway_rotate.sh rotright", + "min-length": 5, + "tooltip": false, +@@ -347,7 +320,6 @@ + + "custom/rotate_180": { + "format": "R180", +- "interval": "once", + "on-click": "sway_rotate.sh rotinvert", + "min-length": 5, + "tooltip": false, +@@ -355,7 +327,6 @@ + + "custom/rotate_270": { + "format": "R270", +- "interval": "once", + "on-click": "sway_rotate.sh rotleft", + "min-length": 5, + "tooltip": false, +@@ -363,7 +334,6 @@ + + "custom/key_pageup": { + "format": "", +- "interval": "once", + // "on-click": "wtype -P page_up", + "on-click": "swaymsg resize grow width 10px; swaymsg resize grow height 10px", + "min-length": 5, +@@ -371,21 +341,12 @@ + }, + "custom/key_pagedown": { + "format": "", +- "interval": "once", + // "on-click": "wtype -P page_down", + "on-click": "swaymsg resize shrink width 10px; swaymsg resize shrink height 10px", + "min-length": 5, + "tooltip": false, + }, + +- "custom/battery_watts": { +- "exec": "battery_watts.sh", +- "format": " {}W", +- "interval": 10, +- "min-length": 5, +- "tooltip": false, +- }, +- + "tray": { + "icon-size": 21, + "spacing": 10 diff --git a/device/testing/device-pine64-pinenote/sway-wayland-sessions-use-dbus.patch b/device/testing/device-pine64-pinenote/sway-wayland-sessions-use-dbus.patch new file mode 100644 index 000000000..3507b84a5 --- /dev/null +++ b/device/testing/device-pine64-pinenote/sway-wayland-sessions-use-dbus.patch @@ -0,0 +1,11 @@ +diff --git a/wayland-sessions/sway_hrdl.desktop.orig b/wayland-sessions/sway_hrdl.desktop +index 334a343136..367f1e20d0 100644 +--- a/wayland-sessions/sway_hrdl.desktop.orig ++++ b/wayland-sessions/sway_hrdl.desktop +@@ -1,5 +1,5 @@ + [Desktop Entry] + Name=sway_hrdl + Comment=A sway/waybar configuration integrated into hrdl's custom rockchip_ebc driver +-Exec=sway_hrdl ++Exec=dbus-run-session sway_hrdl + Type=Application diff --git a/device/testing/device-pine64-pinenote/tinydm-ebc.service b/device/testing/device-pine64-pinenote/tinydm-ebc.service new file mode 100644 index 000000000..3696e81f3 --- /dev/null +++ b/device/testing/device-pine64-pinenote/tinydm-ebc.service @@ -0,0 +1,50 @@ +[Unit] +Description=Tiny wayland / x11 session starter for single user machines + +# replaces the getty +Conflicts=getty@tty1.service +After=getty@tty1.service dbus.socket + +# Needs all the dependencies of the services it's replacing +# (currently getty@tty1.service): +After=rc-local.service plymouth-quit-wait.service systemd-user-sessions.service + +# This scope is created by pam_systemd when logging in as the user. +# This directive is a workaround to a systemd bug, where the setup of the +# user session by PAM has some race condition, possibly leading to a failure. +# See README for more details. +After=session-c1.scope + +OnFailure=getty@tty1.service + +# Prevent starting on systems without virtual consoles +ConditionPathExists=/dev/tty0 + +[Service] +ExecStartPre=+modprobe -r rockchip_ebc +ExecStartPre=+modprobe rockchip_ebc +ExecStart=tinydm-run-session +User=10000 +Group=10000 +PAMName=login +WorkingDirectory=~ +Restart=always +RestartSec=1s + +# A virtual terminal is needed. +TTYPath=/dev/tty1 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# Fail to start if not controlling the tty. +StandardInput=tty-fail +StandardOutput=journal +StandardError=journal + +# Log this user with utmp, letting it show up with commands 'w' and 'who'. +UtmpIdentifier=tty1 +UtmpMode=user + +[Install] +Alias=display-manager.service