The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan , opennews (??), 01-Фев-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


5. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +4 +/
Сообщение от Аноним (5), 02-Фев-24, 01:04 
Продолжай, очень интересно!
А где тут находятся x11 в libdrm (userspace)?
Ответить | Правка | Наверх | Cообщить модератору

7. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +2 +/
Сообщение от Аноним (4), 02-Фев-24, 01:31 
Догадываюсь что раз X11 непосредственно использует libdrm то только для управления подключенными дисплеями. Само же окружение рабочего стола рисуется на OpenGL, через mesa, ответственный за это компонент mesa называется Glamor.  
Ответить | Правка | Наверх | Cообщить модератору

11. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +10 +/
Сообщение от Zenitur (ok), 02-Фев-24, 02:20 
Сначала было 2D-ускорение XAA. Оно использовалось X11 для того, чтобы ускорять такие действия, как перетаскивание окна из стороны в сторону. Для ресайза окна. Обычно эти действия вычислялись программно на CPU, но если доступен XAA, то всё становилось быстрее.

По сути, XAA это налог DirectDraw, а Xv это аналог DirectShow.

В конце 00-х, XAA заменили на EXA. Все вендоры видеокарт успешно провели миграцию со старого на новый API, и старый API даже удалили из X11.

Потом Intel сделала UXA и SNA. Но другие вендоры не стали реализовывать эти API у себя.

Потом появился Glamor - аппаратное 2D, работающее поверх аппаратного 3D. Дело в том, что вендорыы начали убирать из графических чипов - вычислительные модули для 2D-графики. Чтоб не занимали место, так как аппаратное 2D уже никому не нужно.

Использует ли X11 библиотеку libdrm? Нет. Для управления дисплеями используется xrandr. Окружение рабочего стола не рисуется через OpenGL - хотя в теории можно включить композитинг, но всё работает и без него.

Ответить | Правка | Наверх | Cообщить модератору

16. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +1 +/
Сообщение от Аноним (16), 02-Фев-24, 08:40 
> Использует ли X11 библиотеку libdrm? Нет.

Как не использует? Очень даже использует, как же иначе получать информацию о дисплеях, разрешениях и прочем.

Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +2 +/
Сообщение от Zenitur (ok), 02-Фев-24, 13:47 
Насколько я знаю, драйвер NVIDIA не использует libdrm вообще. Может, лицензия не позволяет к нему обращаться. Не знаю.

Поэтому я и предположил, что определение разрешений экрана происходит как-то иначе, а libdrm используется только для 3d-ускорения, и ни для чего больше.

Ниже мне написали, что" strings amdgpu_drv.so" показывает, что libdrm таки используется ими. А раз DDX-драйвер обращается к этой библиотеке - значит, libdrm используется не только для 3D. Я ошибался, когда предположил, что libdrm - только для 3D, а не для разрешений экрана.

Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +/
Сообщение от Аноним (56), 02-Фев-24, 15:56 
> Насколько я знаю, драйвер NVIDIA не использует libdrm вообще.

$  ldd /usr/lib/xorg/modules/drivers/nvidia_drv.so
    linux-vdso.so.1 (0x00007ffc591f0000)
    libm.so.6 => /usr/lib/libm.so.6 (0x000073d7bcd15000)
    libc.so.6 => /usr/lib/libc.so.6 (0x000073d7bcb37000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x000073d7bd940000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x000073d7bd97e000)

> Поэтому я и предположил, что определение разрешений экрана происходит как-то иначе

https://download.nvidia.com/XFree86/Linux-x86_64/390.157/REA...

Ответить | Правка | Наверх | Cообщить модератору

58. Скрыто модератором  +1 +/
Сообщение от Аноним (56), 02-Фев-24, 16:19 
Ответить | Правка | Наверх | Cообщить модератору

69. Скрыто модератором  +/
Сообщение от Zenitur (ok), 02-Фев-24, 20:36 
Ответить | Правка | Наверх | Cообщить модератору

24. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +2 +/
Сообщение от Аноним (24), 02-Фев-24, 10:53 
> Glamor - аппаратное 2D, работающее поверх аппаратного 3D.

Расскажи как именно 2D рисуется через 3D? Gloamor регистры на видеокарте вызывает? Как текстуру того или иного окна отсылает в видеопамять?  
Для этого есть графические api типа OpenGL, GL ES и Vulkan, а иначе тебе придется делать отдельный DDX драйвер под каждый графический чип и дублировать работу mesa специально для 2D.  

В поиске введи `Glamor OpenGL`, найдешь соответсвующие новости, или вот патчь https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests...

> Использует ли X11 библиотеку libdrm? Нет.

Использует через DDX драйверы такие как `xserver-xorg-video-amdgpu`, `xserver-xorg-video-intel`, ...  
Можешь посмотреть выполнив `ldd /usr/lib/xorg/modules/drivers/amdgpu_drv.so` или `ldd /usr/lib/xorg/modules/drivers/intel_drv.so`, там будут зависимости на `libdrm.so`

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

25. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  –1 +/
Сообщение от Аноним (24), 02-Фев-24, 11:03 
И xrandr это просто CLI утилита над иксовым DDX драйвером.

P.S. Специально для грамар наци: `s%/патчь/патч/g`

Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  –1 +/
Сообщение от Moomintroll (ok), 02-Фев-24, 11:41 
> xrandr это просто CLI утилита

Точно?

https://www.x.org/archive/X11R7.7/doc/man/man3/Xrandr.3.xhtml

Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +/
Сообщение от Аноним (24), 02-Фев-24, 12:08 
Изначальное утверждение на которое был написан ответ:

> Для управления дисплеями используется xrandr.

А по твоей же ссылке на доку написано

> Xrandr is a simple library designed to interface the X Resize and Rotate Extension.

Это фронтэенд над функциями X11. Есть CLI утилита xrandr, а есть библиотека libXrandr.so чтоб можно было слинковаться и вызвать нужные функции из своей программы.

Что это меняет? libXrandr и xrandr являются фрондером над RandR, а про него написано следующее.  

> RandR as implemented and integrated into the X server

Я добавлю что он как раз и использует DDX драйвер, и например, если ты поменяешь разрешение то цепочка вызовов будет такой:

[libxrandr или xrandr] -> [x11:RandR] -> [x11:DDX (intel, amdgpu, nvidia,...)] -> [libDRM] -> [Kernel-DRM (intel, amdgpu, nvidia,...)]

Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +/
Сообщение от Аноним (56), 02-Фев-24, 12:21 
> [x11:DDX (intel, amdgpu, nvidia,...)]

x11:DDX (modesetting)

Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +1 +/
Сообщение от vitalif (ok), 02-Фев-24, 16:50 
>Расскажи как именно 2D рисуется через 3D?

Именно так, через opengl, через шейдеры

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

83. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +/
Сообщение от kravich (ok), 04-Фев-24, 09:35 
Да Зенитарка, ты временами странный, но в Linux-археологии тебе равных нет, спасибо
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

92. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +1 +/
Сообщение от Zenitur (ok), 05-Фев-24, 13:19 
> Да Зенитарка, ты временами странный, но в Linux-археологии тебе равных нет, спасибо

Пожалуйста. Согласен, у меня такое есть. Бывает - напишу комментарий, а через несколько часов (когда в голове складывается более полная картина), я возвращаюсь и редактирую. Тогда людям нравится. По этой причине, у меня на ЛОРе под некоторыми комментариями "отредактировано 10 раз".

А лучше не отправлять комментарий сразу, а дать ему настояться. Прочитать несколько раз перед отправкой... Бывает, что я нахожу свой же комментарий, отправленный несколько лет назад - и понимаю, что я имел в виду не то, что в нём написано... Жаль, что их уже не отредактируешь.

По поводу Linux-археологии - что-то застал, а что-то узнавал уже пост-фактум. Причём в 2005 я думал "ну вот, это уже новодельные линуксы - с UTF-8 и GTK2 с Clearlooks - а вот в 1999-2001 было тру, а сейчас уже поздно вкатываться в это..."

P.S. А ещё я жалею, что не видел Mac OS X Tiger в годы актуальности. Следующий релиз Snow Leopard вроде как был последним нормалаьным. А потом началась плоскота.

Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз Mesa 24.0, свободной реализации OpenGL и Vulkan "  +1 +/
Сообщение от Аноним (24), 02-Фев-24, 11:42 
> Само же окружение рабочего стола рисуется на OpenGL, через mesa, ответственный за это компонент mesa называется Glamor.

Есть одно ошибочное утверждение, разумеется Glamor это часть xorg, входящая в DDX драйвер. Glamor рисует все через OpenGL или OpenGL ES (у одноплатников и телефонов обычно только такой драйвер), ну и разумеется glamor'у пофиг будет ли OpenGL реализован открытым драйвером mesa или проприетарным драйвером nvidia/qualcomm/broadcom/etc, главное чтоб нужные функции были.  
А если драйверов нет и 3D не работает, то mesa будет использовать программную реализацию OpenGL которая называется llvmpipe, на выходе вы получите очень тормазнутный UI как и 3D. Такое можете увидеть если у вас нет драйвера, или например видеокарта выпущена значительно позже дистрибутива, или в виртуалке если она не прокинула свой OGL драйвер-адаптер переадресующий вызовы в вашей видокарте на хост машине.  

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру