LINUX.ORG.RU

если я хочу нарисовать что-то в linux


0

3

Если я хочу попросить видеокарту что-то нарисовать, достаточно ли мне ядерного модуля и libGL + libdrm?

Или мне обязательно придется тащить X11, wayland, либо писать самому аналог?

В общем, что является минимальным набором, позволяющим полноценно использовать видеокарту?

★★★★★

Последнее исправление: cvs-255 (всего исправлений: 2)

Ответ на: комментарий от olibjerd

Ну например 2d + 3d. Что мне необходимо, чтобы обратиться к видеокарте? Ядерный модуль + libgl + libdrm? Или еще что-то необходимо?

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)

В общем, что является минимальным набором, позволяющим полноценно использовать видеокарту?

ядро. ванильное ядро. На уровне приложения (велосипеда) вы лишитесь возможности юзать ДМА и аллоцировать непрерывные куски физ.памяти, остальное вам по прежнему доступно. Нет проблем чтобы делать low-level на уровне vesa-режимов в одном приложении. Будет тормозить, чихать, но работать..на уровне 20-летней давности

Смысланет :)

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

ядро. ванильное ядро. На уровне приложения (велосипеда) вы лишитесь возможности юзать ДМА и аллоцировать непрерывные куски физ.памяти, остальное вам по прежнему доступно. Нет проблем чтобы делать low-level на уровне vesa-режимов в одном приложении. Будет тормозить, чихать, но работать..на уровне 20-летней давности

позволяющим полноценно использовать видеокарту

Ну например я хочу запускать только одно графическое приложение, потому вся муть с композиторами и X-сервером мне не нужна.

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

SVGAlib - жутко устаревшее, как и само svga/vesa. Я спрашивал про нормальную работу с видеокартой.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от init_6

Ну это я читал. Но там расписано, как работают драйвера GL и как рисуют через Xorg. Но если мне совершенно не нужна оконная система и всякий композитинг, xorg и wayland явно лишние.

cvs-255 ★★★★★
() автор топика

dri драйвер и fb должно хватить, рисовать через cairo

dimon555 ★★★★★
()
Ответ на: комментарий от cvs-255

Озвучь пожалуйста всю проблему целиком. Поскольку во первых вот это

Ну например я хочу запускать только одно графическое приложение, потому вся муть с композиторами и X-сервером мне не нужна.

и это

доступ к 2d + 3d + аппаратное ускорение

сразу же вызывает у меня противоречивые эмоции…

А во вторых я все же вангую что „отца русской демократии“ спасет к примеру тот же GTK on DirectFB и вот тебе ВНЕЗАПНО графическое приложение без иксов и прочей «ненужно мути» ага.

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

что „отца русской демократии” спасет

на самом деле не спасёт, потому что он захочет курсор мышки нарисовать и тут же расстроится. или второе приложение с всплывающим текстом.

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

на самом деле не спасёт, потому что он захочет курсор мышки нарисовать и тут же расстроится. или второе приложение с всплывающим текстом.

А просто так ванговать можно тоже бесконечно. Правильно и полностью озвученная задача в данном случае уже больше половины решения.

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

А насколько хорошо EGL поддерживется в линуксе? И какими драйверами?

mono ★★★★★
()

Про фреймбуфер (и опенГЛь поверх) уже говорили?

// правда, на человеческих видеокартах, увы, это не работает ☹

Anon
()

И вашпе: чем тебе иксы не нравятся? В отличие от современных поделок всяких Поцев, иксы — суперлегкая и шустрая штука. И ничего сложного в писанине под xlib нет.

Anon
()
Ответ на: комментарий от cvs-255

доступ к 2d + 3d + аппаратное ускорение

а оно вам реально нужно, или это так, флейма ради? просто помятуя старый-добрый-дос и демо-сцены - если выкинуть жырную постройку ядра linux и напрямую работать с железом, то для отдельной задачи вы вполне обгоните любой GL :)

но наверное нужен ещё и ввод/вывод и сеть и авторизация и стандартные элементы GUI и многоязыковая поддержка и ещё 100500 нюансов из-за которых отказ от X-ов и DE окажется глупостью.

MKuznetsov ★★★★★
()

что является минимальным набором, позволяющим полноценно использовать видеокарту?

драйвер и HAL. в принципе, достаточно реализации OpenGL и доступа к FB

достаточно ли мне ядерного модуля и libGL + libdrm?

если ты не собираешься писать X-совместимый менеджер композиций, libdrm тебе тоже не нужен

обязательно придется тащить X11, wayland, либо писать самому аналог?

X11, Wayland, Mir, SurfaceFlinger - это всё менеджеры композиций. нужны они для того, чтобы выводить на экран графику более чем одного приложения одновременно. никакой магии

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

нужны они для того, чтобы выводить на экран графику более чем одного приложения одновременно

Неа. Это — задача WM. А иксы тупо картинки выводят. Правда, без иксов нвидиевский блоб не работает, поэтому ничего у ТСа не получится.

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

Это — задача WM

нет. задача WM - управлять геометрией приложений. WM не делает общего изображения, которое уйдёт на FB и на железо - он, как правило, вообще не имеет доступа к HAL'у

иксы тупо картинки выводят

иксы делают довольно много всякой работы. тупо выводить картинки можно вызовом eglSwapBuffers на FB

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

Недавно ковырял очень старое и очень известное приложение, которое может отрисовываться поверх иксов, svgalib, directfb и кучи еще графических выводов. Внутри все это обзывается драйверами, есть таймеры и свой планировщик событий, своя обертка для сети, самодельные прерывания (события от терминалов как минимум), контролы вроде скроллбаров отрисовываются тоже самостоятельно. Похоже нету работы со звуком, но может я ее просто не нашел. Своя встроенная система рендеринга шрифтов + система пост-процессинга графики, из-за которой шрифты гораздо читабельнее всех этих ваших фритайпов. Причем приложение вполне юзабельно и по сей день, а по скорости рендеринга оставляет конкурентов далеко позади (тормозов вроде GTK нету - тормозить нечему).

На фоне всего этого, таски вроде «нарисовать мышку» или «авторизация» выглядят чем-то смешным и неуместным.

К чему это: если человек спросил за доступ к видеокарте напрямую, то не надо его отговаривать и пугать глупостями.

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