diff options
Diffstat (limited to 'qutebrowser/utils/utils.py')
-rw-r--r-- | qutebrowser/utils/utils.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index 368cb0ab6..39d46add8 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -36,6 +36,8 @@ import shlex import glob import mimetypes import typing +import ctypes +import ctypes.util from PyQt5.QtCore import QUrl from PyQt5.QtGui import QColor, QClipboard, QDesktopServices @@ -776,3 +778,16 @@ def ceil_log(number: int, base: int) -> int: result += 1 accum *= base return result + + +def libgl_workaround(): + """Work around QOpenGLShaderProgram issues, especially for Nvidia. + + See https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826 + """ + if os.environ.get('QUTE_SKIP_LIBGL_WORKAROUND'): + return + + libgl = ctypes.util.find_library("GL") + if libgl is not None: + ctypes.CDLL(libgl, mode=ctypes.RTLD_GLOBAL) |