Syncplay / syncplay

Client/server to synchronize media playback on mpv/VLC/MPC-HC/MPC-BE on many computers
http://syncplay.pl/
Apache License 2.0
2.09k stars 213 forks source link

GUI Does not appear on Arch #688

Open LeKite opened 1 month ago

LeKite commented 1 month ago

Version and platform:

Additional info I've read here and there that it is an issue with python.. but it should be fixed already. Syncplay worked fine for months for me, some day probably due to pyside2 it stopped opening the GUI. What should I do? I expected it to work since I have latest syncplay version... I've already tried removing it and reinstalling with no success.

daniel-123 commented 1 month ago

I'm looking at package from official Arch repo - this is what you installed?

I would have three main questions:

LeKite commented 1 month ago

I'm looking at package from official Arch repo - this is what you installed?

I would have three main questions:

  • Does it say anything in the standard output when you try to run it from command line?

  • Does it work normally with --no-gui switch? This will tell you whether there is something broken with the GUI and associated libraries or if it's something more fundamental.

  • Do you have pyside6 installed along with other optional dependencies? Not sure how those are treated by default on Arch.

Actually, thanks for answering, I realized I missed pyside6. Why doesn't it get shipped with dependencies?

daniel-123 commented 1 month ago

Why doesn't it get shipped with dependencies?

That's a question purely to the maintainer of the Arch package - they have decided that it's an optional dependency. Packages that are in repositories of various distributions aren't really controlled directly by Syncplay devs.

From Syncplay side - technically GUI is optional, even though it's basically the default.

As a reference - on Debian and its derivatives, the Syncplay package does straight up require GUI components. Though given respective philosophies of Debian and Arch - their respective approaches to Syncplay dependencies make perfect sense IMHO.

LeKite commented 1 month ago

I can see what you're saying, but every application that has a gui ships it, so why not do it for Syncplay? I understand that it's up to the package maintainer and yeah well I wish they added the dependency to the package. Like it was! Because when I first put syncplay on my system I had 0 issues with the GUI.

FichteFoll commented 1 month ago

pyside6 itself has several dependencies, notably qt6, which you wouldn't need to install if you were just interested in using syncplay as a standalone without a GUI. Thus, having this as an optional dependency certainly makes sense.

Besides, there is also software with multiple separate GUIs, such as trackma providing an interface for qt, gtk, ncurses and a CLI and you'd rarely use both qt and gtk.

This wasn't a recent change, however, since pyside2 has also been an optional dependency 2 years ago. Maybe something else on your system required it and thus the switch to pyside6 (still an optdep) caused the problem since it's not required by something else anymore (because I ran into it as well).

sarahzrf commented 1 week ago

I had this same issue just now and I discovered by attempting to launch syncplay from a terminal that the failure to open a GUI is in fact a segfault. That seems like a bug to me. At a minimum, I would expect software run in a mode that requires missing optional dependencies to display some kind of legible error message about the absent dependencies, not simply close without warning. Even if there were a short message on stdout instead of a segfault, though, I still think this is terrible UX; many syncplay users probably wouldn't even think to launch software that they think of as GUI-based from a terminal.