ivan-hc / OBS-Studio-appimage

OBS Studio AppImage built on top of JuNest, the lightweight Arch Linux based distro that runs on top of any other Linux distro.
https://github.com/ivan-hc/ArchImage
21 stars 3 forks source link

User plugins not being picked up. #9

Closed Samueru-sama closed 6 months ago

Samueru-sama commented 6 months ago

I have an issue that when using this appimage, my user plugins at $XDG_CONFIG_HOME/obs-studio/plugins are not available.

I already tried making a ~/.config symlink to XDG_CONFIG_HOME just in case that was the issue but it wasn't that.

If I extract the appimage and run the AppRun script the issue is still there, however if I instead run the binary from the appimage the issue doesn't happen and the plugins are being picked up.

ivan-hc commented 6 months ago

I have an issue that when using this appimage, my user plugins at $XDG_CONFIG_HOME/obs-studio/plugins are not available.

I already tried making a ~/.config symlink to XDG_CONFIG_HOME just in case that was the issue but it wasn't that.

this is an Archimage, i.e. an Arch Linux container (JuNest) into an AppImage, so it works isolated from the system. I can try to built these plugins into the app to made them work... but maybe there is a package that can manage them and that I've not included. I'm not an expert of OBS Studio, nor I know how user's plugins work.

If I extract the appimage and run the AppRun script the issue is still there, however if I instead run the binary from the appimage the issue doesn't happen and the plugins are being picked up.

do you mean the /usr/bin/obs binary? Its strange, maybe you have already another OBS Studio installed on your host, an extracted AppImage only rely on its own files and libraries from the AppRun.

Anyway, try to execute OBS AppImage using LD_DEBUG=libs and see if some libraries are missing when you try to load plugins. I should include them.

Samueru-sama commented 6 months ago

I have an issue that when using this appimage, my user plugins at $XDG_CONFIG_HOME/obs-studio/plugins are not available. I already tried making a ~/.config symlink to XDG_CONFIG_HOME just in case that was the issue but it wasn't that.

this is an Archimage, i.e. an Arch Linux container (JuNest) into an AppImage, so it works isolated from the system. I can try to built these plugins into the app to made them work... but maybe there is a package that can manage them and that I've not included. I'm not an expert of OBS Studio, nor I know how user's plugins work.

If I extract the appimage and run the AppRun script the issue is still there, however if I instead run the binary from the appimage the issue doesn't happen and the plugins are being picked up.

do you mean the /usr/bin/obs binary? Its strange, maybe you have already another OBS Studio installed on your host, an extracted AppImage only rely on its own files and libraries from the AppRun.

Anyway, try to execute OBS AppImage using LD_DEBUG=libs and see if some libraries are missing when you try to load plugins. I should include them.

Yeah the issue is likely a missing lib that the plugin needs. I notice that OBS is reading my XDG_CONFIG_HOME, the issue is just that the plugins in there are not loading likely because of the missing lib.

However I have this on my zshenv:

export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH

Which with the regular obs package is enough to make it pick up the library (the libs are libuihook.so.1 and libuihook.so.1.2.0).

I tested dropping those libs in the /usr/lib and /usr/lib/obs-studio dir in the appimage along with also the input-overlay lib but that didn't fix the issue when running the AppRun script.

ivan-hc commented 6 months ago

I don't think that to drag/drop these libraries is the correct way to made them work into an Arch Linux environment... so I can try to include them using the AUR package and let the script check for additional libraries to include https://aur.archlinux.org/packages/libuiohook

ivan-hc commented 6 months ago

@Samueru-sama Wait until the end of this workflow run https://github.com/ivan-hc/OBS-Studio-appimage/actions/runs/8484708257 and then download the new release from https://github.com/ivan-hc/OBS-Studio-appimage/releases/tag/continuous

ivan-hc commented 6 months ago

Its ready, download it now and let me know https://github.com/ivan-hc/OBS-Studio-appimage/releases/download/continuous/OBS-Studio_30.1.0-1-archimage3.4-x86_64.AppImage is just 2 MB bigger

Samueru-sama commented 6 months ago

Its ready, download it now and let me know https://github.com/ivan-hc/OBS-Studio-appimage/releases/download/continuous/OBS-Studio_30.1.0-1-archimage3.4-x86_64.AppImage is just 2 MB bigger

It works! Thank you so much!

But I don't think this is the right way to fix this issue, the appimage should look at the libs the user might have installed in $LD_LIBRARY_PATH I don't know. Because plenty of plugins in OBS require libraries and adding every single one that will be needed isn't the right way to approach this.

Thank you so much once again, I really wanted to have OBS as an appimage after I had trouble getting it to work on voidlinux a while ago.

Samueru-sama commented 6 months ago

Its ready, download it now and let me know https://github.com/ivan-hc/OBS-Studio-appimage/releases/download/continuous/OBS-Studio_30.1.0-1-archimage3.4-x86_64.AppImage is just 2 MB bigger

Also something interesting (I'm not asking you to fix this, just something I thought sharing) the fix also introduced a bug that OBS has lol.

https://github.com/obsproject/obs-studio/issues/10450

The older OBS Appimage didn't have this issue, that's interesting that fixing the lib issue also causes the bug that the OBS package has lol.

(Once again I'm not asking you to fix this, just pointing this out lol)

ivan-hc commented 6 months ago

Its ready, download it now and let me know https://github.com/ivan-hc/OBS-Studio-appimage/releases/download/continuous/OBS-Studio_30.1.0-1-archimage3.4-x86_64.AppImage is just 2 MB bigger

It works! Thank you so much!

But I don't think this is the right way to fix this issue, the appimage should look at the libs the user might have installed in $LD_LIBRARY_PATH I don't know. Because plenty of plugins in OBS require libraries and adding every single one that will be needed isn't the right way to approach this.

Thank you so much once again, I really wanted to have OBS as an appimage after I had trouble getting it to work on voidlinux a while ago.

its enough to run the AppImage with LD_DEBUG=libs

however, it seems that LD_LIBRARY_PATH does not affects the Archimage, see https://github.com/ivan-hc/MPV-appimage/issues/13