Openshot-qt: OpenShot-v2.4.2 crashes at startup on Linux Mint 18.1: undefined symbol: drmGetDevices2

Created on 1 Jul 2018  ·  57Comments  ·  Source: OpenShot/openshot-qt

Describe the bug
OpenShot-v2.4.2-x86_64.AppImage fails to start on Linux Mint 18.1

System Details (please complete the following information):

  • Operating System / Distro:
$ cat /proc/version
Linux version 4.4.0-128-generic (buildd@lcy01-amd64-019) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) ) #154-Ubuntu SMP Fri May 25 14:15:18 UTC 2018
$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 18.1 Serena
Release:        18.1
Codename:       serena



md5-44d13dc421932a9a2c563085e577abe0



$  ./OpenShot-v2.4.2-x86_64.AppImage
Loaded modules from current directory: /tmp/.mount_Jp5Fvp/usr/bin
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/cx_Freeze-4.3.4-py3.4-linux-x86_64.egg/cx_Freeze/initscripts/Console.py", line 27, in <module>
  File "openshot_qt/launch.py", line 53, in <module>
    from classes.app import OpenShotApp
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1200, in _load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1129, in _exec
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1471, in exec_module
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 321, in _call_with_frames_removed
  File "/tmp/.mount_Jp5Fvp/usr/bin/classes/app.py", line 34, in <module>
    from PyQt5.QtWidgets import QApplication, QStyleFactory, QMessageBox
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1191, in _load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1161, in _load_backward_compatible
  File "ExtensionLoader_PyQt5_QtWidgets.py", line 22, in <module>
  File "ExtensionLoader_PyQt5_QtWidgets.py", line 14, in __bootstrap__
ImportError: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: undefined symbol: drmGetDevices2

Most helpful comment

In fact, hey, someone hitting this issue: Try this. In a command shell...

$ locate libdrm.so.2 # Assuming your system has an mlocate database, otherwise use /usr/bin/find
[...]
/usr/lib64/libdrm.so.2.4.0
[...]
$ export LD_PRELOAD=/usr/lib64/libdrm.so.2.4.0 # (Use the correct path for your system, obviously)
$ /path/to/OpenShot-v2.4.2-x86_64.AppImage

...That _should_ force OpenShot to load your system libdrm.so.2 instead of the bundled one in the AppImage, which hopefully might fix this issue.

All 57 comments

What does it do if you answer with 'yes'?

Also, perhaps you might want to try out the PPA? The stable one, please. :)

What does it do if you answer with 'yes'?

The same error happened


Also, perhaps you might want to try out the PPA? The stable one, please. :)

The PPA worked, thanks!

You're most welcome. I'll try to see if the AppImage works on my computer (elementary OS 0.4.1: based on Ubuntu 16.04), and see if something can be resolved.

Please do report any issues as they arise. OpenShot is really lacking when it comes to contributors. Perhaps, you, too, could someday join us. :)

Hope you have fun using OpenShot!

Same problem here on Xubuntu 17.10 64-bit:

~
$ ./OpenShot-v2.4.2-x86_64.AppImage
Loaded modules from current directory: /tmp/.mount_WUHSIO/usr/bin
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/cx_Freeze-4.3.4-py3.4-linux-x86_64.egg/cx_Freeze/initscripts/Console.py", line 27, in
File "openshot_qt/launch.py", line 53, in
from classes.app import OpenShotApp
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1200, in _load_unlocked
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1129, in _exec
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1471, in exec_module
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 321, in _call_with_frames_removed
File "/tmp/.mount_WUHSIO/usr/bin/classes/app.py", line 34, in
from PyQt5.QtWidgets import QApplication, QStyleFactory, QMessageBox
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1191, in _load_unlocked
File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1161, in _load_backward_compatible
File "ExtensionLoader_PyQt5_QtWidgets.py", line 22, in
File "ExtensionLoader_PyQt5_QtWidgets.py", line 14, in __bootstrap__
ImportError: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: undefined symbol: drmGetDevices2
~

Same issue on Ubuntu 16.04:

$ ./OpenShot-v2.4.2-x86_64.AppImage 
Loaded modules from current directory: /tmp/.mount_ygtl8c/usr/bin
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/cx_Freeze-4.3.4-py3.4-linux-x86_64.egg/cx_Freeze/initscripts/Console.py", line 27, in <module>
  File "openshot_qt/launch.py", line 53, in <module>
    from classes.app import OpenShotApp
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1200, in _load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1129, in _exec
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1471, in exec_module
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 321, in _call_with_frames_removed
  File "/tmp/.mount_ygtl8c/usr/bin/classes/app.py", line 34, in <module>
    from PyQt5.QtWidgets import QApplication, QStyleFactory, QMessageBox
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2237, in _find_and_load
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 2226, in _find_and_load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1191, in _load_unlocked
  File "/usr/lib/python3.4/importlib/_bootstrap.py", line 1161, in _load_backward_compatible
  File "ExtensionLoader_PyQt5_QtWidgets.py", line 22, in <module>
  File "ExtensionLoader_PyQt5_QtWidgets.py", line 14, in __bootstrap__
ImportError: /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: undefined symbol: drmGetDevices2

Same here on Pop OS! 18.04:

https://paste.ee/p/hrHBs

I have reported the issue to our BDFL - Mr. Jonathan Thomas - and he will be on the case, soon. Please be patient for the time being. I suggest that you use the stable PPA - not the daily one - for the time being. It is known to work.

Hope this helps!

Looking into it now...

What graphics card are you using? Intel/AMD or Nvidia?

For what it's worth, I'm able to run the 2.4.2 AppImage in Ubuntu 16.04 just fine. So, I'm wondering if some environment-related thing is affecting the AppImage?

FYI: I'm going to test Pop 18.04 now

I am on a laptop with Nvidia Optimus hybrid graphics currently running on the Intel chipset. Let me know if I should test using nVidia.

Using an XPS 15 with Nvidia Optimus, also running on the integrated Intel graphics. nvidia-384 package is installed but not currently in use.

Just tested Pop 18.04 and it worked fine.. launched AppImage successfully. Have yet to reproduce the error. @victor-o-silva Can you try the same AppImage again after installing the PPA version?

My card: Intel HD Graphics 4000.

Can you try the same AppImage again after installing the PPA version?

I tried and the error still happens, @jonoomph.

What graphics card are you using? Intel/AMD or Nvidia?

Nvidia GeForce 920m

The 2.4.2 AppImage runs fine for me as well, on Fedora.

Looking at my system libraries vs. the bundled ones, my /usr/lib64/libdrm.so.2 does contain the symbol drmGetDevices2, whereas the AppImage bundled one does not:

$ readelf -s /tmp/.mount_kByOxc/usr/bin/libdrm.so.2|grep -i drmGetDevices 
   141: 00000000000070c0   782 FUNC    GLOBAL DEFAULT   11 drmGetDevices

$ readelf -s /usr/lib64/libdrm.so.2|grep drmGetDevices
   144: 0000000000009260    19 FUNC    GLOBAL DEFAULT   11 drmGetDevices
   201: 0000000000008eb0   937 FUNC    GLOBAL DEFAULT   11 drmGetDevices2

So, I suspect this may again be a library versioning issue, with libdrm.so.2 in the AppImage being out of date, but newer system libraries being pulled in that require that symbol. libGLX.so.1 is not bundled with the AppImage (nor are libGLdispatch.so.0 or libGLX.so.0, also dependencies of PyQt5.QtWidgets.so), so perhaps libdrm.so.2 shouldn't be either. Or it should be updated.

I'm still not 100% clear on why this would be hitting users of Ubuntu derivatives, whose system libdrm.so.2 presumably does also have that symbol present (since their system libGL.so.1 requries it), but my system has no problems. The only clue I can find is that OpenShot _doesn't_ seem to load libdrm.so.2 on my system, so the missing symbol isn't affecting it....

$ pidof launch
20737

$ grep -i libdrm /proc/20737/task/*/maps

$ grep libGL.so.1 /proc/20737/task/*/maps|fmt -w 75 -s
/proc/20737/task/20737/maps:7f7b10308000-7f7b10379000 r-xp 00000000
fd:00 1350705                    /usr/lib64/libGL.so.1.7.0
/proc/20737/task/20737/maps:7f7b10379000-7f7b10578000 ---p 00071000
fd:00 1350705                    /usr/lib64/libGL.so.1.7.0
/proc/20737/task/20737/maps:7f7b10578000-7f7b10592000 r--p 00070000
fd:00 1350705                    /usr/lib64/libGL.so.1.7.0
/proc/20737/task/20737/maps:7f7b10592000-7f7b10593000 rw-p 0008a000
fd:00 1350705                    /usr/lib64/libGL.so.1.7.0
/proc/20737/task/20807/maps:7f7b10308000-7f7b10379000 r-xp 00000000
fd:00 1350705                    /usr/lib64/libGL.so.1.7.0
[..]

@jonoomph @ferdnyc - I've the same issue on Pop OS 18.04.

OOC for anyone who's hitting this issue, do you have a (system) libdrm.so.2? (Most likely it'd be either /usr/lib/x86_64-linux-gnu/libdrm.so.2 or /usr/lib/x86_64-linux-gnu/mesa/libdrm.so.2.)

If so, does it contain drmGetDevices2? (readelf -s /whatever/libdrm.so.2|grep drmGetDevices2 will tell you.)

If the answer is yes, then we can assume that version of libdrm.so.2 is a dependency of your libGL.so.1, and simply removing the outdated libdrm.so.2 from the AppImage should probably fix it.

Ping @victor-o-silva @DylanC @mdmayfield @jpfleury @adamsts ?

In fact, hey, someone hitting this issue: Try this. In a command shell...

$ locate libdrm.so.2 # Assuming your system has an mlocate database, otherwise use /usr/bin/find
[...]
/usr/lib64/libdrm.so.2.4.0
[...]
$ export LD_PRELOAD=/usr/lib64/libdrm.so.2.4.0 # (Use the correct path for your system, obviously)
$ /path/to/OpenShot-v2.4.2-x86_64.AppImage

...That _should_ force OpenShot to load your system libdrm.so.2 instead of the bundled one in the AppImage, which hopefully might fix this issue.

@ferdnyc Thanks a lot, it fixes the bug on Xubuntu 17.10 64-bit:

$ locate libdrm.so.2
/usr/lib/i386-linux-gnu/libdrm.so.2
/usr/lib/i386-linux-gnu/libdrm.so.2.4.0
/usr/lib/x86_64-linux-gnu/libdrm.so.2
/usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
$ export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
$ ./OpenShot-v2.4.2-x86_64.AppImage
Loaded modules from current directory: /tmp/.mount_xBxlsj/usr/bin
      launch:INFO ------------------------------------------------
      launch:INFO    OpenShot (version 2.4.2)
      launch:INFO ------------------------------------------------
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/platforms" ... 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqeglfs.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("eglfs") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqkms.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqkms.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "kms"
        ]
    },
    "className": "QKmsIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("kms") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqlinuxfb.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("linuxfb") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqminimal.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("minimal") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqminimalegl.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("minimalegl") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqoffscreen.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("offscreen") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/platforms/libqxcb.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("xcb") 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/platforms" ... 
loaded library "/tmp/.mount_xBxlsj/usr/bin/platforms/libqxcb.so" 
loaded library "Xcursor" 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/platformthemes" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/platformthemes" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/platforminputcontexts" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/platforminputcontexts" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/generic" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/generic" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/styles" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/styles" ... 
         app:INFO openshot-qt version: 2.4.2
         app:INFO libopenshot version: 0.2.0
         app:INFO platform: Linux-4.13.0-41-generic-x86_64-with-Ubuntu-17.10-artful
         app:INFO processor: x86_64
         app:INFO machine: x86_64
         app:INFO python version: 3.4.3
         app:INFO qt5 version: 5.2.1
         app:INFO pyqt5 version: 5.2.1
    language:INFO Attempting to load qt_fr_CA.UTF-8 in '/tmp/.mount_xBxlsj/usr/bin/translations'
    language:INFO Attempting to load qt_fr in '/tmp/.mount_xBxlsj/usr/bin/translations'
    language:INFO Attempting to load fr_CA.UTF-8/LC_MESSAGES/OpenShot in '/tmp/.mount_xBxlsj/usr/bin/locale'
    language:INFO Attempting to load fr/LC_MESSAGES/OpenShot in '/tmp/.mount_xBxlsj/usr/bin/locale'
    language:INFO Successfully loaded fr/LC_MESSAGES/OpenShot in '/tmp/.mount_xBxlsj/usr/bin/locale'
    language:INFO Qt Detected Languages: ['fr-CA', 'fr-FR', 'en']
    language:INFO LANG Environment Variable: fr_CA.UTF-8
    language:INFO LOCALE Environment Variable: fr_CA
    language:INFO Skipping English language (no need for translation): fr_CA.UTF-8
    language:INFO Skipping English language (no need for translation): fr_CA
project_data:INFO Setting default profile to HDV 720 24p
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/iconengines" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/iconengines" ... 
         app:INFO Setting font to /tmp/.mount_xBxlsj/usr/bin/images/fonts/Ubuntu-R.ttf
logger_libopenshot:INFO Connecting to libopenshot with debug port: 5556
         app:INFO Setting custom dark theme
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/imageformats" ... 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqgif.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/imageformats/libqgif.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "gif"
        ],
        "MimeTypes": [
            "image/gif"
        ]
    },
    "className": "QGifPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("gif") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqico.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/imageformats/libqico.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "ico"
        ],
        "MimeTypes": [
            "image/vnd.microsoft.icon"
        ]
    },
    "className": "QICOPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("ico") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqjpeg.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/imageformats/libqjpeg.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "jpg",
            "jpeg"
        ],
        "MimeTypes": [
            "image/jpeg",
            "image/jpeg"
        ]
    },
    "className": "QJpegPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("jpg", "jpeg") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqsvg.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/imageformats/libqsvg.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "svg",
            "svgz"
        ]
    },
    "className": "QSvgPlugin",
    "debug": false,
    "version": 328193
}


Got keys from plugin meta data ("svg", "svgz") 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/imageformats" ... 
loaded library "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqsvg.so" 
link SVGID_18_-5 hasn't been detected!
link SVGID_18_-5 hasn't been detected!
link SVGID_22_-5 hasn't been detected!
link SVGID_24_-2 hasn't been detected!
link SVGID_24_-2 hasn't been detected!
loaded library "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqgif.so" 
loaded library "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqico.so" 
loaded library "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqjpeg.so" 
     ui_util:INFO Initializing UI for MainWindow
     ui_util:INFO Binding event MainWindow:actionNew_trigger
     ui_util:WARNING Icon theme document-new not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionOpen_trigger
     ui_util:WARNING Icon theme document-open not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionSave_trigger
     ui_util:WARNING Icon theme document-save not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionUndo_trigger
     ui_util:WARNING Icon theme edit-undo not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionSaveAs_trigger
     ui_util:WARNING Icon theme document-save-as not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionImportFiles_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionImportImageSequence_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRedo_trigger
     ui_util:WARNING Icon theme edit-redo not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRemoveClip_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRemoveTransition_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionExportVideo_trigger
     ui_util:WARNING Icon theme media-record not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionUploadVideo_trigger
     ui_util:WARNING Icon theme folder-remote not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAddTrack_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionPreferences_trigger
     ui_util:WARNING Icon theme document-properties not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionPlay_trigger
     ui_util:INFO Binding event MainWindow:actionJumpStart_trigger
     ui_util:WARNING Icon theme media-skip-backward not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRewind_trigger
     ui_util:WARNING Icon theme media-seek-backward not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionFastForward_trigger
     ui_util:WARNING Icon theme media-seek-forward not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionJumpEnd_trigger
     ui_util:WARNING Icon theme media-skip-forward not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionArrowTool_trigger
     ui_util:INFO Binding event MainWindow:actionRazorTool_trigger
     ui_util:INFO Binding event MainWindow:actionSnappingTool_trigger
     ui_util:INFO Binding event MainWindow:actionAddMarker_trigger
     ui_util:INFO Binding event MainWindow:actionPreviousMarker_trigger
     ui_util:WARNING Icon theme go-first not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionNextMarker_trigger
     ui_util:WARNING Icon theme go-last not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionFilesShowAll_trigger
     ui_util:INFO Binding event MainWindow:actionFilesShowVideo_trigger
     ui_util:INFO Binding event MainWindow:actionFilesShowAudio_trigger
     ui_util:INFO Binding event MainWindow:actionFilesShowImage_trigger
     ui_util:WARNING Icon theme edit-clear not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionTransitionsShowAll_trigger
     ui_util:INFO Binding event MainWindow:actionTransitionsShowCommon_trigger
     ui_util:WARNING Icon theme edit-clear not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionEffectsShowAll_trigger
     ui_util:INFO Binding event MainWindow:actionEffectsShowVideo_trigger
     ui_util:INFO Binding event MainWindow:actionEffectsShowAudio_trigger
     ui_util:WARNING Icon theme edit-clear not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionTimelineZoomIn_trigger
     ui_util:INFO Binding event MainWindow:actionTimelineZoomOut_trigger
     ui_util:INFO Binding event MainWindow:actionTitle_trigger
     ui_util:WARNING Icon theme font not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAnimatedTitle_trigger
     ui_util:WARNING Icon theme video-x-generic not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionFullscreen_trigger
     ui_util:WARNING Icon theme view-fullscreen not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAbout_trigger
     ui_util:WARNING Icon theme gtk-info not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionThumbnailView_trigger
     ui_util:WARNING Icon theme view-list-icons not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionDetailsView_trigger
     ui_util:WARNING Icon theme view-list-details not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionReportBug_trigger
     ui_util:WARNING Icon theme dialog-error not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAskQuestion_trigger
     ui_util:WARNING Icon theme im-message-new not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionTranslate_trigger
     ui_util:WARNING Icon theme stock_person not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionDonate_trigger
     ui_util:WARNING Icon theme bookmark-new not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionHelpContents_trigger
     ui_util:WARNING Icon theme help not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionSimple_View_trigger
     ui_util:WARNING Icon theme go-home not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAdvanced_View_trigger
     ui_util:WARNING Icon theme get-hot-new-stuff not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionFreeze_View_trigger
     ui_util:WARNING Icon theme locked not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionUn_Freeze_View_trigger
     ui_util:WARNING Icon theme locked not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionShow_All_trigger
     ui_util:WARNING Icon theme document-open-recent not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionProfile_trigger
     ui_util:WARNING Icon theme video-x-generic not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAdd_to_Timeline_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionPreview_File_trigger
     ui_util:INFO Binding event MainWindow:actionRemove_from_Project_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionFile_Properties_trigger
     ui_util:WARNING Icon theme video-x-generic not found. Will use backup icon.
     ui_util:WARNING Icon theme edit-clear not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRemoveTrack_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRemoveMarker_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAddTrackAbove_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAddTrackBelow_trigger
     ui_util:WARNING Icon theme list-add not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRemoveEffect_trigger
     ui_util:WARNING Icon theme list-remove not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionSplitClip_trigger
     ui_util:WARNING Icon theme edit-cut not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionProperties_trigger
     ui_util:WARNING Icon theme document-properties not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionRenameTrack_trigger
     ui_util:WARNING Icon theme gtk-edit not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionUpdate_trigger
     ui_util:INFO Binding event MainWindow:actionTutorial_trigger
     ui_util:WARNING Icon theme im-message-new not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionAnimation_trigger
     ui_util:WARNING Icon theme video-x-generic not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionLockTrack_trigger
     ui_util:INFO Binding event MainWindow:actionUnlockTrack_trigger
     ui_util:WARNING Icon theme transform-move not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionEditTitle_trigger
     ui_util:WARNING Icon theme gtk-edit not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionDuplicateTitle_trigger
     ui_util:WARNING Icon theme edit-copy not found. Will use backup icon.
     ui_util:INFO Binding event MainWindow:actionClearHistory_trigger
     ui_util:WARNING Icon theme edit-clear not found. Will use backup icon.
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/sensors" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/sensors" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/bearer" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bearer" ... 
connectionpool:INFO Starting new HTTP connection (1): www.openshot.org
 files_model:INFO updating files model.
transition_model:INFO updating transitions model.
effects_model:INFO updating effects model.
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
effects_model:INFO category: Video
properties_model:INFO updating clip properties model.
 main_window:INFO InitCacheSettings
 main_window:INFO cache-mode: CacheMemory
 main_window:INFO cache-limit-mb: 250
 main_window:INFO Creating CacheMemory object with 262144000 byte limit
preview_thread:INFO QThread Start Method Invoked
preview_thread:INFO initPlayer
 main_window:INFO Clear all thumbnails: /home/u/.openshot_qt/thumbnail
 main_window:INFO Clear all animations: /home/u/.openshot_qt/blender
 main_window:INFO Clear all assets: /home/u/.openshot_qt/assets
 main_window:INFO Clear all backups: /home/u/.openshot_qt/backup
    tutorial:INFO process tutorial dialogs
 main_window:INFO updateStatusChanged
         app:INFO Process command-line arguments: ['/tmp/.mount_xBxlsj/usr/bin/launch']
 main_window:INFO recover_backup
project_data:INFO Setting default profile to HDV 720 24p
preview_thread:INFO refreshFrame
preview_thread:INFO self.player.Position(): 1
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().SetTrackLabel('Track %s');
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().LoadJson({"type": "load", "key": "", "partial": false, "value": {"id": "T0", "width": 1280, "fps": {"num": 24, "den": 1}, "profile": "HDV 720 24p", "channel_layout": 3, "sample_rate": 44100, "markers": [], "tick_pixels": 100, "playhead_position": 0, "scale": 16, "progress": [], "clips": [], "files": [], "settings": {}, "import_path": "", "history": {"redo": [], "undo": []}, "effects": [], "height": 720, "layers": [{"id": "L0", "lock": false, "y": 0, "number": 0, "label": ""}, {"id": "L1", "lock": false, "y": 0, "number": 1, "label": ""}, {"id": "L2", "lock": false, "y": 0, "number": 2, "label": ""}, {"id": "L3", "lock": false, "y": 0, "number": 3, "label": ""}, {"id": "L4", "lock": false, "y": 0, "number": 4, "label": ""}], "duration": 300, "export_path": "", "version": {"libopenshot": "0.0.0", "openshot-qt": "0.0.0"}, "channels": 2}, "old_values": null});
 main_window:INFO updateStatusChanged
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/bin/accessiblebridge" ... 
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_xBxlsj/usr/accessiblebridge" ... 
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().SetSnappingMode(1);
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().MovePlayheadToFrame(1);
preview_thread:INFO onModeChanged
     version:INFO Found current version: {"openshot_version": "2.4.2"}
properties_model:INFO Update item: 
properties_model:INFO updating clip properties model.
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().SetTrackLabel('Track %s');
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().LoadJson({"type": "load", "key": "", "partial": false, "value": {"id": "T0", "width": 1280, "fps": {"num": 24, "den": 1}, "profile": "HDV 720 24p", "channel_layout": 3, "sample_rate": 44100, "markers": [], "tick_pixels": 100, "playhead_position": 0, "scale": 16, "progress": [], "clips": [], "files": [], "settings": {}, "import_path": "", "history": {"redo": [], "undo": []}, "effects": [], "height": 720, "layers": [{"id": "L0", "lock": false, "y": 0, "number": 0, "label": ""}, {"id": "L1", "lock": false, "y": 0, "number": 1, "label": ""}, {"id": "L2", "lock": false, "y": 0, "number": 2, "label": ""}, {"id": "L3", "lock": false, "y": 0, "number": 3, "label": ""}, {"id": "L4", "lock": false, "y": 0, "number": 4, "label": ""}], "duration": 300, "export_path": "", "version": {"libopenshot": "0.0.0", "openshot-qt": "0.0.0"}, "channels": 2}, "old_values": null});
preview_thread:INFO refreshFrame
preview_thread:INFO self.player.Position(): 1
    timeline:INFO Adjusting max size of preview image: PyQt5.QtCore.QRect(57, 0, 700, 394)
timeline_webview:ERROR TimelineWebView::eval_js() called before document ready event. Script queued: $('body').scope().SetSnappingMode(1);
 main_window:INFO foundCurrentVersion: Found the latest version: 2.4.2
timeline_webview:INFO Qt Found!
timeline_webview:INFO $scope.Qt = true;
timeline_webview:INFO UpdateLayerIndex
timeline_webview:INFO UpdateLayerIndex

@ferdnyc - Yay! Thank you! It fixes for my Elementary OS 0.4.1, too! You're awesome :+1: :100: :1st_place_medal:

Excellent, glad to hear it!

Re, the tag... not really "resolved", I'd argue, until the AppImage build process is fixed to generate packages without libdrm.so.2. This workaround _works_, as a kludge, but it's hardly convenient or maintainable.

@ferdnyc - Yes, the 'resolved' tag kinda' isn't the right one. I created that one to mark issues which had solutions (I explain it in the description). Do you have any other label that would better suit that purpose? temporarily-fixed? kludged?

Or perhaps use 'fixed' to mark ones that are actually resolved and 'resolved' to mark the work-ed-around ones? I thought that if the issue had really been closed, one would just close it to mark it as solved. So.... But yeah. It could be better labelled. And I really need help with that.

Update: I went with 'kludged' (even though it is not in the everyday general English vocabulary of most people). :smile:

Enh. I mean, I think "resolved" was better than "kludged", but _this_ issue isn't either of those things, yet. We've discovered a _workaround_ and provided it to the users, but nothing AT ALL has been fixed/kludged/changed-in-any-way on the OpenShot end of things. A "fix" that lives with the endusers is not any sort of fix at all.

At best, this issue is "fix in progress", in the sense that we now know what the problem is, and need to get started fixing it on our end.

If you want a label that signifies that we have a workaround available for users that will get them by until an actual fix is released... well, I'm a simple person, so my boring suggestion would be "workaround". :roll_eyes:

worked-around, then! :+1: :smile:

The export LD_PRELOAD did the trick in my Linux Mint 18.1 Serena as well

Okay, sounds like I need to remove libdrm.so.2 from the AppImage

@jonoomph - While you're at it, could you please also deal with #1408, #1775 and #1777 (solved by PR #1778)?

Okay, sounds like I need to remove libdrm.so.2 from the AppImage

That's my conclusion as well. I haven't been able to find any _bundled_ lib with a dependency on it, so far — the libraries that _do_ load it are some selection of libGL.so, libGLX.so, libGLX_mesa.so, etc... none of which are bundled in, so having libdrm in there serves no purpose. (AFAICT.) libdrm will be pulled in if it's needed by the system GL layer.

@jonoomph - While you're at it, could you please also deal with #1408, #1775 and #1777 (solved by PR #1778)?

1778 is worth getting in real quick, the others I don't know if it's wise to hold up this (widely impactful) fix for.

@jonoomph - While you're at it, could you please also deal with #1408, #1775 and #1777 (solved by PR #1778)?

1778 is worth getting in real quick, the others I don't know if it's wise to hold up this (widely impactful) fix for.

Especially not #1775, which is purely cosmetic but requires non-trivial effort (building an updated fontconfig) to solve. The outdated library currently being bundled has no impact other than some logspam and, perhaps, a few hundred milliseconds of startup slowness.

1408, OTOH, requires even _more_ work, and quite a bit of testing once it's done to be sure nothing breaks. Absolutely not the sort of complication to introduce into this fix.

_However..._

1778 _really_ would be nice to get in, though, @jonoomph. It's a one-line change to the launch-linux.sh script, to not set QT_DEBUG_PLUGINS which is the source of all this nonsense from @jpfleury 's comment above:

Got keys from plugin meta data ("gif") 
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_xBxlsj/usr/bin/imageformats/libqico.so" 
Found metadata in lib /tmp/.mount_xBxlsj/usr/bin/imageformats/libqico.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "ico"
        ],
        "MimeTypes": [
            "image/vnd.microsoft.icon"
        ]
    },
    "className": "QICOPlugin",
    "debug": false,
    "version": 328193
}

OpenShot-v2.4.1-214-gf505a88-628eb373-554d9f2f-x86_64.AppImage

Heh. I was right, the build system IS still stuck in the past. :wink: (Hey, I know how it is... used to be every year, like clockwork, I'd spend the month of January writing the previous year on all my checks.)

Yeah, gotta fix for the daily version # soon =)

Can someone please give this AppImage a test, and see if the error is fixed?https://github.com/OpenShot/openshot-qt/releases/download/daily/OpenShot-v2.4.1-214-gf505a88-628eb373-554d9f2f-x86_64.AppImage

Anyone who does test it, make sure you don't use the same shell where you previously exported LD_PRELOAD. Or, if you want to be 100% sure, export LD_PRELOAD="" before running the new AppImage.

Finally decided I should _check_ whether libdrm.so.2 is a dependency of any bundled libs:

$ cd /tmp/.mount_2KmOuH/usr/bin/
$ for file in **/*.so; do (echo $file; ldd $file|grep drm); done # (I use zsh extended_glob, sorry)
_bz2.cpython-34m-x86_64-linux-gnu.so
_codecs_cn.cpython-34m-x86_64-linux-gnu.so
_codecs_hk.cpython-34m-x86_64-linux-gnu.so
_codecs_iso2022.cpython-34m-x86_64-linux-gnu.so
_codecs_jp.cpython-34m-x86_64-linux-gnu.so
_codecs_kr.cpython-34m-x86_64-linux-gnu.so
_codecs_tw.cpython-34m-x86_64-linux-gnu.so
_ctypes.cpython-34m-x86_64-linux-gnu.so
gevent.ares.so
gevent.corecext.so
gevent._semaphore.so
greenlet.cpython-34m.so
_hashlib.cpython-34m-x86_64-linux-gnu.so
imageformats/libqgif.so
imageformats/libqico.so
imageformats/libqjpeg.so
imageformats/libqsvg.so
_json.cpython-34m-x86_64-linux-gnu.so
libgio-2.0.so
libglib-2.0.so
libgmodule-2.0.so
libgthread-2.0.so
_lzma.cpython-34m-x86_64-linux-gnu.so
mmap.cpython-34m-x86_64-linux-gnu.so
_multibytecodec.cpython-34m-x86_64-linux-gnu.so
_multiprocessing.cpython-34m-x86_64-linux-gnu.so
_opcode.cpython-34m-x86_64-linux-gnu.so
_openshot.so
platforms/libqeglfs.so
platforms/libqkms.so
    libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f113cc7d000)
platforms/libqlinuxfb.so
platforms/libqminimalegl.so
platforms/libqminimal.so
platforms/libqoffscreen.so
platforms/libqxcb.so
PyQt5._QOpenGLFunctions_2_0.so
PyQt5.Qsci.so
PyQt5.QtCore.so
PyQt5.QtDBus.so
PyQt5.QtDesigner.so
PyQt5.QtGui.so
PyQt5.QtHelp.so
PyQt5.QtMultimedia.so
PyQt5.QtMultimediaWidgets.so
PyQt5.QtNetwork.so
PyQt5.QtOpenGL.so
PyQt5.QtPositioning.so
PyQt5.QtPrintSupport.so
PyQt5.QtQml.so
PyQt5.QtQuick.so
PyQt5.QtSensors.so
PyQt5.QtSerialPort.so
PyQt5.Qt.so
PyQt5.QtSql.so
PyQt5.QtSvg.so
PyQt5.QtTest.so
PyQt5.QtWebKit.so
PyQt5.QtWebKitWidgets.so
PyQt5.QtWidgets.so
PyQt5.QtX11Extras.so
PyQt5.QtXmlPatterns.so
readline.cpython-34m-x86_64-linux-gnu.so
sip.cpython-34m-x86_64-linux-gnu.so
_ssl.cpython-34m-x86_64-linux-gnu.so
termios.cpython-34m-x86_64-linux-gnu.so
zmq.backend.cython.constants.so
zmq.backend.cython.context.so
zmq.backend.cython._device.so
zmq.backend.cython.error.so
zmq.backend.cython.message.so
zmq.backend.cython._poll.so
zmq.backend.cython.socket.so
zmq.backend.cython.utils.so
zmq.backend.cython._version.so
zmq.devices.monitoredqueue.so
zmq.utils.initthreads.so
zmq.utils.rebuffer.so

So, in theory removing it _may_ cause trouble if OpenShot is run on any systems which lack a system libdrm.so.2, as it is a dependency of the bundled libqkms.so.

Which means that removing it, while a good quick-fix for the current issue, is only a temporary fix. Long-term, the focus should be on updating it to the latest version. It'll become more necessary down the road anyway, as libavcodec.so.58 from ffmpeg-4.0.1 is also linked with libdrm.so.2. So at some point we'll want to start bundling a newer version again.

v2.4.1-214-gf505a88-628eb373-554d9f2f-x86_64 fixes it for me too.

@ferdnycfind: ‘libdrm.so.2’: No such file or directory

You are right on this:

So, in theory removing it may cause trouble if OpenShot is run on any systems which lack a system libdrm.so.2, as it is a dependency of the bundled libqkms.so.

The daily build doesn't work on my system.

@ferdnyc
You are right on this:

So, in theory removing it may cause trouble if OpenShot is run on any systems which lack a system libdrm.so.2, as it is a dependency of the bundled libqkms.so.

The daily build doesn't work on my system.

Can you install the library? On Fedora, libdrm is its own separate package (tho it's pulled in automatically by a dozen things, and is almost impossible to not have installed). But if you don't have anything previously installed that would require it, you may be able to just install it through your distro's package-management system.

(Obviously making every user install a libdrm package isn't a long-term solution, and kind of defeats the entire purpose of AppImages. Which is why we need to get a new libdrm bundled, to _really_ fix this. But for the moment it should get you up and running.)

The daily build doesn't work on my system.

BTW, can you define "doesn't work"? What's the actual failure? Exact same crash with a message about missing drmGetDevices2?

Hello everyone, just my 20 cents worth here, my lappy with nvidia 920m 8 gig ram and ubuntu 18.04,
the 2.4.2 app image works perfectly. :)
cheers
bob

jonathan, your app image dev -214 is working fine on ubuntu 18.04. and linux mint 18.3
cheers mate,
bob

@ferdnyc Thanks!

It occurs to me that, in a sense, this is all the fault of the libdrm developers, who added that drmGetDevices2 symbol to the library without incrementing the API version. I'm not sure what the convention on that is, traditionally. (IOW, whether _adding_ a symbol is considered an API break — in theory it wouldn't have to be, since the new library is still backwards-compatible with programs linked with the previous version.)

But the newer pattern of library management that AppImages introduce reveals why it SHOULD be an API break — libraries need to be compatible in _both_ directions now. If the libdrm on all of our systems was libdrm.so.3, because it includes drmGetDevices2, then none of this would have ever happened. OpenShot would be bundling libdrm.so.2 without the symbol, platforms/libqkms.so would load the bundled version, and if any users' system libraries needed libdrm they'd be linked with libdrm.so.3 which would get pulled in from their system libs as well. Everything would work fine.

It's the fact that libdrm.so.2 without drmGetDevices2 is not _forwards_-compatible with anything that was linked with the newer version containing that symbol, that really screwed us here.

(However, the fact that adding the symbol to libdrm.so.2 leaves it backwards-compatible is also the thing that saves us here. The libdrm version bundled with the AppImages can be upgraded to one that includes drmGetDevices2, and it'll still work with even the older version of Qt that the AppImages use. If upgrading libdrm _did_ break the API, then we couldn't upgrade it without upgrading Qt as well. Of course, in that case we wouldn't _need_ to upgrade it...)

Also, it appears I was wrong about this:

libavcodec.so.58 from ffmpeg-4.0.1 is also linked with libdrm.so.2.

It's not linked _directly_, at least. The libavcodec.so.58 on my system is linked with libmfx.so.1, which pulls in libdrm.so.2. MFX is the Intel Media SDK dispatcher library for Intel video acceleration, so FFmpeg only requires libdrm if it's built with support for Intel hardware acceleration.

@ferdnyc - Sry for the delay, had to fresh install my OS to sort out a boot up issue.

Yeah, this error shows when I try to run the AppImage:

symbol lookup error: /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0: undefined symbol: drmGetDevice2

@DylanC Sorry, was fighting with other bits of the code (as you've seen).

Um, OK, I'm totally confused if that's the case. Your GLX_mesa.so.0 apparently depends on libdrm.so.2, but it's not installed!? *sigh* Ubuntu (and friends) makes my brain hurt. How is it so easy to have packages installed with missing dependencies? Fedora makes that almost _impossible_.

Can you provide the output of ldd /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0?

Also, does sudo apt-get install libdrm2 (a) work, and (b) fix things?

@ferdnyc - Here is the output of the command:

ldd /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
linux-vdso.so.1 (0x00007ffc2d7bb000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc989f6e000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fc989d3c000)
libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fc989b38000)
libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fc989935000)
libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fc98972e000)
libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fc98952c000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fc9892fb000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fc9890e9000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fc988ee6000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fc988ce0000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fc988ade000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fc9887a5000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fc98857d000)
libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fc988362000)
libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fc98815d000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fc987f57000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fc987d46000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc9879a8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc987789000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc987585000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc987194000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fc986f90000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fc986d8a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc98a3ff000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fc986b75000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc98696d000)

By the way the daily image is working for me now.

@DylanC

By the way the daily image is working for me now.

Good to hear, it sounds like the daily builds are now being built without libdrm.so.2 included, then. Because, your system definitely has that library, so I'm guessing whatever AppImage you were testing must've still included it. That's the only explanation for the missing-symbol error you were getting. I just checked, and the latest AppImage definitely does not include libdrm.

I am still a little worried that there might be someone who _doesn't_ have libdrm.so.2 at all on their system, in which case the new daily builds may fail to run for them unless they install it. (If Qt tries to load libqxcb.so, it'll fail. If Qt doesn't use that library on their system for whatever reason — which I suppose is possible if they _don't have_ a libdrm of their own — it'll be fine.)

The right solution is definitely still to upgrade the AppImage libdrm to a current version, and go back to including it.

@victor-o-silva - Try v2.4.3 and let us know if you still have a problem.

@DylanC

OpenShot-v2.4.3-x86_64.AppImage works perfectly

@victor-o-silva - Thanks, good to hear! 👍

Was this page helpful?
0 / 5 - 0 ratings

Related issues

malinga91 picture malinga91  ·  3Comments

adswan picture adswan  ·  3Comments

BofingerRick picture BofingerRick  ·  3Comments

gbbbbb picture gbbbbb  ·  3Comments

Obed9 picture Obed9  ·  3Comments