LINUX.ORG.RU

Что надо прочитать, чтобы понять как работает DRI3?

 


0

1

Я слышал, что это расширение к протоколу X11, которое позволяет передавать графические буферы из приложения в приложение. Но мне совершенно непонятно, как это происходит. Ведь графические буферы находятся в памяти видеопроцессора, а не в памяти центрального процессора.

Ответ на: комментарий от i-rinat

Давай подумаем, где такое может быть:

  1. чтобы текст с гиперссылками
  2. на русском языке
  3. про Linux

Я считаю что это где-то на LOR wiki

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

> i-rinat, как хорошо было, пока тебя не было, и вот опять…

Это очень крутой чел, он сделал libvdpau-va-gl, при помощи которого я смотрел youtube с аппаратным ускорением на своём нетбуке. Пока в 2016 году youtube не рубанул поддержку флеша. А ещё вернул поддержку ALSA в Skype после её дропа. Пока в 2017 Майкрософт не дропнул нативный клиент для линукса, выкатив вместо него веб-клиент в обёртке Electron.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Laz всё правильно сказал. Indirect Rendering и DRI это вещи прямо противоположные. Когда ты сказал, что тебя интересует только Indirect Rendering, то это противоречило вопросу «как работает DRI3»

ZenitharChampion ★★★★★
()
Ответ на: комментарий от i-rinat

>> прямой доступ к монитору

> Чисто программно формировать видео-сигнал, что ли? :-D

Я представлял современные видеокарты так. Из чего и строил предположения про «непрямой рендеринг», мол картинка идёт из 3D-ускорителя (который раньше был отдельным устройством) по шине PCI в 2D-видеокарту. А когда они стали единым устройством, то это стало сродни звонку из одной квартиры в другую через Москву. Поэтому изобрели «прямой рендеринг». Я исходил из логики. Хорошо что gremlin_the_red объяснил мне, как это на самом деле.

Я перепутал с DMA. С также с FPU, который в 386 был отдельным чипом, в 486 стал частью процессора, про проги всё ещё считают его отдельным устройством.

P.S. Ты смотри-ка, мне только что дали картинку посмотреть, и там, в самом низу, картинка сначала идёт в CPU, потом в GPU. Так я не очень бредово предполагаю, про звонок из квартиры в квартиру через Москву?

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 4)
Ответ на: комментарий от Einstok_Fair

На картинке у тебя получается, что часть приложений работают с OpenGL напрямую (DRI), часть - через X-Server (Indirect Rendering), как и описал gremlin_the_red. А также используется плагин AIGLX, позволяющий самому X-серверу быть приложением OpenGL, что позволяет включить эффекты рабочего стола.

Смотри, когда на Маках появился композитинг (сначала программный, а после появления GeForce 2 и Radeon 7000 - аппаратный), то композитинг начали добавлять в Linux. Начали примерно в 2003 году, а юзабельным это стало в 2006.

X-Server мог запустить внутри себя приложение OpenGL (в окне или на полный экран) через плагин GLX, но не сам быть таким приложением. Чтобы X-Server тоже стал OpenGL-приложением (и появилась возможность рисовать эффекты рабочего стола), в него вставили dirty hacks. Пропатченный X-Server получил имя XGL. И XGL не умел DRI, glxinfo выдавал Direct Rendering: no. Избавиться от этих dirty hacks помог бы переход с GLX на EGL, но EGL в тот момент был в зачаточном состоянии.

Наконец, разработчики из Fedora Linux предложили расширение AIGLX, позволяющие X-серверу быть приложением OpenGL, и при этом не использовать Dirty hacks. XGL перестали разрабатывать после версии 1.1, но ещё некоторое время держали в репозиториях дистрибутивов

Это актуально для дистров, выпущенных до 2008 года. Если ты запустишь Ubuntu 7.04 и установишь Beryl из репозитория Universe, ты там увидишь мультивыбор между XGL, AIGLX и NVIDIA.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 6)
Ответ на: комментарий от Einstok_Fair

а потом убийцей

ТНН, всё правильно сделал

anonymous
()
Ответ на: комментарий от ZenitharChampion

Я не понял, зачем ты всё это написал.

AIGLX сейчас есть, или его сейчас нет? По твоим словам есть. Мне подходит. На картинке написано, что это «inderect rendering». Я написал, что мне нужно именно это.

А «direct rendering» - это другая стрелочка, это не то, что мне нужно. Это то, что мне не нужно сейчас.

Вот что твой комментарий должен мне сказать?

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

> Я не понял, зачем ты всё это написал.
> Вот что твой комментарий должен мне сказать?

Я пытаюсь разобраться вместе с тобой

> AIGLX сейчас есть, или его сейчас нет?

AIGLX создали для композитинга. Когда композитинг выключен, то AIGLX не используется. Я понимаю так.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Что за инфантилизм и трусость? Сделай себе отдельную ветку и там твои вопросы задай.

Настройка композитинга - это вероятно настройка менеджера окон.

Разве ты не видишь, что на картинке выбор между Direct и Indirect Rendering осуществляется клиентом, а не сервером и не менеджером окон?

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от sr11

Вот зачем ты это сделал.

Чего плохо в том что @serioja вместо того чтобы утаивать информацию взял и как приличный человек дал человеку нужную информацию без всякой клоунады с поедложением читать английские тексты, которые мало того что на неизвестном ТС языке, так ещё наверняка и написаны через одно место?

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

AIGLX сейчас есть, или его сейчас нет?

Есть, но по умолчанию отключен.

       Option "IndirectGLX" "boolean"
              enable or disable indirect GLX contexts. Indirect GLX contexts are disabled by default.
gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Большое спасибо, ценная и нужная информация. Включу.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от torvn77

А (гугло)перевод этого же текста вдруг станет написан нормально чтоле?

anonymous
()
Ответ на: комментарий от ZenitharChampion

картинка сначала идёт в CPU, потом в GPU

Ты ведь понимаешь, что все программы и компоненты программ, изображённые на рисунке, находятся и исполняются в CPU и памяти? Они не могут «идти в CPU».

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Я, я не понимаю. Я-то хочу, чтобы компоненты программ исполнялись на GPU, и данные были в видеопамяти.

А ты злой и не хотел мне про Вулкан рассказывать.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от torvn77

Желающие читать машинный перевод могут самостоятельно прогнать оригинальную страничку через переводчик.

Чего плохо в том

В том, что читатель предполагает, что это нормальный текст, написанный человеком. Грамотно. А там такое.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Даже если эта страница является переводом википедии, то всё равно она переведена качественно и называть её гуглопереводом это нанесение не обоснованной обиды тому кто этот перевод делал.
Во вторых, если человек не знает английский то он даже с гуглом не сможет прочитать англоязычный текст без знакомства с предметом описания на русском.(гугл в этом случае обычно только путает)

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 3)
Ответ на: комментарий от torvn77

Пиксельные изображения и вводимый коэффициент

Окна и растровые изображения совместно с именем вводимого коэффициента , и их данные содержимого находится на сервере. Однако клиент может запросить содержание растяжимой передаваться от сервера к клиенту или наоборот.

Если окно покрывается другим окном и непокрытые снова, предполагая, что резервное хранилище не поддерживается:

Новая кухня бар красный Fun счастливый человек пиво сода открывалки

В системе X Window, каждый человек, физический ключ связан ряд в диапазоне 8-255, называется его код ключа .

Xlib делает клиент синхронно относительно ответов и событий

i-rinat ★★★★★
()
Ответ на: комментарий от torvn77

Этот странник называет это, хотя это перевод из Википедии, это перевод высокого качества. Переводчик Google не вызвал недовольства, чтобы сделать этот перевод легальным Во-вторых, если человек не понимает английский язык, даже если Google не может прочитать текст на английском языке, даже если он не знаком с предметом, объясненным на русском языке. (В этом случае гугл обычно просто запутался)

anonymous
()
Ответ на: комментарий от i-rinat

Но мне-то надо понять, как загрузить несколько штук GPU, и как конкретно для GPU программы писать. И как буферы GPU из одной программы в другую передавать.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от torvn77

Вот жеж.

Да по той ссылке википедия с нормальной русской версией, а не это мозгоклюйство.

sr11
()
Ответ на: комментарий от Einstok_Fair

как загрузить несколько штук GPU, и как конкретно для GPU программы писать

Тогда тебе стоит начать читать отсюда: https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol03-gpu_overview.pdf, ну и там далее по мануалам.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Зачем мне ноут и как я к нему много мониторов (>=3) подключать буду?

Кроме того нельзя, я же писал тут где-то про Амишей и нищебродство.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

Ты пришёл сюда за советом о том, как попроще? Ну так вот, с AMD не всё просто, потому что у них не вся информация доступна. Intel публикует больше документации. NVIDIA почти ничего не публикует. Поэтому если хочется начать, лучше выбрать интегрированные GPU от Intel.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Я надеялся, что разработчики Linux уже сделали что-то для прикладных программистов. Поэтому я пришел сюда не «как проще», а конкретно свой комп запрограммировать.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Да, сделали, и много. Все вот пользуются, и им хватает. Но у тебя особые требования, поэтому у тебя особый путь.

У прикладных программистов есть некая цель, которую они хотят достичь. Они используют готовые инструменты и готовые интерфейсы. Им нет надобности лезть в детали устройства DRI, чтобы решить свои задачи. А ты вот хочешь в потрохах покопаться. Ну, удачи. Никто не обещал, что это будет легко.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Все вот пользуются, и им хватает.

Кто все? Если бы тут хоть кто-нибудь был, была бы вики на русском языке про Linux. Я нашел 4 штуки по дистрибутивам: https://www.altlinux.org/ALT_Linux_Wiki:Main_Page https://wiki.astralinux.ru/ http://wiki.rosalab.ru/en/index.php/Main_Page https://wiki.calculate-linux.org/en/

но ни одной общей. Это значит, что никаких мифических «всех» не существует.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Кто все? Если бы тут хоть кто-нибудь был, была бы вики на русском языке про Linux.

В программировании изучение технического английского — не самая сложная часть. Там же всё просто. Если ты не можешь выучить полтыщи слов, как ты собираешься программировать?

Это значит, что никаких мифических «всех» не существует.

Эй! У нас тут инклюзивное сообщество, вообще-то!

i-rinat ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Хватит уже заниматься дискриминацией по языку! Твоё требование русского в технической документации просто ужасно! Они умеют только английский. Ты должен понять и принять, если ты, конечно, не языковой агрессор.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Твоё требование русского в технической документации просто ужасно!

Моё требование законно. Закон о государственном языке + о защите потребителей.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

А, ну тогда вопросов нет. Можешь требовать возврата уплаченной суммы в полном размере.

i-rinat ★★★★★
()
15 июня 2021 г.
Ответ на: комментарий от anonymous

Короче Вялый сидит на ДРМ драйвере.

на сколько я понимаю это подлый обман — wayland это всего лишь протокол — как ты его реализуешь дело твое — и в твоей реализации конечно он может использовать drm, но в другой нет.

safocl ★★
()
Ответ на: комментарий от anonymous

ДРИ нужен для того, чтобы графон летел не через сокет, а напрямую в видяху.

ну в общем то графон из видяхи при этом и не выходит — просто позволяется переиспользовать уже созданные на GPU буфферы картинок. Отсюда и двусторонние изменения объектов — по Fd и самого pixmap в xorg.

safocl ★★
()
Ответ на: комментарий от anonymous

И хоть рнальный выхлоп от этого всего 1-2%, кто-то с этого радуется

и тут снова обман — считаю. — выхлоп астрономический — если копировать pixmap с хоста на GPU — то эта операция занимает примерно 95% времени CPU от всей нагрузки композитного менеджера.

safocl ★★
()
Ответ на: комментарий от safocl

Зачем ты эту бяку из канализации поднял? Я уже почти забыл про этого истеричного мудака.

anonymous
()

Это что за восстание из мертвых!?

BceM_IIpuBeT ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.