ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: vx8400 <vx8400@gmail.com>
To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org>
Subject: Re: [sisyphus] compiz + radeon: no valid GL extensions string found [2]
Date: Sat, 2 Jan 2016 04:17:55 +0300
Message-ID: <CAMBdDKqcQf4JfQM_WTZOsXQUkLs6_eBbiC0H=RKF17tM33Rjqw@mail.gmail.com> (raw)
In-Reply-To: <CAMBdDKrhfV7=Tmj1_DDSNB5uycv_5C-7AyYGWeEPh+dzM0rN+Q@mail.gmail.com>

29 декабря 2015 г., 10:32 пользователь vx8400 <vx8400@gmail.com> написал:
>
> Compiz не может прочесть список GL_EXTENSIONS
> compiz-0.8.8/src/screen.c: 2093:
> glExtensions = (const char *) glGetString (GL_EXTENSIONS); //<-- glGetString возвращает 0

Вот что нарылось методом тыка:

В src/screen.c:1987 наложен патч, который принудительно устанавливает
indirectRendering = TRUE и сбрасывает его в FALSE, только если есть
расширение NV-GLX.
С radeon его нет, поэтому  glXCreateContext (src/screen.c:2000)
вызывается с direct = FALSE, что видимых ошибок не вызывает до
glXMakeCurrent (src/screen.c:2090), ___который молча вылетает с
ошибкой___.
Возвращаемое значение не проверяется, поэтому
glGetString(GL_EXTENSIONS) (src/screen.c:2093) вызывается без
контекста и возвращает 0 вместо строки со списком расширений. Это уже
проверяется и программа выходит с ошибкой "No valid GL extensions
string found."

Если патч убрать и вызывать glXCreateContext (src/screen.c:2000) с
direct = TRUE, то контекст создается без видимых ошибок,
glXMakeCurrent() проходит без ошибок, glGetString(GL_EXTENSIONS)
возвращает ожидаемый список расширений, следующие glGet* срабатывают.
Программа не вылетает, но не работает: только переключает окна по
клику мышью, остальные фичи compiz не работают.

glxinfo -i (принудительный indirect rendering) вылетает уже на
glXCreateContext(...., direct = false),
( export LIBGL_ALWAYS_INDIRECT=1 ; glxgears тоже и на том же).

По умолчанию glxinfo, glxgears работают:
http://hermes.ihep.su:8001/pool/compiz/glxinfo.txt
(direct rendering: Yes ...  server/client glx extensions: ...
GLX_EXT_texture_from_pixmap .... , etc.)

От перебора параметров radeon в xorg.conf это не зависит.

На p7/Xorg 1.14 compiz работал, diff Xorg.0.log между p7 и sisyphus
есть:  http://hermes.ihep.su:8001/pool/compiz/Xorg.0.log.-sisyphus.+p7.diff

Куда копать?

Спасибо, с наступившим,
Олег.

  parent reply	other threads:[~2016-01-02  1:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-28  5:28 ` ruslandh
2015-12-28  6:21     ` ruslandh
2016-01-02  1:17           ` vx8400 [this message]
2016-01-02 19:42             ` vx8400
2016-01-03  9:14               ` Шенцев Алексей Владимирович
2016-01-03 12:09                 ` vx8400
2016-01-04 12:23                   ` vx8400
2015-12-28  7:21     ` Шенцев Алексей

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMBdDKqcQf4JfQM_WTZOsXQUkLs6_eBbiC0H=RKF17tM33Rjqw@mail.gmail.com' \
    --to=vx8400@gmail.com \
    --cc=sisyphus@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git