<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>31682</bug_id>
          
          <creation_ts>2016-01-04 15:16:30 +0300</creation_ts>
          <short_desc>compiz не запускается из-за принудительного indirectRendering = TRUE</short_desc>
          <delta_ts>2016-09-03 11:49:24 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch p7</product>
          <component>compiz</component>
          <version>не указана</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>30940</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="vx8400">vx8400</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>lakostis</cc>
    
    <cc>mike</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>154485</commentid>
    <comment_count>0</comment_count>
    <who name="vx8400">vx8400</who>
    <bug_when>2016-01-04 15:16:30 +0300</bug_when>
    <thetext>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, &amp;n);
+    if (extlist) {
+        for (i = 0; i &lt; n; i++) {
+            if (strcmp (extlist[i], &quot;NV-GLX&quot;) == 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 и дальше по треду.

Спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154486</commentid>
    <comment_count>1</comment_count>
      <attachid>6465</attachid>
    <who name="vx8400">vx8400</who>
    <bug_when>2016-01-04 15:17:19 +0300</bug_when>
    <thetext>Created attachment 6465
откат патча</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158427</commentid>
    <comment_count>2</comment_count>
    <who name="vx8400">vx8400</who>
    <bug_when>2016-09-03 11:49:24 +0300</bug_when>
    <thetext>В compiz-0.9.X (p8, sisyphus) этой ошибки нет. 
Относится только к compiz-0.8.*-* (p5,p6,p7).
Исправляется патчем выше.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6465</attachid>
            <date>2016-01-04 15:17:19 +0300</date>
            <delta_ts>2016-01-04 15:17:19 +0300</delta_ts>
            <desc>откат патча</desc>
            <filename>compiz.patch.patch</filename>
            <type>text/plain</type>
            <size>530</size>
            <attacher name="vx8400">vx8400</attacher>
            
              <data encoding="base64">LS0tIGNvbXBpei0wLjguOC1hbHQxMi5wYXRjaC5vcmlnCTIwMTYtMDEtMDQgMTQ6MTU6NDAuODU2
MTM1MDU1ICswMzAwCisrKyBjb21waXotMC44LjgtYWx0MTIucGF0Y2gJMjAxNi0wMS0wNCAxNDox
NjoxMS4zNjExMzQxNTMgKzAzMDAKQEAgLTE4NjA3LDcgKzE4NjA3LDcgQEAKICAJcmV0dXJuIEZB
TFNFOwogICAgICB9CiAgCi0rICAgIC8qIE5WSURJQSAqLworKyAgICAvKiBOVklESUEgKgogKyAg
ICBpbmRpcmVjdFJlbmRlcmluZyA9IFRSVUU7CiArICAgIGludCBuID0gMDsKICsgICAgY2hhciAq
KmV4dGxpc3QgPSBYTGlzdEV4dGVuc2lvbnMgKGRweSwgJm4pOwpAQCAtMTg2MTksNyArMTg2MTks
NyBAQAogKyAgICAgICAgICAgIH0KICsgICAgICAgIH0KICsgICAgICAgIFhGcmVlRXh0ZW5zaW9u
TGlzdCAoZXh0bGlzdCk7Ci0rICAgIH0KKysgICAgfSAqLwogKwogICAgICBzLT5jdHggPSBnbFhD
cmVhdGVDb250ZXh0IChkcHksIHZpc2luZm8sIE5VTEwsICFpbmRpcmVjdFJlbmRlcmluZyk7CiAg
ICAgIGlmICghcy0+Y3R4KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>