ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: libGL* transition to GLVND
@ 2017-05-31 20:23 Konstantin Lepikhov
  2017-06-01  8:29 ` Sergey V Turchin
  2017-06-01 12:10 ` Dmitry V. Levin
  0 siblings, 2 replies; 42+ messages in thread
From: Konstantin Lepikhov @ 2017-05-31 20:23 UTC (permalink / raw)
  To: ALT Linux Devel Mailing List

Привет!

Поначалу я это собрал для себя, ну раз оно собралось и заработало, решил
спросить нужно ли это в Сизифе.

Что такое GLVND? Грубо говоря, это такая библиотека, которая позволяет
перенаправлять стандартные вызовы в libGL в vendor-specific библиотеку,
которую предоставляет соответствующий пакет. Например, в случае
dri/gallium это будет Mesa, а в случае nvidia - блоб от nvidia.
Поддерживается функционал libGL, libEGL и GLES, заявлена поддержка
wayland.

Чем это интересно? Тем, что больше не нужны костыли, которые переключают
*GL библиотеки в случае установки vendor-specific и несовместимых с Mesa
3D драйверов. В случае ALTLinux это множество костылей и подпорок которые
живут в %_libexec/X11/* и %_sysconfdir/X11/%_lib. Как положительный
момент, улучшается поддержка железа и в системе могут одновременно
сосушествовать несколько библиотек, что также упрощает поддержку на уровне
начальной конфигурации и установки. Еще положительный момент -
возможность тестирования библиотек не удаляя или пересобирая системные,
т.к. libGL загрузчик не меняется и все вызовы остаются на своих местах.

Полное описание процесса [1].

Также полезно ознакомиться в документом [2] от Fedora/RH, где переезд уже
случился.

На практике потребуется свежая сборка libglvnd, mesa с поддержкой этого
хозяйства, и патчинг всего, что перестало работать после переезда. У меня
сломался только xdriinfo и он уже починен в RH (сборка отправлена в сизиф,
но пока ждет approve от владельца пакета). Еще это все нужно бутстрапить,
т.е. собрать libglvnd, пересобрать mesa с bootstrap headers, потом
пересбрать mesa с полным набором.

В случае mesa я пошел по самому легкому пути, т.е. собрал свежий snapshot
из git и включил там glvnd. Как следствие, еще туда же собрался и llvm5.

Из текущих проблем:
- GPU autodetect в xorg server работает очень странно, надо разбираться
  кто виноват, патчи от ALTLinux или апстрим.
- Нельзя переключить libglx (в случае nvidia это необходимо).
- Непонятно, работают ли с этим дрова от AMD (которые AMDGPU PRO).

Также я собрал ознакомительный livecd [3] который любой может поставить и
посмотреть, как это выглядит на практике без установки всех пакетов в
систему.

Репозиторий с пакетами [4], исходные коды доступны у меня на git.alt.

Рад выслушать любые отзывы и предложения с обоснованиями.

Спасибо за внимание!

1. https://github.com/NVIDIA/libglvnd
2. https://fedoraproject.org/wiki/Changes/Vendor_Neutral_libGL
3. http://www.unsafe.ru/lakostis/livecd/current/live-lakostis-20170526-x86_64.iso  
4. http://www.unsafe.ru/lakostis/RPMS/ALTLinux/glvnd/

-- 
WBR et al.


^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2017-06-22 10:19 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-31 20:23 [devel] Q: libGL* transition to GLVND Konstantin Lepikhov
2017-06-01  8:29 ` Sergey V Turchin
2017-06-01 11:48   ` Konstantin Lepikhov
2017-06-01 12:30     ` Sergey V Turchin
2017-06-01 12:10 ` Dmitry V. Levin
2017-06-01 12:24   ` Konstantin Lepikhov
2017-06-01 12:34     ` Sergey V Turchin
2017-06-01 12:38       ` Dmitry V. Levin
2017-06-01 12:46         ` Sergey V Turchin
2017-06-01 12:51           ` Sergey V Turchin
2017-06-01 12:49       ` Konstantin Lepikhov
2017-06-01 12:53         ` Sergey V Turchin
2017-06-01 13:18           ` Konstantin Lepikhov
2017-06-01 15:30             ` Michael Shigorin
2017-06-01 17:34                 ` Konstantin Lepikhov
2017-06-01 18:23                   ` Konstantin Lepikhov
2017-06-01 22:25                     ` Konstantin Lepikhov
2017-06-01 23:04                         ` Konstantin Lepikhov
2017-06-01 23:40                             ` Konstantin Lepikhov
2017-06-02  5:41                                 ` Konstantin Lepikhov
2017-06-02  8:01                                   ` Sergey Bolshakov
2017-06-02  8:38                                     ` Konstantin Lepikhov
2017-06-02 10:10                                       ` Igor Zubkov
2017-06-02 11:17                                         ` Sergey V Turchin
2017-06-03  1:33                                           ` Yury A. Romanov
2017-06-02 19:36                                   ` Michael Shigorin
2017-06-05 11:41                                   ` Sergey Afonin
2017-06-02 11:31                             ` Dmitry V. Levin
2017-06-02 11:45                               ` Sergey V Turchin
2017-06-02 12:02                               ` Konstantin Lepikhov
2017-06-02 12:22                                 ` Sergey V Turchin
2017-06-02 12:40                                 ` Dmitry V. Levin
2017-06-02 13:17                                   ` Konstantin Lepikhov
2017-06-02 13:22                                     ` Sergey V Turchin
2017-06-01 17:35               ` Konstantin Lepikhov
2017-06-02  8:48                 ` Konstantin Lepikhov
2017-06-06 19:23                   ` Konstantin Lepikhov
2017-06-07  7:33                     ` Sergey V Turchin
2017-06-07  8:55                       ` Konstantin Lepikhov
2017-06-07 11:14                           ` Sergey V Turchin
2017-06-22 10:19                           ` Konstantin Lepikhov
2017-06-02  7:55             ` Sergey V Turchin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

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


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