LINUX.ORG.RU

Реализован способ задействовать «виртуализацию» видеокарт NVIDIA на младших моделях

 ,


7

4

Группа энтузиастов реализовала хак, отдающий PCI ID «профессиональных» карт-ускорителей проприетарным драйверам от компании NVIDIA для Linux. Хак отрабатывает как на этапе опроса присутствующего в системе оборудования, так и на этапе проверки верификации ID карты через цифровую подпись драйвером.

«Обманутые» таким образом драйвера публикуют интерфейс, необходимый для эмуляции нескольких виртуальных карт на одном физическом устройстве. В частности, это позволяет использовать аппаратные возможности карт в операционных системах, запущенных под управлением qemu-kvm.

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

КартаВыдаёт себя за
GM107Tesla M10
GTX 950MTesla M10
Quadro M1200, GM107Tesla M10
Quadro K1200, GM107Tesla M10
GTX 660 TiTesla M60
GTX 770Tesla M60
GTX 660 OEMTesla M60
GTX 760Tesla M60
GTX 670Tesla M60
GTX 680Tesla M60
GTX 690Tesla M60
GTX K5000Tesla M60
GTX 960 GM204 OEM EditionTesla M60
GTX 970Tesla M60
GM204 UnknownTesla M60
GTX 980Tesla M60
Quadro M4000Tesla M60
Quadro M5000Tesla M60
TITAN X (Pascal)Tesla P40
TITAN XpTesla P40
GTX 1080 TiTesla P40
Quadro P6000Tesla P40
NVIDIA Quadro P1000 GP107GLTesla P4
P106-90 3GBTesla P4
P106-100 6GBTesla P4
GTX 1060 5GBTesla P4
GTX 1060 6GBTesla P4
GTX 1060 3GBTesla P4
Quadro P2000Tesla P4
Quadro P2200Tesla P4
NVIDIA GeForce GTX 1060 with Max-Q Design (6GB variant)Tesla P4
GTX 1080Tesla P4
GTX 1070Tesla P4
GTX 1070 TiTesla P4
GTX 1060 6GBTesla P4
GTX 1060 3GBTesla P4
Quadro P5000Tesla P4
Titan V 16GBTesla V100 16GB PCIE
TU102Quadro RTX 6000
TITAN RTXQuadro RTX 6000
RTX 2080 TiQuadro RTX 6000
RTX 2080 Ti Rev. AQuadro RTX 6000
TU104Tesla T4
RTX 2080 SuperTesla T4
RTX 2080Tesla T4
RTX 2070 SuperTesla T4
RTX 2080 Rev. ATesla T4
RTX 2060Tesla T4
Quadro RTX 5000Tesla T4
Quadro RTX 4000Tesla T4
RTX 3090RTX A40
RTX 3080 TiRTX A40
RTX 3080RTX A40

>>> Подробности

★★★★★

Проверено: unfo ()
Последнее исправление: hobbit (всего исправлений: 6)

А нуво небось тоже на младших картах имеет такую производительность, потому-что хак нужен?

anonymous
()

RTX 3090

Ни у кого не завалялась вот такая младшая модель? Готов поменять эту затычку на банку хорошего пива.

gremlin_the_red ★★★★★
()

Отменяю все подписки на облачный гейминг нафиг. Теперь сраная GTX 1070 будет в десяток инстансов прокидываться.

system-root ★★★★★
()

Теперь можно скинуться вдесятером на одну карточку и на ней одновременно играть.

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

Десятая доля мощности карты - сравнима с мощностью встройки/затычки. Это больше про «купить десяток карт и сдавать виртуалки в аренду».

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)

То есть теперь есть возможность использовать десктоп и прокидывать карту в kvm, запуская софт и игры, например под виндой? Или не так?

intel ★★
()

Что насчет мобильных видеокарт (Optimus)?

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

нвидиа «разрешила» (больно надо, это обходилось 1 строкой конфига) пробрасывать видео-карту физически полностью. т.е. 1 видеокарта шла в 1 виртуальную машину

теперь видео-карту можно «делить» на десяток виртуальных и каждую виртуальную пробросить в разные вирт. машины

т.е. как у интеловских встроенных видях через gvt-g

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

P106-100! Дамы и господа, да это ж просто праздник какой-то!

ncrmnt ★★★★★
()
Ответ на: комментарий от s-o

А, понятно, спасибо, мои видяхи стыдно больше чем одной виртуалке показывать :-)

rukez ★★★★
()
Ответ на: комментарий от s-o

Не так. Это возможно если у тебя две видеокарты или встройка + видео. А тут хочется верить, что с одной станет возможно.

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

верно

однако, думаю, если кому-либо мешала пользоваться пробросом необходимость купить затычку за 20 долларов, они тем более не будут пользоваться, ибо сабж заметно геморрней

s-o
()
Ответ на: комментарий от s-o

Ну у меня например расположение pci-e на материнской плате, размер корпуса и огромный размер основной видюхи не позволяют это делать, апгрейд уже минимум баксов в 200 обойдётся, либо можно колхозить с райзер кабелем и скотчем, но это слишком стремно

intel ★★
()

Интересно, а на AMD такая штука бывает, чтобы в виртуалку карточку не целиком пробрасывать?

ls-h ★★★★★
()

Доиграетесь, придется видюхи по цене тесл покупать

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

кошки-мышки

Можно банально не обновлять драйвера. Зафиксировал на какой версии работало, и все - пропала кошка

Midael ★★★★★
()
Ответ на: комментарий от ls-h

Бывает. И там и там это называется одинаково - SR-IOV и считается премиум фичей, доступной только на про-картах.

Забавно, что запилили именно для нвидии, а не для хорошего открытого амд

Midael ★★★★★
()
Ответ на: комментарий от s-o

теперь видео-карту можно «делить» на десяток виртуальных и каждую виртуальную пробросить в разные вирт. машины

т.е. как у интеловских встроенных видях через gvt-g

А радеоны такое поддерживают? Скажем я хочу RX570 пробросить в виртуалку с виндой и в виртуалку с макосью. Такое проканает?

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

Забавно, что запилили именно для нвидии, а не для хорошего открытого амд

Ты знаешь что такое меинфреим сборка билда? Вот тебе и ответ не у всех есть лишние деньги на амд карту , как говориться халяильников много , а ментеинер меинфрем билдер один , если у меня энвидиа со ответственно от нее инструкции и хватаются. Как говориться скажи что ты не сделал для настоящего не ширмового опенсорса открытого мит кода: не пожертвовал ни копья , веришь в бога столмана , ричарда , торвальдса вот что именно они хорошие и все тебе сделают , так вот их и проси если не гой.

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

Я этот вопрос изучал очень поверхностно, но мне показалось, что проблема в том, что железа с поддержкой sr-iov от амд тупо нет у разработчиков, не аффилированных с amd, и соответственно некому разобраться, что там и как. Насколько я понял, мало того, что gpu amd сами по себе слабо распространены, так ещё и поддерживающих эту технологию у них полторы модели, и софт для них можно достать только у ведоров готовых систем.
С nvidia проще.

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

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

ncrmnt ★★★★★
()

Удалось без проблем оживить P106-100. Гостевые - OpenSuse 15.2 и win10. На дебиане/убунте драйвер для грида не собрался. Nvenc на p106-100 так и не ожил, к сожалению.

ncrmnt ★★★★★
()

Народ, чтобы не плодить темы, задам вопрос здесь. А можно ли делать снимки состояния виртуалки с проброшенной видяхой во время запущенной игры, и потом загружать эти снимки? Будет ли при этом игра продолжена с того момента, когда был сделан снимок? Т.е. можно ли таким образом сохраняться в играх, где это не предусмотрено?

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

это какие же такие игры, например? в эмуляторах приставок такая фича есть. в dark souls есть авто-сохранения. ещё примеры?

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

Какой-нибудь порт с приставок. Ну и чисто для понту - можно запустить игру и программу записи с экрана, сделав тем самым идеальный speedrun, который еще называют Tool-assisted speedrun.

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

Итак, отвечу сам на свой вопрос. Делать снимки состояния виртуалки с проброшенной видяхой похоже нельзя. И virsh и virt manager ругаются, что есть проброшенный хостовый девайс. Единственное, что хоть как-то возможно - гибернация гостевой системы.

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

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

Да, нельзя. Устройство необходимо инициализировать перед использованием.

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

Ну так в виртуалке видяха инициализирована. Инициализировать в хосте? Тогда от него нет толка в виртуалке.

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

Ну так в виртуалке видяха инициализирована.

И как ты гарантируешь консистентность её состояния ожидаемому в снапшоте?

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

Какая буква тебе не понятна?

Где карточка при гибернации была переткнута? Виртуалка с проброшенной видяхой уходит в гибернацию и выходит из нее.

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

Виртуалка с проброшенной видяхой уходит в гибернацию и выходит из нее.

А с выткнутовоткнутой карточкой она выходит из гибернации?

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