Package Details: streamdeck-ui 4.1.3-1

Git Clone URL: https://aur.archlinux.org/streamdeck-ui.git (read-only, click to copy)
Package Base: streamdeck-ui
Description: A Linux compatible UI for the Elgato Stream Deck
Upstream URL: https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/
Keywords: deck elgato streamdeck streamer streaming
Licenses: MIT
Provides: streamdeck-ui
Submitter: GI_Jack
Maintainer: dhtseany
Last Packager: dhtseany
Votes: 9
Popularity: 0.23
First Submitted: 2021-05-14 15:27 (UTC)
Last Updated: 2024-07-23 14:37 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 Next › Last »

oxygala commented on 2023-08-14 08:52 (UTC)

needs python-xcffib as a dependency.

coolapso commented on 2023-07-31 19:28 (UTC)

@dhtseany tks a lot!

All seems to work like a charm! Just let me know if you ever need something from the repository side.

dhtseany commented on 2023-07-31 19:15 (UTC) (edited on 2023-07-31 19:15 (UTC) by dhtseany)

I have shifted this package base over to the newly forked project that intends to continue active development of this app.

As always remember that this is the installation method that does not rely on pip and any support provided here is package-level and system-level only.

Please remember to cleanbuild everything to make sure that all of your packages are all kept up to date with the latest python versions, I recommend using an app like rebuild-detector to be notified during updates if anything needs to be rebuilt.

Let me know if there's any upgrading issues and remember to remove python-pillow from your blacklist conf if you chose to go that route as the app has been patched to work with python-pillow 10.

danievdm commented on 2023-07-29 10:09 (UTC)

Looks like our Pillow problem will be resolved now if this package is switched to the new fork at https://github.com/streamdeck-linux-gui/streamdeck-linux-gui. The release has just been published to resolve it. The original project at https://timothycrosley.github.io/streamdeck-ui/ has stopped being maintained so the fork should be 100% compatible.

coolapso commented on 2023-07-28 20:41 (UTC)

@dhtseany v3.0.1 with the python pillow patch has been released.

dhtseany commented on 2023-07-27 10:40 (UTC) (edited on 2023-07-27 10:40 (UTC) by dhtseany)

Hi @4s3ti! See my comment here. I'll try to manually patch this package today time permitting (I already have a high work load today) and once I see the details on the new repo I'll shift the package over, assuming Tim doesn't reappear to help calm the masses.

Edit: Also my email addy is in the PKGBUILD.

coolapso commented on 2023-07-27 09:28 (UTC)

hi @dhtseany where can I get in contact with you?

upstream seems to be abandoned and unmaintained. I am forking it to keep it at least on a maintained and healthy state. The repository is pretty much ready and a new pip package has also been published.

The goal is to have the fix for python-pillow released asap, and then continue with the development of the application.

would you like to move the upstream of this aur package there or should another package be created?

feel free to reach me out so we can have a smooth transition, and keep the application functional for everyone using it.

glledo commented on 2023-07-14 09:41 (UTC)

Unrelated to the previous patch, I've added a service file to handle (or workaround) suspend/resume. Please feel free to take it if you find it would be useful. Disclaimer: I'm not sure how "correct" is to restart a systemd service within a script that systemd launches...

commit e7829236b1e0bb39713da315d1cda14216d9e027
Author: Gerard Lledó <gerard.lledo@gmail.com>
Date:   Fri Jul 14 12:17:42 2023 +0300

    Add a service to handle suspend cycles

    I do not know what component is to blame here, but streamdeck-ui does
    not work after a suspend cycle.  The naive workaround implemented here
    makes sure that the usb device gets resetted when the system wakes up.

    Note that you need to manually enable the service and tune your sudoers
    so that your user can run usbreset.  See the script for details.

diff --git a/PKGBUILD b/PKGBUILD
index fdd86df..d4d002b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@ pkgdesc="A Linux compatible UI for the Elgato Stream Deck"
 arch=('any')
 url="https://timothycrosley.github.io/streamdeck-ui/"
 license=('MIT')
-depends=('python-pillow' 'python-hidapi' 'pyside6' 'python-pynput' 'python-elgato-streamdeck' 'python-xlib' 'python-filetype' 'python-cairosvg')
+depends=('python-pillow' 'python-hidapi' 'pyside6' 'python-pynput' 'python-elgato-streamdeck' 'python-xlib' 'python-filetype' 'python-cairosvg' 'usbutils')
 makedepends=('git' 'python-build' 'python-installer' 'python-wheel' 'python-poetry')
 provides=('streamdeck-ui')
 conflicts=('streamdeck-ui-git')
@@ -18,7 +18,9 @@ source=("${pkgname}-${pkgver}.tar.gz::https://github.com/timothycrosley/streamde
         "60-streamdeck.rules"
         "streamdeck-ui.desktop"
         "elgato.png"
-        "streamdeck.service")
+        "streamdeck.service"
+        "streamdeck-resume.sh"
+        "streamdeck-resume.service")

 # Upstream tar.gz
 # 60-streamdeck.rules
@@ -30,7 +32,9 @@ sha512sums=('4778fec785dad34521f881df223701193f382715d497ee3023a1b782ceb78278c2a
             '690aa38c549b09c7c49d99e47dea74fc47d778881ce1947d9da37f6d1d94f8745c4724c23a702167e6d714ea9b4fd13a4414eb6945b17728eef9b5319b9a6c0f'
             '963960c17336b4143ddd3560248dcd0484978b821c860b8d8f30a7ee4e623289aed96c375fe7a34177156d7b6c6296008307a4ca24ffe3972b1e787c14891a6f'
             '1145e8cdebdf950090d0833e40984cd402345d559c9faf8aab89f5ec4db5d5de685b68418faf39288f08e9a642fcf1cc53a719b1b11c8ebfac6dd8b42d4898d2'
-            '56edf11da7a42574e5545362838ae202e636f92e175dbf7e8467840086065995bca25904d539002d78a276330f955c91d5230335c46ec02d30176dac4474cb19')
+            '56edf11da7a42574e5545362838ae202e636f92e175dbf7e8467840086065995bca25904d539002d78a276330f955c91d5230335c46ec02d30176dac4474cb19'
+            '8274316242709ab47db17dcbc94ae54f4baa113101a5d41d6297e0120618b8156b9c8ac6beeba057f29328b18fa796e2ac29404680e2e37388b2043712466e4d'
+            'a0332f40d5e091702c93a25bff2e64833977b3be4182610f2573981acf653570d938dc86079fb7957f95c67b3e6dc8a2facd074b44036963a6f38bb36df25e89')

 build() {
   cd "${pkgname}-${pkgsha1}"
@@ -44,5 +48,7 @@ package() {
   install -Dm 644 "${srcdir}/streamdeck-ui.desktop" "${pkgdir}/usr/share/applications/streamdeck-ui.desktop"
   install -Dm 644 "${srcdir}/elgato.png" "${pkgdir}/usr/share/pixmaps/elgato.png"
   install -Dm 644 "${srcdir}/streamdeck.service" "${pkgdir}/etc/systemd/user/streamdeck.service"
+  install -Dm 644 "${srcdir}/streamdeck-resume.service" "${pkgdir}/etc/systemd/user/streamdeck-resume.service"
+  install -Dm 755 "${srcdir}/streamdeck-resume.sh" "${pkgdir}/usr/bin/streamdeck-resume"
   install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
 }
diff --git a/streamdeck-resume.service b/streamdeck-resume.service
new file mode 100644
index 0000000..b2942ba
--- /dev/null
+++ b/streamdeck-resume.service
@@ -0,0 +1,8 @@
+[Unit]
+After=suspend.target
+[Service]
+Type=simple
+StandardOutput=syslog
+ExecStart=/usr/bin/streamdeck-resume
+[Install]
+WantedBy=suspend.target
diff --git a/streamdeck-resume.sh b/streamdeck-resume.sh
new file mode 100644
index 0000000..9212c97
--- /dev/null
+++ b/streamdeck-resume.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+# For whatever reason, streamdeck does not survive a suspend cycle.  Resetting
+# the usb device helps.  Keep in mind that this requires password-less sudo for
+# usbreset.  For instance, I use this on my sudoers file:
+#   %wheel ALL=(ALL) NOPASSWD: /usr/bin/usbreset
+
+# If streamdeck wasn't running, no need to do anything
+systemctl --user --quiet is-active streamdeck || exit 0
+
+systemctl --user stop streamdeck
+for usbdev in /sys/bus/usb/devices/* ; do
+    mfile="${usbdev}/manufacturer"
+    if [ -e "$mfile" ] && [ "$(cat "$mfile")" = "Elgato" ] ; then
+        usbid="$(cat "${usbdev}/idVendor"):$(cat "${usbdev}/idProduct")"
+        sudo usbreset "$usbid"
+    fi
+done
+systemctl --user start streamdeck

glledo commented on 2023-07-14 08:29 (UTC)

So I couldn't wait and just modified the PKGBUILD to use the PR branch including the fix :D. Of course, it is better if you wait for upstream to merge it.

diff --git a/PKGBUILD b/PKGBUILD
index feba3e8..fdd86df 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,8 +3,9 @@
 # Original: hexptr <hexptr@protonmail.com>

 pkgname=streamdeck-ui
-pkgver=2.0.15
+pkgver=2.0.15.11.g2f4471d
 pkgrel=2
+pkgsha1=2f4471d3f35376d2e9ce934b1272b979f46fc0c2
 pkgdesc="A Linux compatible UI for the Elgato Stream Deck"
 arch=('any')
 url="https://timothycrosley.github.io/streamdeck-ui/"
@@ -13,7 +14,7 @@ depends=('python-pillow' 'python-hidapi' 'pyside6' 'python-pynput' 'python-elgat
 makedepends=('git' 'python-build' 'python-installer' 'python-wheel' 'python-poetry')
 provides=('streamdeck-ui')
 conflicts=('streamdeck-ui-git')
-source=("${pkgname}-${pkgver}.tar.gz::https://github.com/timothycrosley/streamdeck-ui/archive/refs/tags/v${pkgver}.tar.gz"
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/timothycrosley/streamdeck-ui/archive/${pkgsha1}.tar.gz"
         "60-streamdeck.rules"
         "streamdeck-ui.desktop"
         "elgato.png"
@@ -25,19 +26,19 @@ source=("${pkgname}-${pkgver}.tar.gz::https://github.com/timothycrosley/streamde
 # elgato.png
 # streamdeck.service

-sha512sums=('5f931a968c68b88a38fc44c3d2310fa73cb9a01c67f289dea39214e6176aad9b004ad6c87f63da41cccfa9f7f60f2f6022e4376ebe2a4cac7721cf9b55b079e0'
+sha512sums=('4778fec785dad34521f881df223701193f382715d497ee3023a1b782ceb78278c2af9e511cbd05783a2943c94fbb0772ca2ac6151d90403d5029af4c6916e6b8'
             '690aa38c549b09c7c49d99e47dea74fc47d778881ce1947d9da37f6d1d94f8745c4724c23a702167e6d714ea9b4fd13a4414eb6945b17728eef9b5319b9a6c0f'
             '963960c17336b4143ddd3560248dcd0484978b821c860b8d8f30a7ee4e623289aed96c375fe7a34177156d7b6c6296008307a4ca24ffe3972b1e787c14891a6f'
             '1145e8cdebdf950090d0833e40984cd402345d559c9faf8aab89f5ec4db5d5de685b68418faf39288f08e9a642fcf1cc53a719b1b11c8ebfac6dd8b42d4898d2'
             '56edf11da7a42574e5545362838ae202e636f92e175dbf7e8467840086065995bca25904d539002d78a276330f955c91d5230335c46ec02d30176dac4474cb19')

 build() {
-  cd "${pkgname}-${pkgver}"
+  cd "${pkgname}-${pkgsha1}"
   DISABLE_CONAN=ON python -m build --wheel --no-isolation --skip-dependency-check
 }

 package() {
-  cd "${pkgname}-${pkgver}"
+  cd "${pkgname}-${pkgsha1}"
   python -m installer --destdir="$pkgdir" dist/*.whl
   install -Dm 644 "${srcdir}/60-streamdeck.rules" "${pkgdir}/usr/lib/udev/rules.d/60-streamdeck.rules"
   install -Dm 644 "${srcdir}/streamdeck-ui.desktop" "${pkgdir}/usr/share/applications/streamdeck-ui.desktop"