compiz 0.8.8 не запускается из-за принудительной установки indirectRendering = TRUE во входящем в пакет патче compiz-0.8.8-alt12.patch: --- a/src/screen.c +++ b/src/screen.c .... @@ -1977,6 +1983,20 @@ addScreen (CompDisplay *display, return FALSE; } + /* NVIDIA */ + indirectRendering = TRUE; + int n = 0; + char **extlist = XListExtensions (dpy, &n); + if (extlist) { + for (i = 0; i < n; i++) { + if (strcmp (extlist[i], "NV-GLX") == 0) { + indirectRendering = FALSE; + continue; + } + } + XFreeExtensionList (extlist); + } + C отсутствующим NV-GLX (radeon, i9XX) glXCreateContext() на строке screen.c:2000 вызывается с direct=false и проходит с ошибкой: Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 155 Minor opcode of failed request: 3 Resource id in failed request: 0x0 В сборке из сизифа эта ошибка молча перехватывается errorHandler() и игнорируется, что приводит к ошибке в glXMakeCurrent() (screen.c:2090) из-за ошибочного контекста. Это тоже молча игнорируется, возвращаемое значение glXMakeCurrent() не проверяется. Вызов glGetString (GL_EXTENSIONS) (screen.c:2093) проходит без текущего контекста и возвращает пустую строку, это уже проверяется и программа выходит. Исключение патча ошибку исправляет, compiz работает без видимых ошибок. Патч на патч прилагается. Ошибка воспроизводится на текущем сизифе с xorg-server-1.18.0-alt1, libGL-11.0.6-alt1, с драйверами radeon и i915. Другие использующие GL программы (tuxracer, например) работают с direct rendering без ошибок. Более подробно в рассылке: https://lists.altlinux.org/pipermail/sisyphus/2016-January/364660.html и дальше по треду. Спасибо.
Created attachment 6465 [details] откат патча
В compiz-0.9.X (p8, sisyphus) этой ошибки нет. Относится только к compiz-0.8.*-* (p5,p6,p7). Исправляется патчем выше.