Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPOD support #31

Open
claudiuschan opened this issue Jul 6, 2020 · 15 comments
Open

IPOD support #31

claudiuschan opened this issue Jul 6, 2020 · 15 comments

Comments

@claudiuschan
Copy link

Hi guys,
I can't see/manage my [ipod video gen 5] in the rhythmbox3 flatpak version.
I can manage my ipod via the rhythmbox3 via the usual dnf installation. I am using Fedora 32 x64 on a x1 carbon gen 6.

I not sure how can I troubleshooting, if you guys need any logs/debug do let me know. I can test and get back.

@hadess
Copy link
Collaborator

hadess commented Jul 6, 2020

There's no support for that yet. Somebody would need to do the research and the work to set that up.

@claudiuschan
Copy link
Author

Thank @hadess for the confirmation :) Since I am not developer. I will use the system package version then.

@hadess hadess reopened this Jul 8, 2020
@hadess
Copy link
Collaborator

hadess commented Jul 8, 2020

I'll reopen so it doesn't fall off the TODO list.

@crvigh
Copy link

crvigh commented Sep 3, 2020

I am working on getting Rhythmbox to run in gnome-nightly ( https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/81 ). All plugins which don't need device support work fine. The last phase is to get the device plugins ( iPod / MTP / Android ) to work in flatpak environment.

But currently, there are issues with libgpod install as below:

make[1]: Entering directory '/run/build/libgpod/tools'
make[2]: Entering directory '/run/build/libgpod/tools'
 /usr/bin/mkdir -p '/app/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c ipod-read-sysinfo-extended '/app/bin'
libtool: install: /usr/bin/install -c .libs/ipod-read-sysinfo-extended /app/bin/ipod-read-sysinfo-extended
 /usr/bin/mkdir -p '/lib/udev'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c ipod-set-info '/lib/udev'
libtool: install: /usr/bin/install -c .libs/ipod-set-info /lib/udev/ipod-set-info

/usr/bin/install: cannot create regular file '/lib/udev/ipod-set-info': Read-only file system

make[2]: *** [Makefile:735: install-libudevPROGRAMS] Error 1
make[2]: Leaving directory '/run/build/libgpod/tools'
make[1]: *** [Makefile:1407: install-am] Error 2
make[1]: Leaving directory '/run/build/libgpod/tools'
make: *** [Makefile:557: install-recursive] Error 1
Error: module libgpod: Child process exited with code 2

@hadess does this have something to do with flatpak/flatpak#961 ?

@hadess
Copy link
Collaborator

hadess commented Sep 3, 2020

@hadess does this have something to do with flatpak/flatpak#961 ?

No. If this helper does something useful, it needs to either move to systemd proper, or what it does needs to be reworked. A Flatpak package can't install helpers that run as root, plain and simple.

@crvigh
Copy link

crvigh commented Sep 3, 2020

No. If this helper does something useful, it needs to either move to systemd proper, or what it does needs to be reworked. A Flatpak package can't install helpers that run as root, plain and simple.

Okay. Thanks.

I am facing some issues with gudev in flatpak. I used gudev from "shared-modules/gudev/gudev.json" and "--device=all" in "finish-args". With this g_udev_device_get_property_keys () only returns a small subset of device properties for a USB device, as below:

[BUSNUM] -> [003]
[DEVNAME] -> [/dev/bus/usb/003/053]
[DEVNUM] -> [053]
[DEVPATH] -> [/devices/pci0000:00/0000:00:1a.7/usb3/3-1/3-1.3/3-1.3.2]
[DEVTYPE] -> [usb_device]
[DRIVER] -> [usb]
[MAJOR] -> [189]
[MINOR] -> [308]
[PRODUCT] -> [4e8/6860/c00]
[SUBSYSTEM] -> [usb]
[TYPE] -> [0/0/0]

Rhythmbox depends on ID_VENDOR / ID_MODEL properties which are missing. All properties are listed for the same USB device in non-flatpak environment.

Am I missing something here ?

@hadess
Copy link
Collaborator

hadess commented Sep 3, 2020

Am I missing something here ?

Yes. There's no udev access inside the Flatpak. Even if you install a udev library, it won't be able to talk to the daemon. That's on purpose. You'll need to find a different way. That's why it's hard, and that's why it wasn't done yet.

@crvigh
Copy link

crvigh commented Sep 4, 2020

You'll need to find a different way.

Any pointers would be helpful.

Also, will this "different way" code changes work for both flatpak and non-flatpak environments, or does it have to be different code paths for both environments.

@hadess
Copy link
Collaborator

hadess commented Sep 4, 2020

I don't have any pointers. I'd need to spend a significant amount of time trying to figure that out, time which I don't have right now.

@crvigh
Copy link

crvigh commented Sep 5, 2020

I don't have any pointers. I'd need to spend a significant amount of time trying to figure that out, time which I don't have right now.

Okay.

@crvigh
Copy link

crvigh commented Sep 8, 2020

  1. I was able to get Audio CD and iPod plugins work with the following changes.
--- a/flatpak/org.gnome.Rhythmbox3.Devel.json
+++ b/flatpak/org.gnome.Rhythmbox3.Devel.json
@@ -50,9 +50,7 @@
         /* DAAP broadcast and discovery */
         "--system-talk-name=org.freedesktop.Avahi",
         /* totem-pl-parser http support, for podcasts and streaming */
-        "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
-        /* See flathub org.gnome.Rhythmbox3 issue #16 */
-        "--env=GIO_USE_VOLUME_MONITOR=unix"
+        "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*"
     ],
     "build-options" : {
         "cflags": "-O2 -g",
  1. Android plugin still has issues, as mentioned above, but Shotwell gnome-nightly flatpak seems to load my Samsung Galaxy S10 phone, so might be worth looking into it.

@hadess
Copy link
Collaborator

hadess commented Sep 9, 2020

I was able to get Audio CD and iPod plugins work with the following changes.

We can't make those changes, because they'd break people's libraries:
https://gitlab.gnome.org/GNOME/rhythmbox/issues/1689

@crvigh
Copy link

crvigh commented Sep 9, 2020

My main focus is to get Android devices working in flatpak env. Other devices are low priority for the moment.

This is to address bugs like "My android phone doesn't work with Rhythmbox".

https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1151#note_568156
https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1729

So, we can make a fix, and ask them to update their flatpak to quickly close issues.

https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1801 is directed towards that, if nothing else works.

@hadess
Copy link
Collaborator

hadess commented Sep 9, 2020

The changes to "unbreak" the Android devices break people's libraries. So we're not going to merge that.

@crvigh
Copy link

crvigh commented Sep 9, 2020

Android never works with the above patch. What I meant was when you get a chance to look into this issue, it would be fine even if we can get Android to work in flatpak, without breaking the 1689 issue.

Others devices are low priority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants