LINUX.ORG.RU

Графика через Х-ы

 ,


0

2

Всем привет.

Подскажите, правильно ли я понимаю, что если я подключусь к компу с установленным линуксом, например, через ssh с пробросом Х-ов и запущу к примеру игрушку, то обработка графики будет производиться на сервере, а само изображение передаваться на клиент?или наоборот?

Наоборот. Ты запускаешь программу по ssh на сервере, она конектится к твоему X серверу.

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

получается в итоге, графика обрабатываться будет на клиенте?у клиента должно быть хорошее железо?

wertklop
() автор топика
Ответ на: комментарий от yoghurt

мне нужно, чтобы все запускалось и использовало ресурсы мощного сервера, а не клиента. для этого обязательно настраивать терминальный сервер или достаточно использовать проброс Х-ов?

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

даже на 100 мегабитах картинка не сможет во вменяемом качестве лететь в 60 кадров.

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

мне нужно, чтобы все запускалось и использовало ресурсы мощного сервера, а не клиента. для этого обязательно настраивать терминальный сервер или достаточно использовать проброс Х-ов?

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

Не следует что либо использующие OpenGL запускать через ssh туннель.

rezedent12 ☆☆☆
()
Ответ на: комментарий от sid350

смотрю видео на тыртубе по данной либе, вроде нормально отображает, а как на практике, кто-нибудь использовал?

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

пробуй спайс с пробросом видюхи в виртуалку

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

Запустить сможешь только древние игры, да и те с 20 FPS в окошке.

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

OpenGL библиотеке драйвера, а та через блочное устройство обращается к драйверу
блочное устройство

это ты так dri-интерфейс обозвал?

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

Это он обозвал символьное блочным.

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

это ты так dri-интерфейс обозвал?

Не знаю.

$ ls /dev | grep nv
nvidia0
nvidiactl
$ ls /usr/lib/glx/ 
check-for-conflicting-opengl-libraries  legacy-173xx  nvidia-bug-report.sh
check-for-mismatching-nvidia-module     libglx.so     nvidia_drv.so
create-xorg-nvidia-conf-experimental    nvidia        pre-install
$ ls /usr/lib/ | grep gl
fglrx
gegl-0.0
glib-networking
glx
libdbusmenu-glib.so.1
libdbusmenu-glib.so.1.0.11
libftgl.so.2
libftgl.so.2.1.3
libgdata-google-1.2.so.1
libgdata-google-1.2.so.1.0.0
libgdkglext-x11-1.0.so.0
libgdkglext-x11-1.0.so.0.0.0
libgegl-0.0.so.0
libgegl-0.0.so.0.22.0
libglade
libglade-2.0.a
libglade-2.0.la
libglade-2.0.so
libglade-2.0.so.0
libglade-2.0.so.0.0.7
libglee.so.0d1
libglee.so.0d1.0
libgtkglext-x11-1.0.so.0
libgtkglext-x11-1.0.so.0.0.0
libmowgli.so.1
libmowgli.so.1.0.0
libnm-glib.so.2
libnm-glib.so.2.4.3
libnm-glib.so.4
libnm-glib.so.4.3.0
libnm-glib-vpn.so.1
libnm-glib-vpn.so.1.1.0
libpoppler-glib.so.4
libpoppler-glib.so.4.0.0
libpyglib-2.0-python2.6.so
libpyglib-2.0-python2.6.so.0
libpyglib-2.0-python2.6.so.0.0.0
libpyglib-2.0-python2.7.so
libpyglib-2.0-python2.7.so.0
libpyglib-2.0-python2.7.so.0.0.0
libpyglib-gi-2.0-python2.6.so
libpyglib-gi-2.0-python2.6.so.0
libpyglib-gi-2.0-python2.6.so.0.0.0
libpyglib-gi-2.0-python2.7.so
libpyglib-gi-2.0-python2.7.so.0
libpyglib-gi-2.0-python2.7.so.0.0.0
libupower-glib.so.1
libupower-glib.so.1.0.2
libx11globalcomm.la
libx11globalcomm.so.1
libx11globalcomm.so.1.0.0
rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12
% file /dev/dri/card0 
/dev/dri/card0: character special

если чо

x4DA ★★★★★
()

Вкратце, то в Х клиент и сервер поменяны местами.

У пользователя выполняется Х-сервер! И он требует хороший графический процессор. Поскольку именно он отвечает за графику. На ЦПУ ему как бы пофигу.

На сервере (не Х!) выполняется именно процессорозависимая часть.

При этом пересылка по сети отрисованных bitmaps, как основного средства обработки и показа графики, неэффективна. Хоть по такой схеме и работают все современные toolkits GTK|QT. В идеологии Х происходит пересылка команд на прорисовку примитивов и в придачу некоторое количество битмапов, что бы Х-сервер их использовал для отрисовки кадра.

Из замечаний. Х-сервер требователен к задержкам. То есть, если для примера у тебя канал между сервером и клиентом 256 кбит/сек и пинг 1-2 мс и меньше, то это лучше чем 1 Мбит и пинг до 20 мс.

На примере World of Tanks это выглядит так. Есть сервер с ЦП штеуд ай7 и 2 ГБ ОЗУ, но видюха только рабочий стол показывать. Стоит в туалете. Там считается физика, загружаются карты и т.п. У тебя на столе стоит Пень3 с 1ГБ ОЗу и опупенный AMD R9 290 w/ 2 GB GDDR5. Вот на Пень3 крутится Х-сервер и считает графику. А на ай7 в сортире сама игра.

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