Комментарии 23
Современные ноуты все MUXless, тут важен иной признак. Если дискретная видеокарта в lspci видна как VGA adapter - то скорее всего её можно пробросить. Если она видна как 3D accelerator, то пробросить её будет очень тяжело. У таких "3D ускорителей" биос вшит в системный биос и при старте драйвера он будет пытаться читать его через acpi вызовы. Я пробовал собирать ovfm со вшитым биосом и таблицей acpi с _ROM методом, что выдаёт прошивку драйверу в VM, и драйвер nVidia даже заработал. Но сообщал любому 3d приложению, что нет монитора и по этому запустить приложение невозможно. И в этом и есть ключевое отличие видеокарт с таким именованием в lspci.
Но может есть рецепт, как прикрутить "виртуальный" монитор?
Ну и конечно проксмокс для этого не обязателен, достаточно kvm.
Современные ноуты все MUXless
Не соглашусь, как минимум топовые игровые машинки навроде Dell Alienware, затем большая часть ноутбуков на баребонах Clevo, да даже Asus Tuf gaming fx505 имеет hdmi подключенный напрямую к дискретке. Другой момент, что определить это можно только опытным путем или достав Service Manual со схемой элементов ноутбука, что порой выливается в тот еще квест. При этом я пишу дальше что это необходимое условие, но недостаточное.
В сети есть гайд, я не тестил, по настройке проброса видеокарты на ноутбуках как MUXed так и MUXless, при этом что бы картинка выводилась на дисплей ноутбука, а не на внешний монитор.
https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
и некоторый перечень ноутбуков, на которых этот метод тестировался
У меня есть ряд задумок на счет проброса интеграшки, но для этого мне нужно свободное время, которого мало
Если дискретная видеокарта в lspci видна как VGA adapter - то скорее всего её можно пробросить. Если она видна как 3D accelerator, то пробросить её будет очень тяжело
Спасибо, надо обратить внимание. Я же исхожу из того, что пробрасываю не ВК, а pci-e порт с подключенной/распаянной ВК, поэтому ориентируюсь на группы, доступные для проброса и экспресс тест на переназначение прерываний. Этот ноутбук мой первый опыт такого рода, то что он оказался MUXed удача и совпадение, при его покупке я думал совсем о других вещах...
Но может есть рецепт, как прикрутить "виртуальный" монитор?
Ну и конечно троксмокс для этого не обязателен, достаточно kvm.
я не совсем уверен, но может здесь выручит hyper-v + remotefx или виртуальный адаптер VirtIO video adapter, правда это не совсем gpu-passthrough. Вторая мысль, которую я хочу протестировать, а если пробросить интеграшку с обвязкой? Получится ли тогда получить картинку напрямую на дисплее ноутбука.
Конечно необходимо и достаточно KVM + Linux, но на мой взгляд ProxMox несколько проще в настройке плюс имеет более дружелюбный WEB-интерфейс
Так ведь подключение hdmi напрямую к дискертной видеокарте и есть muxless. Если в ноутбуке есть "мультиплексор", то есть возможно переключить выход дискретной видеокарты от этого hdmi встроенному дисплею. Но такой возможности в большинстве ноутбуков нет. По этому я и берусь утверждать, что все современные ноутбуки MUXLess. Все порты ноутбука распределены между видеокартами и физически между ними не переключаются.
Сейчас я использую ASUS TUF Gaming A15 FA506IU. Он имеет встроенны в райзен radeon и дискретный GTX 1660 Ti Mobile. Дисплей и порт HDMI у него подключены к radeon. А DisplayPort (type-c) подключен к GTX 1660. И преключить это никак нельзя. Вывод через DP возможен только через xradr --setprovideroutputsource (который не работает в связке radeon nvidia, хоть в последней версии драйвера это обещали ). Это и есть MUXLess, отсутствие коммутации выходов.
Так ведь подключение hdmi напрямую к дискертной видеокарте и есть muxless.
Я ориентировался на вот эту картинку из этой статьи, в которой такие ноутбуки где дискретка имеет прямой вывод на внешний видеопорт типа HDMI/DP как MUXed. Собственно из-за этого у нас с вами небольшая путаница в определениях.
https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
Вывод через DP возможен только через xradr --setprovideroutputsource (который не работает в связке radeon nvidia, хоть в последней версии драйвера это обещали )
собственно ссылка в этом посте выше об этом, я же подошел к проблеме так же как и решал ее на десктопе - проброс ВК с pci-e портом и настройка хоста что бы виртуалка со всем этим работала.
Просто картинка устарела :)
Я дорисовал случай с портом к дискретной видеокарте
Спасибо за картинку. В этом и смысл статьи, что бы изолировать дискретку с видео портом и пользоваться ей отдельно от интеграшки в виртуалке.
Спортивный интерес. А какая схема подходит, к примеру, ноуту Thinkpad w701, в котором нет встроенной видеокарты, но есть дискретная установленная в MXM 3.0 слот.
Но может есть рецепт, как прикрутить "виртуальный" монитор?
Выбираем Display: virtio-gpu, spice (qlx)
если в конфиге:
vga: virtio или qlx
Как то давно потратил три дня на выяснение того, что карты без FLR+ не пробрасываются.
Теперь не знаю, но наверно всё также, требуется в lspci FLReset+.
Игрался с KVM и Passthrough чуть в ином ключе. Хотел совместисть линукс инструментарий и хранилку, поставив Debian+KVM, прокинуть контроллер HDD в виртуальную машину и поставив там FreeNAS. Производительность хранилки получилась близкой к нативной, но памяти было маловато для линукс окружения. Опыты проводились на HP Microserver Gen10. Тогда же я узнал что есть патч на ядро Linux для более мелкого деления на IOMMU group, чем мне и пришлось воспользоваться. Так что если видеокарта находится в одной группе с чем-то важным, то можно пропатчить ядро и получить более мелкие группы. Хотел написать обзорную статью тогда по результатам виртуализации NAS сервера с нативным контроллером и сравнением скорости, но и метрики слабые снял и руки не дошли.
Я на десктопе пробросил RAID-контроллер LSI 9211-8i в виртуалку без проблем, во-первых контроллер сам по себе наименее проблемный при работе на рандомном железе, с другой стороны настройка проброса очень простая, через web-интерфейс или вручную прописывается в файле-конфигурации ВМ что-то вроде:
hostpci0: 02:00.0,pcie=1
На этом все. Хотя не совсем... если виртуалка аварийно завершает работу, то получаем на выходе ребилд массива (у меня контроллер без батарейки), т.е. выключать нужно такую виртуалку через гостевую операционку. Если перезагружается ProxMox сервер или выключается, то он завершает работу виртуалки корректно, но вот использовать вручную Stop - противопоказано.
Поздний ответ, но может увидите.
Отличие было в том, что я пробросил не RAID, а (не помню точно терминологию) Sata hub, то есть просто доступ к носителям, а избыточность реализовывалась уже средствами ВМ (в моем случае это был FreeNAS но может быть что угодно). Пробрасывать железный рейд несколько странная идея, потому что он так и останется железным, с возможной привязкой к текущей железке с данной прошивкой. RAID без батарейки я бы вообще поостерегся держать. А если он еще с кэшем и в системе включен Write back in cache и диски не рейдовые, которые как раз и отличаются работой прошивки с кэшем то можно считать себя очень рисковым по жизни :)))
Пробрасывать железный рейд несколько странная идея, потому что он так и останется железным, с возможной привязкой к текущей железке с данной прошивкой.
Его так проще мониторить (SMART, rebild, слетевшие диски) и конфигурировать, если что. Просто под Линукс у производителя я софт не нашел, а под Винду все есть в лучшем виде. Либо переодически грузится в БИОС железного рейда...
RAID без батарейки я бы вообще поостерегся держать.
я единственный пользователь такой конфигурации, это не прод. Кроме того настроен бэкап на не рейд диск.
А если он еще с кэшем и в системе включен Write back in cache и диски не рейдовые, которые как раз и отличаются работой прошивки с кэшем то можно считать себя очень рисковым по жизни :)))
Стоят 4шт 4Tb WD Red EFRX NASWARE 2.0 в RAID10, купленных в разное время, судя по информации в сети без черепицы. Указанные штуки выключены.
Проброс носителей не нравится тем, что не могу мониторить SMART... Это создает определенные неудобства.
sata0: local-lvm:vm-100-disk-1,size=100G
почему не scsi0?machine: pc-q35-3.1
3.1? из какого года дистрибутив?Теперь создаем через веб интерфейс шаблон настроек и правим через консоль файл настроек виртуальной машины.
Либо создаем машину через веб-интерфейс, либо через консоль.
Ничего править не надо после создания.
почему не scsi0?
я как-то пробовал, у меня винда при установке не видит виртуальный диск с такими настройками, возможно это были проблемы конкретного дистрибутива, поэтому использую SATA для виртуального жесткого диска, сам ProxMox вместе с ВМ, пока что, стоит у меня на SATA SSD 2.5" Samsung EVO 870
3.1? из какого года дистрибутив?
ProxMox версия 7.0-8, основанный на Debian 11 Linux (“bullseye”), последний из доступных. У них с 7-й версии появилось возможность выбора версии машины q35... не знаю c чем там связано, но в ряде рекомендаций по решению проблем с ошибкой 43, почему-то, рекомендуют ставить именно эту версию q35 принудительно. А как говорится, работает - не трожь!
Либо создаем машину через веб-интерфейс, либо через консоль.Ничего править не надо после создания.
строку с аргументами через веб интерфейс не пропишешь, да и ряд нюансов проще именно прописать ручками, а не "натыкать". Дальнейшая работа с конфигурационным файлом ВМ вполне себе удобнее делать через web-интерфейс
А как говорится, работает - не трожь!
Нет, использовать надо последнюю, соответствующую текущей версии qemu.
Выбор был и раньше, надо просто раскрыть Advanced.
не видит виртуальный диск с такими настройками,
но использовать надо VirtIO SCSI. какой у вас интерфейс у ssd - неважно.
надо образ с virtio еще при установке вторым cd-rom-ом. с него и взять драйвер.
строку с аргументами через веб интерфейс не пропишешь,
пропишешь, галочку Advanced при создании в веб-интерфейсе, не надо ничего править после.
если хочется вручную или уже есть готовый конфиг, то сразу создаём файл xxx.conf со всеми параметрами.
но использовать надо VirtIO SCSI. какой у вас интерфейс у ssd - неважно.надо образ с virtio еще при установке вторым cd-rom-ом. с него и взять драйвер.
пропишешь, галочку Advanced при создании в вэб-интерфейсе, не надо ничего править после.
век живи - век учись! Спасибо, буду пробовать! ;)
Насчет virtio-драйверов.
Ставите Win хоть на ide, после устанавливаете ОС + virtio-драйверы, выкл. ВМ, добавляете scsi-диск (1Гб хватит ), запускаете ВМ.
ОС увидит этот диск и установит драйвер.
Выкл. ВМ, удаляете этот маленький диск.
Переподключаете основной диск как scsi и запускаете ВМ. Всё.
И лучше в кач-ве контроллера пользовать virtio scsi single. Так получается отдельный контроллер на каждый диск.
Зы. Мой цикл ссылок по proxmox и не только forum.netgate.com/topic/120102/proxmox-ceph-zfs-pfsense-%D0%B8-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D0%B2%D1%81%D0%B5-%D1%87%D0%B0%D1%81%D1%82%D1%8C-1
Проброс видеокарты в ноутбуке. Laptop GPU Passthrough