@Ty22M3
IT

Проброс бытовой видеокарты. RDP. Samsung DeX. Альтернативы?

Добрый вечер.
Домашний сервер для двух виртуалок.

Хотелось бы задать конкретный и точный вопрос, но. Но чтобы правильно задать вопрос надо знать большую половину ответа.

И все же попробую.
Всегда мечтал иметь компьютер в кармане. Для работы. Ноутбук - когда возьмёшь, когда нет. Карманный God win по итогам тоже забывался.
Мечта почти удалась с появлением Samsung DeX. Ради него слез с iPhone и порой настольгирую.
Добавил к нему ноутбучную станцию Dell и мечта.

Как всегда бывает, реальность внесла свои коррективы.
1. По работе нужен exel. Не андройдовский. И не либрэ офис и прочие аналоги. А именно родной, виндовый. Финансисты поймут.
2. Photoshop. И тут уж без заменителей.
3. Adobe premier. А с покупкой сыну нового dji magic, кодек нужен h.265

Выход прост. Удалённый компьютер. Но опять не без засады. Нормально в Samsung DeX оптимизирован только RDP.

Ну RDP так RDP. Настроили, поехали. Упс. А чего это видео тормозит? Вроде канал же хороший? Гуглим. Ясно, это вопрос RDP, ну не для того он. Надо remotefx. А. Он на виртуалках только.

Ставим windows server 2016. Ставим две виртуалки. А их нужно именно две. Себе и жене для photoshop. На виртуалки ставим windows 10 ent.
Фиг. Надо подбрасывать видеокарты. И не какие-нибудь.

Находим Nvidia Grid 2. Б/у не так дорого. Как это чип устаревший и не поддерживает кодирование H.265? А сколько стоит не устаревший? Не, мне одну карту а не 10. Это цена за одну? Мдя.

Собственно вопрос:
1. Можно ли приобросить в виртуалку бытовую видеокарту и чтобы в виртуалку работали все технологии нужные для "ускорения" RDP и использования видеокарты внутри виртуалки? Был ли опыт?
2. А можно ли как-нибудь ускорить RDP не на виртуалке? Причем тогда, чтобы два раза не вставать: две одновременные сессии на window 10 (на server много софта не работает нужного). Это вроде возможно, но как оно работает? Буду рад мнениям. Спасибо.
  • Вопрос задан
  • 4081 просмотр
Пригласить эксперта
Ответы на вопрос 9
@llliax
Пару лет назад перевел рабочие компы (8 шт) на один сервер с ESXI и GRID K2. Также пробовал proxmox. Так работали до недавнего времени, пока я не понял очевидные вещи, о чем сейчас поделюсь.
1. Карты типа quadro прошлых поколений можно успешно находить по стоимости не дороже geforce. Знаю даже что можно некоторым картам подменять id, чтобы они превращались в quadro. Так или иначе, не надо проблему создавать на уровне выбора видеокарты, а сразу приобретать карты серии quadro или tesla. Например p2000 я купил весной за 15 т.р., а tesla p4, аналог quadro p4000 по моему, стоит на ebay сейчас 25 т.р.. Это годные решения.
2. Видеоресурсы в моих задачах (cad программы) оказались не столь сильно задействованы как изначально казалось. Карты p2000 нам хватает на 8 рабочих мест и работать на ней приятнее, чем ранее на grid k2 с vgpu каждому. Памяти возможно не хватает, но процессоры не загружаются обычно более чем на 1/3. А память вполне себе добирается из оперативной. В этом плане следует уделять внимание ширине канала оперативной памяти, что кстати не многие делают. Следует уделять больше времени постановке вопроса и разбираться действительно ли вам нужна каждому такая вот видеокарта.
3. И ключевое. Я понял что ту задачу что ставил я и аналогичную ставят сейчас многие = сделать сервер, сделать к нему множественный доступ и пользоваться с него современными функциями, как с локальной машины - я начал решать в корне не верно. Последние года инет завален вопросами виртуализации машин и решением этих вопросов, с этим же связаны и все дорогостоящие решения. И во всём этом многообразие многие считают что терминальный сервер якобы не подходит для их задач. И тут кроется главный обман, который создается медийно в том числе и самой MS и VMWARE и CITRIX и Parallels и т.д. Да, это новые технологии. Да, для таких решений есть некоторый перечень действительных потребностей. Но то как это преподносится - это замена локальным компьютерам и тихо умалчивают что это не замена windows server. Решения на базе виртуальных машин (ВМ) годятся только в случае когда у вас действительно решаются на разных машинах разные задачи. Если у вас клиенты сервера пользуются схожими или одинаковыми ПО, то большую эффективность вы достигнете на терминальном сервере. Windows 10 это с раскрытым RDSH или это будет Windows Server это уже всё частности. Важно понимать, что как нет замены экселю, у автора, так и нет замены windows на сегодня. Windows приложения будут работать лучшим образом на железной, а не виртуальной машине, избавляясь от массы ненужных технологий как remote-fx, vgpu, sr-iov, passtrough и ещё целой массы каких-то костылей с пробросами. Лично мы перешли на windows server и нас это решение на сегодня вполне устраивает. Что немаловажно, это экономический вопрос. Windows Server и CAL лицензии к нему это самое дешевое решение для коллективной работы, чем какие-либо vmware, citrix (потому что например volumeapp используют в качестве базы именно windows server) и что угодно ещё, даже если proxmox и покупка windows 10 для ВМ.
Протоколы передачи. Использовали PCoIP от vmware и сейчас RDP. Использование PCoIP требует подписок, в районе 10 т.р. в мес. RDP получается в районе кажется 8 т.р. на 1 пользователя, но бессрочно! Технически и экономически мы упираемся в решения MS. А если сравнивать технические решения, то с учетом развития современных intel процессоров и встроенных графических адаптеров, развития протокола RDP, смысла в pcoip не остается. В последние пару лет появляются новые решения, работающие over https, в теории можно было бы уйти с CAL лицензий, но пока экономического и технического преимущества в этом нет.
Поэтому моя рекомендация. Если вы используете windows приложения и решаете вышепоставлнную задачу - используйте терминальный сервер и найдите доступную карту на авито или на ибей нвидия или амд карту, на которую есть драйверы для windows server. Малым решениям терминальный сервер больше рекомендовать буду даже на windows 10. MS кстати выпустила такую windows, называется кажется for virtual desktop и распространяется она для работы только в их серверных azure. Но именно это и есть будущее развитие windows. Windows Server несколько геморройней в части настроек. Но даже от 4-5 человек считаю что уже можно заводить Active Directory (у меня оно стоит на Synology) и пользоваться современными сервисами единого входа, гораздо удобнее управлять правами файлов. И не стоит тратить время на все эти Grid K2, или пробросы видеокарты.
Просто для справки, наш хост на 8 человек. AMD 3900x, 128 GB памяти (никогда не занято больше половины по факту), nvidia p2000 (отмечу что CAD у нас на 70% это 2d, но очень емкие файлы, которые память съедают), SSD, плата asrock x470d4u. И хватает этих ресурсов с головой. Переход был с хоста supermicro x9dri-lnf, 2 проца e5-2667v2, 128 GB памяти, GRID K2. Переход по процессору и видеокарте действительно заметен. Несмотря на то что в частоте выигрыш всего в районе 20%, по факту прирост по производительности ЦП выше в 2 раза. Видеокарта p2000 примерно в 1,5 раза производительнее и при этом она всегда используется целиком, без всяких ограничений или транзитных потерь. Единственный минус, ширина канала RAM снизилась более чем в 2 раза со 110 до 45 ГБ/с. Но в наших задачах пока не сильно заметно. Кстати энергопотребление при обычной нагрузке у нового сервера в районе 200 Вт, у старого в районе 400 Вт было. Фигня конечно, но так, для справки. Тише гораздо, не надо обдувать серверную карту больше.
Ответ написан
Комментировать
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Короткий ответ - Нет. (Ну, или современную GRID K1/K2 покупать)

Длинный ответ привел Денис _______________ - у него заработало. У меня нет. То есть идея состоит в том, чтобы поставить proxmox (KVM гипер + вебморда поверх) и на нем завести данный проброс. Проброс работает далеко не со всем железом - Денис _______________ недаром упирал на возможность смены матери. Проброс USB в KVM работает нормально. Звук - как-то пробовал пробрасывать, вроде работало, но без гарантий.

В итоге - очень долго, очень сложно, никакой гарантии, что заработает. Но, если заработает - можете гордиться :D
Ответ написан
take
@take
я люблю любить
Денис , хороший большой вопрос. Попробую дать похожий ответ. Решаю подобную задачу уже некоторое время.

Задача стояла подобная.

От RemoteFX я отказался сразу -- и вижу, по вашему опыту, не зря. Эти коммерческие парни завяжут вас в свой узел, и будут выжимать, как выжимают белье после стирки: Win-сервер --> hyperX --> windowsTM-VM --> Nvidia GRID и дрова по подписке. Клиенты с RDP обычные тоже не подойдут (скорее всего), только свои. Это что-же, значит покупать опять Windows и что там у них, а хочется с телефона или планшета, Surface.. ? Ну и т.д. Ведь они, -- назовем вещи своими именами, в сговоре. Недаром заблочены драйвера Nvidia в Windows для потребительских карт... В общем, я даже не стал смотреть в эту сторону.
(хотя чуть не купил Nvidia GRID в свое время год назад)

Стал рассматривать варианты вне Windows.

Решения в этом ключе есть у Citrix и VMWare. Первое дешевле второго. Там вот как все устроено. Главное, что Nvidia для них не блочит (но не помню для всех ли карт или опять же только для QUADRO, GRIDa, TESLA) Как оно работает: По аналогии с опробованным вами вариантом, ставите их сервера вместо Window Server, ставите Win-vm, пробрасывате видеокарту и вместе с их родными тонкими клиентами (не RDP) получаете заветное 3D ускорение. Если я не ошибаюсь, они перехватывают изображение передаваемое с видеокарты и передают попиксельные изменения по сети. Получается почти тот же vnc, но более оптимизированное с точки зрения картинки и скорости взаимодействия (кажется, все стриминговые сервисы сейчас тоже пошли по этому пути).

Но мне не хотелось связываться с проприетарными и платными решениями. Я стал, как и многие эксперементировать с ProxMox. Для успеха проброса там не много надо: поддержка материнской платой и процессором ряда технологий виртуализации и подключенный монитор к видюхе или заглушка, эмулирующая его. Проброс работает, Nvidia обманывается, драйвера встают (кстати, AMD карты тоже). Но как вы будете получать картинку с удаленного компьютера? RDP не передает 3D -ускорения, поскольку подменяет реальную видеокарту на сервере, виртуальной и рисует изображение с нее. (намеренно, ведь с RemoteFX на сервере -- он же все передает как надо). Кстати, W7и W10 домашние лицензии спокойно превращаются в сервера терминально доступа и держат несколько подключений пользователей одновременно: для этого меняется всего одна .dll (!)) Это к вопросу как все устроено. То есть серверная часть -- вся готова: все пробрасывается и все рисуется на хосте, на -- Windows7/64, к примеру, и держится множество подключений. Но все равно: как передавать по сети 3D? RDP -- нет, VNC плох. Можно через протокол SPICE, он быстрее RDP и лучше VNC, но там драйвер для видео свой: от RedHat и какое там ускорение? Никакого.

Есть хорошие новости о vGPU. RedHat заявила о поддержке этой технологии в своей последней версии ОС. Последний ProxMox поддерживает vGPU и я вижу народ уже пробует ее во всю с профессиональными картами Nvidia. Может посмотреть вам в эту сторону?

Я в свою очередь сейчас реализовал вот что. Эта новая технология называется looking-glass. Она позволяет запускать Windows-vm локально на Linux с проброшенной видео-картой и получать картинку в окне Linux-машины без потерь 3D.
Там не используется ни rdp/vnc/spice или попиксельный видео-поток, там данные снимаются с видео-карты и через фрейм-буфер передаются на Linux-host. То есть в своем первоначальном виде, без изменений. Подобно тому, как они бы передались на второй монитор в режиме заркала. Латентности (задержки) нет. На глаз нет.

Пока как-то так.
Ответ написан
@Drno
Вставлю свои 5 копеек.
На windows server через Hyper-v пробрасываются в виртуалку любые карты, по крайней мере зеленые работали. Как и через что снять с виртуалок картинку с 3d - тут не подскажу.

По второму вопросу - несоклько пользователей на любой версии винды. софт называет RDPWrapper!!! Этим Вы нарушите лиценз соглашение майкрософт. Но по сути просто подменяет dll на серверную версию)
Ответ написан
Может вам подойдёт вместо rdp?
https://moonlight-stream.org/
Ответ написан
inetstar
@inetstar
Автор, алгоритмист, поставщик серверного оборудова
Попробуйте сделать из вашей Windows 10 терминальный сервер.
Гуглится какая-то приблуда для этого.

Либо на Windows server придётся переходить.

Каждому пользователю дайте свои права.
При таком подходе виртуалки не понадобятся.

Тогда у вас будет возможность включить remotefx.

Другой вариант: Поставить на каждую виртуалку свою видюху недорогую.
Ответ написан
Diman89
@Diman89
К ответам выше добавлю что на esxi успешно пробросилась и работает видюха от "красных" (от зелёных пробросится, но вряд-ли заработает)
Ответ написан
@jusitnow
В Hyper-V два варианта
Расшаривание карты
https://docs.microsoft.com/en-us/windows-server/re...
И проброс целиком монопольно
https://docs.microsoft.com/en-us/windows-server/vi...
Во втором варианте вам нужно в серверной машине иметь две видеокарты
Ответ написан
Комментировать
@PATRI0T
Хорошие новости для вас.
https://www.hardwareluxx.ru/index.php/news/hardwar...
Я использую обычную Win10Pro, на ноутбуке стоит Gtx 765M. Все вроде работает и без виртуалок.
Вам для счастья двух пользователей нужен еще RDPWrap
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы