vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2015-11-16 10:40 am

Virtual 3d

Технология виртуализации 3d-графики мало помалу пробивает себе путь.

Мы уже имеем Linux 4.4 (сегодня)
QEMU 2.5 rc0 (позавера)
и поддержку VirGL в Mesa (пока только в транке, не отрелизено).
Не хватает еще guest-драйвера для Windows, чтобы пускать 3d игры в kvm.

Я, правда еще не совсем понял, нужно ли для использования virtio-virgl драйвера в KVM иметь ядро 4.4 на хосте или драйвер в ядре нужен только в guest. Но, полагаю, что к тому времени как у меня дойдут руки с ним поиграться, появятся более-менее вменяемые howto по настройке.

[identity profile] amarao-san.livejournal.com 2015-11-16 12:07 pm (UTC)(link)
Это уютная сказочка. В настоящий момент линуксовые игрушки (в т.ч. от valve'а) показывают ощутимо худшую производительность, чем их виндузявые версии.

При этом у X'ов есть ряд родных проблем (тиринг, например, который невозможно побороть полностью), адская небезопасность приложений друг от друга и т.д.

[identity profile] beldmit.livejournal.com 2015-11-16 12:24 pm (UTC)(link)
Почему Google?

И Qubes ты тоже считаешь добивающими идею универсального компьютера?

[identity profile] amarao-san.livejournal.com 2015-11-16 01:02 pm (UTC)(link)
Ну, я бы частично с этим согласился, если бы часть приложений не исполняли бы постронний неизвестно кем написанный код (ака браузер с JS'ом). Реалии таковы, что мы это позволяем, а значит, не должно быть ситуации, чтобы приложение "под скринсейвером" могло читать ввод пароля в скринсейвере.

[identity profile] amarao-san.livejournal.com 2015-11-16 01:30 pm (UTC)(link)
Ну, чисто теоретически, я хотел бы (хотя бы на уровне приложений) разрешать/запрещать перехват ввода/вывода других приложений.

У меня steam работает в network namespace от пользователя steam. И всё хорошо - но каждая игрушка имеет доступ к всем X'ам. И меня это напрягает.

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-16 14:49 (UTC) - Expand

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:40 pm (UTC)(link)
Над этим, конечно, надо работать -- но по факту правильно заметили, что оно и в винде в большынстве случаев неработает.

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:41 pm (UTC)(link)
А вообще, конечно, скринсэйвер в многопользовательской ОС должэн вызывать экран выбора пользовательской сэссии с возможностью запустить новую... Потому рутовый экран, конечно, аналог *dm.

[identity profile] amarao-san.livejournal.com 2015-11-16 04:27 pm (UTC)(link)
С другой стороны меня lightdm'овский лок страшно бесит, потому что после лока компьютера все мои процессы оказываются приостановлены (включая ssh'и, которые начинают отвалиться по таймаутам).

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-16 16:33 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-16 16:39 (UTC) - Expand

[identity profile] permea-kra.livejournal.com 2015-11-16 01:02 pm (UTC)(link)
Это не сказочка. Тормоза там не в OpenGL API, а в иксах. Тормоза, разумеется, есть.

Плюс, еще, physX нет под линуксом.
Edited 2015-11-16 13:17 (UTC)

[identity profile] amarao-san.livejournal.com 2015-11-16 01:33 pm (UTC)(link)
Если быть точным, основная претензия к opengl (помимо общего насчёт перегруженности расширениями) - в том, что там все операции глобальные, то есть нельзя легко оставить программу наедине со своим окном (в котором оно рисует используя локальный хэндлер), или организовать context-switching. Все переменные в opengl задают глобальный контекст, который никак не подразумевает переключение между рисующими конкурирующими приложениями

[identity profile] amarao-san.livejournal.com 2015-11-16 02:53 pm (UTC)(link)
Ну, всё, кроме GPU и всякой экзотической перефирии довольно неплохо на x86 виртуализировано. Сеть/диск/CPU - так просто великолепно. А вот с GPU проблема как раз в том, что сама железка плохо готова к виртуализации, а уровнень интерпретации/трансляции/изоляции оказывается неприлично дорогим по ресурсам. Примерно на уровне эмуляции старого железа (e1000). Жить можно, пользоваться в продакшене - уже не очень.

[identity profile] permea-kra.livejournal.com 2015-11-16 03:18 pm (UTC)(link)
Я категорически возражаю.
opengl контекст является локальным для треда, даже в разных тредах он имеет право быть разным.

И да, это на самом деле НЕ минус, поскольку потенциально быстрее локальных операций.

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:37 pm (UTC)(link)
+1. Да, opengl завязан на сраный pthreads, но это работает.

[identity profile] amarao-san.livejournal.com 2015-11-16 04:20 pm (UTC)(link)
Но он не является локальным для экрана. То есть какая-то внешняя сущность не может сказать в любой момент времени "стоп, ща рисуем state для другого десктопа". Так, чтобы первая сущность, когда ей вернут управление, могла бы продолжить рисовать используя те же id.

Точнее, там есть какая-то адская прослойка, но она вся полна неудобств, деградаций в производительности и т.д.

(no subject)

[identity profile] mc6312.livejournal.com - 2015-11-16 18:10 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 12:15 (UTC) - Expand

(no subject)

[identity profile] mc6312.livejournal.com - 2015-11-17 15:31 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 16:04 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 11:37 (UTC) - Expand

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:47 pm (UTC)(link)
>(помимо общего насчёт перегруженности расширениями)

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

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:44 pm (UTC)(link)
Тормоза, разумеется, выдуманы. Иногда имеющиеся -- объясняются отличиями в драйверах. Тормоза от иксов -- вообще сказочка, учитывая, что отрисовка ускоренного 3D в виндах и линуксе имеет практически одинаковый codepath.

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:35 pm (UTC)(link)
Тиринг выглядит достаточно мифической проблемы, поскольку я так и не смог увидеть нормальное объяснение, что это такое и как это заметить IRL.

С безопасностью друг от друга в винде и макоси -- не лучшэ.

[identity profile] amarao-san.livejournal.com 2015-11-16 04:22 pm (UTC)(link)
Ну, у меня на 27" в 2560x1440 в видео - всегда есть. Какие бы режимы я не включал и как бы я с этим не боролся. В играх чуть лучше, потому что там разрыв менее заметен, но в видео с 25 кадрами - прям пальцем ткнуть можно.

Насчёт безопасности - по моделе нет, на практике, для winlogon'а специальные костыли со специальным режимом ввода пароля.

[identity profile] tzirechnoy.livejournal.com 2015-11-16 04:34 pm (UTC)(link)
-vo gl и framesync пробовал? Это AMD или nvidia?

[identity profile] amarao-san.livejournal.com 2015-11-16 04:39 pm (UTC)(link)
nvidia. gl и gl2, разумеется, пробовал. framesync - это кто и что?

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 11:35 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-17 12:08 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 12:17 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-17 12:35 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 15:10 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-17 15:20 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 15:25 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-17 15:26 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-17 15:32 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-18 08:45 (UTC) - Expand

(no subject)

[identity profile] amarao-san.livejournal.com - 2015-11-18 10:25 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2015-11-18 10:45 (UTC) - Expand

[identity profile] tzirechnoy.livejournal.com 2015-11-16 03:39 pm (UTC)(link)
Что-то я как ни смотрю на очередные тэсты phoronix -- так такой однозначной корреляцыи не заметил.

physX на нвидии, да, под виндой выигрывает. Но где тот physX, да и не везде nvidia.