UnitedRPMs / acestream-launcher

Ace Stream Launcher
0 stars 0 forks source link

Launching from Google Chrome causes mpv to crash #3

Open aleasto opened 2 years ago

aleasto commented 2 years ago

mpv: symbol lookup error: mpv: undefined symbol: vkCreateWaylandSurfaceKHR

Running xdg-open directly from terminal works fine. Launching from firefox works fine. What is chrome doing?

sergiomb2 commented 2 years ago

in what version of Fedora ? is this problem https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/HSRJZ4TMBW2F5U2MGOMVWCFBVJ2NURVO/ ?

sergiomb2 commented 2 years ago

What is chrome doing?

I also had some issues with Chrome ...

aleasto commented 2 years ago

Fedora 35.

Though some packages were never rebuilt for fc35:

acestream-engine-3.1.49-6.fc34.x86_64
openjpeg-libs-1.5.1-29.fc34.x86_64
python2-setuptools-41.2.0-4.fc34.noarch

I don't know if this used to work in previous fedora versions.

The error also happens in an x11 environment, so i'll update the title.

aleasto commented 2 years ago

Sorry, this looks to be caused by rpmfusion build of mpv. Switching to unitedrpm build downgraded some dependencies but fixed the crash.

aleasto commented 2 years ago

libvulkan.so.1 => /opt/google/chrome/libvulkan.so.1 (0x00007f65435b2000)

Launching from chrome is making it use their libvulkan. No clue why it works with unitedrpm mpv. In both cases readelf -s shows:

Num:    Value          Size Type    Bind   Vis      Ndx Name
550: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND vkCreateWaylandSurfaceKHR
2-4601 commented 2 years ago

I've never used this program but found out this issue through a Google search.

In my case I'm using https://github.com/SanderRonde/CustomRightClickMenu to open mpv via Google Chrome and I'm getting the same error:

mpv: symbol lookup error: mpv: undefined symbol: vkCreateWaylandSurfaceKHR

I'm using a Google Chrome package from the AUR which is basically the Debian package that Google maintains (with a few Arch Linux specific patches). The .deb comes with Google's own version of libvulkan.so.1 which does not have vkCreateWaylandSurfaceKHR (as described in the comment above). I was able to solve this by linking the Google supplied libvulkan.so.1 to the Arch supplied one (provided by vulkan-icd-loader). This solved the issue for me.

Edit: See https://github.com/UnitedRPMs/acestream-launcher/issues/3#issuecomment-993775576 for a better solution.

sergiomb2 commented 2 years ago

ah or just remove /opt/google/chrome-beta/libvulkan.so.1 , worked for me .

Anyway I don't use wayland

aleasto commented 2 years ago

Yeah i have proposed this supid fix upstream: https://github.com/jonian/acestream-launcher/pull/44 I don't know if you're interested in picking it up for fedora.

2-4601 commented 2 years ago

I took a look at your PR and it inspired me to create a more maintainable solution for my use case: I created a wrapper shell script for mpv, which simply unsets LD_LIBRARY_PATH and then launches mpv.

miXwui commented 2 years ago

I don't use acestream or whatever this repo is for, but have the same issue trying to launch a video in mpv from Gnome Nautilus on Sway, and it seems to be a Wayland/Vulkan issue? I got here from a web search so leaving this in case it helps someone else.

I got inspiration from this thread, thanks!

Error in journal:

 mpv: symbol lookup error: mpv: undefined symbol: vkCreateWaylandSurfaceKHR

Setting/clearing LD_LIBRARY_PATH= in /usr/share/applications/mpv.desktop fixed the issue for me:

...
Exec=env LD_LIBRARY_PATH= mpv --player-operation-mode=pseudo-gui -- %U
...