# AppImage for most Linux distributions



## probono (Jan 29, 2017)

AppImage http://appimage.org/ is a format for bundling Linux applications so that they can run on a wide variety of Linux distributions. Providing an OBS Studio AppImage would have, among others, these advantages:

Works for most Linux distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
One app = one file = super simple for users: just download one AppImage file, make it executable (http://discourse.appimage.org/t/how-to-make-an-appimage-executable/80), and run
No unpacking or installation necessary
No root needed
No system libraries changed
Just one format for all major distributions
Works out of the box, no installation of runtimes needed
Optional(!) desktop integration with `appimaged`
Binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
Can GPG2-sign your AppImages (inside the file)
Runs from Live ISOs
Here is an overview of projects that are already distributing upstream-provided, official AppImages:
https://github.com/probonopd/AppImageKit/wiki/AppImages

I have generated an *experimental OBS Studio AppImage*:
https://bintray.com/probono/AppImages/OBS/_latestVersion#files
Just download the AppImage file, set the executable bit, and run.
Please let me know how it goes, it is expected that some fine-tuning may still be needed.

This is based on the binaries in the trusty ppa, and has been converted using these settings:
https://github.com/probonopd/AppImages/blob/master/recipes/meta/OBS-Studio.yml

Do you think this would be useful?
I'd be happy to help producing an official OBS Studio AppImage.


----------



## LinuxCammer (Jan 31, 2017)

I love the idea probono.  I will test it out on KDE Neon later today.


----------



## Felipe Vieira (Jan 31, 2017)

I have tried yout AppImage version on openSUSE 42.2, and it failed to start:



```
felipe@openSUSE:~/Downloads> ./OBS-0.16.2.1.glibc2.14-x86_64.AppImage
./bin//obs.wrapper: line 121:  7497 Abortado                (imagem do núcleo gravada)LD_LIBRARY_PATH="" zenity --question --title="$TITLE" --text="$TEXT" 2> /dev/null
./bin//obs.wrapper: line 121:  7502 Abortado                (imagem do núcleo gravada)LD_LIBRARY_PATH="" zenity --question --title="$TITLE" --text="$TEXT" 2> /dev/null
/tmp/.mount_ft7906/usr/bin/obs: /usr/lib64/libcurl.so.4: no version information available (required by /tmp/.mount_ft7906/usr/bin/obs)
/tmp/.mount_ft7906/usr/bin/obs: /lib64/libcrypto.so.1.0.0: no version information available (required by ./lib/x86_64-linux-gnu/libssh.so.4)
/tmp/.mount_ft7906/usr/bin/obs: symbol lookup error: /usr/lib64/libpangoft2-1.0.so.0: undefined symbol: hb_buffer_set_cluster_level
felipe@openSUSE:~/Downloads>
```


However, AppImage of OBS looks a great idea. I'm having some trouble with OBS on Linux, and i believe AppImage/Flatpak/Snap editions are the future for stand-alone apps.


----------



## LinuxCammer (Feb 1, 2017)

LinuxCammer said:


> I love the idea probono.  I will test it out on KDE Neon later today.



It worked great for me with KDE Neon.  I think this would be great to use as a way to test the newest unreleased versions of OBS.  I don't know how much work it was for you to package this together, but I'd be happy to test OBS beta versions as an appimage.

Thanks for your work Probono.


----------



## probono (Feb 6, 2017)

Thanks Felipe Vieira for reporting this. Added libpangocairo-1.0-0 and libpangoft2-1.0-0 to the AppImage in an effort to solve this. Please let me know if it does.

Possibly I also need to bundle libcurl.so.4...


----------



## probono (Feb 7, 2017)

Fixed, now including libcurl.so.4 too.


----------



## bradjensen68 (Feb 8, 2017)

I am confused as to how this works.  I have dowloaded the package and set it to be executable.  When I click on it, it asks me which application I want to use to open it.


----------



## probono (Feb 11, 2017)

That is strange. If the executable bit it set, then it should execute as an application. Which distribution are you using? 64-bit?


----------



## tuompe (Feb 14, 2017)

Hi probono, i installed obs appimage but when i try to open the app, nothing happens, what do i do? Please help D:


----------



## tuompe (Feb 14, 2017)

It's weird because all the other appimages do work


----------



## ale (Jan 5, 2018)

the appimage -- as downloaded from the link above -- does work for me on debian testing...


----------



## probono (Dec 2, 2018)

The AppImage linked above bundles some libraries that should not be bundled. Deleting those makes it work (I have successfully tested that on Xubuntu 16.04). However, I cannot seem to generate and upload a corrected AppImage since I am now getting "broken packages" when trying to use the Ubuntu trusty (14.04) PPA, the binaries of which I use as the ingredients for putting together the contents of the AppImage.

https://travis-ci.org/AppImage/AppImages/builds/462407292#L854-L1027

Any clues?

Also, are the OBS developers interested in collaborating on making a "proper", officially-supported AppImage?


----------



## pkv (Dec 2, 2018)

@probono take it to obs discord #dev channel; there might be interest in that


----------



## probono (Dec 2, 2018)

In the meantime, I have ditched the idea of converting the deb from the ppa, and have sent a pull request that will produce and upload a continuous AppImage for each Travis CI build:

https://github.com/obsproject/obs-studio/pull/1565






Some initial glitches are expected as the AppImage has not been tested on many systems by me so far, but I think it should be relatively easy now to fix anything that might remain - especially with the help of some experienced OBS users and/or developers.


----------



## probono (Jun 15, 2019)

I have sent a new pull request, this time based on xenial:
https://github.com/obsproject/obs-studio/pull/1926

An AppImage for testing can be downloaded at:
https://github.com/probonopd/obs-studio/releases/continuous


----------



## trouserdog (Jun 20, 2019)

I am confused as to how this works. I have dowloaded the package and set it to be executable. When I click on it, it asks me which application I want to use to open it.


----------



## probono (Jul 20, 2019)

What happens if you do:


```
# Download
wget -c https://github.com/$(wget -q https://github.com/probonopd/obs-studio/releases -O - | grep "OBS_Studio.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)

# Set the executable bit (can also do that in the GUI)
chmod +x OBS_Studio-*-x86_64.AppImage

# Set the executable bit (can also just double-click in the GUI)
./OBS_Studio*-x86_64.AppImage
```


----------



## ton848 (Jul 29, 2019)

I was searching for an appimage/ flatpak for OBS. So nice you're working on this. I've tried it on my centos 7 system but it doesn't launch. I'm getting this:

 ./OBS_Studio-987ccdd-x86_64.AppImage 
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./bin/obs)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./bin/obs)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libobs-frontend-api.so.0)
./bin/obs: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libQt5Core.so.5)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libsnappy.so.1)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libopenmpt.so.0)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libopenmpt.so.0)
./bin/obs: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libchromaprint.so.0)
./bin/obs: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libicui18n.so.55)
./bin/obs: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libicuuc.so.55)
./bin/obs: /lib64/libgpg-error.so.0: no version information available (required by /tmp/.mount_OBS_StyIJBW5/usr/bin/../lib/libgcrypt.so.20)

Thanks!!


----------



## probono (Jul 30, 2019)

The OBS developers had requested to use Ubuntu xenial rather than Ubuntu trusty for building the AppImage, and as a result the AppImage will need newer versions of those libraries than what comes with your CentOS 7 system. Please try on a later system if you cannot update your libstdc++.so.6.


----------



## probono (Dec 8, 2019)

Icons should be fixed now. Please try and give feedback.


```
# Download
wget -c https://github.com/$(wget -q https://github.com/probonopd/obs-studio/releases -O - | grep "OBS_Studio.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)

# Set the executable bit (can also do that in the GUI)
chmod +x OBS_Studio-*-x86_64.AppImage

# Set the executable bit (can also just double-click in the GUI)
./OBS_Studio*-x86_64.AppImage
```


----------



## universallp (Dec 9, 2019)

Just tested it on Arch Linux, and it runs fine. Even loads plugins out of the config directory.
Two four things I noticed though:

The font is smaller than in the version installed over the package manager


Spoiler: Screenshot










The overflow.png can't be found
`01:52:38 PM.896: Failed to open file 'share/obs/obs-studio/images/overflow.png': Protocol not found`

Neither the Image source, nor the Slideshow work (they can't find the files, even though they're there)
`01:52:54 PM.065: gs_image_file_init_internal: Failed to load file '/home/usr/cloud/wp/irl/indoors/1532257152679.jpg'
01:52:54 PM.065: [image_source: '(null)'] failed to load texture '/home/usr/cloud/wp/irl/indoors/1532257152679.jpg'`

Maybe some of the issues are because of the changes since the last stable release.


----------

