Browse Source

make Linux+NVidia fix fail gracefully

Jörg Walter 7 years ago
parent
commit
7f5fb5813b
1 changed files with 9 additions and 5 deletions
  1. 9 5
      cura_app.py

+ 9 - 5
cura_app.py

@@ -46,11 +46,15 @@ import faulthandler
 if Platform.isLinux(): # Needed for platform.linux_distribution, which is not available on Windows and OSX
     # For Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826
     linux_distro_name = platform.linux_distribution()[0].lower()
-    # TODO: Needs a "if X11_GFX == 'nvidia'" here. The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix.
-    import ctypes
-    from ctypes.util import find_library
-    libGL = find_library("GL")
-    ctypes.CDLL(libGL, ctypes.RTLD_GLOBAL)
+    # The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix.
+	try:
+        import ctypes
+        from ctypes.util import find_library
+        libGL = find_library("GL")
+        ctypes.CDLL(libGL, ctypes.RTLD_GLOBAL)
+    except:
+        # GLES-only systems (e.g. ARM Mali) do not have libGL, ignore error
+        pass
 
 # When frozen, i.e. installer version, don't let PYTHONPATH mess up the search path for DLLs.
 if Platform.isWindows() and hasattr(sys, "frozen"):