LINUX.ORG.RU

Подкиньте умных мыслей по пробросу USB в виртуалку

 , , , ,


1

2

Доброго здравия, народ!
Никак не выходит добротно пробросить в виртуальную винду USB-аудиокарту. Требуется на одном компе иметь линукс в качестве основной системы и время от времени запускать винду дабы поиграть на гитарке, все дела.
Как эталон идеального гипервизора сначала был проверен xenserver, он подтвердил своё звание - звуковая карта на нём работает почти превосходно, лишь совсем немного уступает работе в реальной среде. Однако, задача решается на плате mini-ITX и все USB порты в ней находятся на одной шине, которая и отдаётся винде, даже несмотря на то что интегрированную видеокарту всё ещё можно отдать линуксу, он остаётся без клавиатуры и мыши.
Вторым в тесте стал virtualBox запущеный в ubuntu - плачевный результат. В принципе звуковая карта пробрасывается и даже конфигурируется родной утилитой, но звук даже проиграть не может, не то что обработать в реалтайме.
Следом были опробованы xen и kvm из репозиториев ubuntu 17.10 и Fedora 26. В диспетчере устройств карта висит с жёлтым знаком и кодом ошибки 10.
Почти без надежды попробовал Proxmox и таки ситуация немного улучшилась, звуковая карта позволяет использовать ASIO, хотя работает не очень стабильно, но терпимо. Однако не нашёл как пробросить встроенную видеокарту в гостевой линукс. Да и вообще одна из ключевых хотелок чтобы основной рабочей средой был именно Dom0 с графическим интерфейсом, всё таки работать в гостевом линуксе не очень удобно, банально флешку не воткнуть - нужно морочиться с пробросом.
Вот собственно дальше тупик, в proxmox используется kvm и значит в принципе kvm мне подходит, но как узнать что за магию используют разрабы proxmox, чтобы повторить её на убунте или хотя бы федоре? Или может какие другие идеи имеются?

железо:
Мать ASUS ROG Strix Z270I Gaming
проц i7-7700K
P.S. Вообще на другой материнке, где USB разнесены по нескольким шинам, kvm на убунте работал довольно сносно, но на этой вообще никак.

Ответ на: комментарий от imul

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

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

того и другого, и побольше =) Разумеется я попробую такой способ, но пока хочется обойтись малой кровью, уже стало ясно что kvm это смог (тот что в proxmox), осталось понять как, и можно ли это повторить на десктопном линуксе. Ещё конечно можно превратить в десктоп proxmox, но в первую попытку у меня это не получилось, много чего пришлось ставить и в конечном итоге я поломал систему раньше чем довёл до удобоваримого состояния, пока этот вариант в приоритете, но перед второй попыткой решил вот советов попросить.

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

Дабы не ранить Вашу нежную душу и души других GNU-линуксоидов, я всё же исправил на почти верное название. Надеюсь это поможет Вам написать что-нибудь по теме.

poedyatel ()

Следом были опробованы xen и kvm из репозиториев ubuntu 17.10 и Fedora 26. В диспетчере устройств карта висит с жёлтым знаком и кодом ошибки 10.

Вот этот момент конкретизируй — что и как делал? Не знаю, как xen, а в kvm'ных гостей, управляемых libvirtd, usb-устройства (индивидуально, не шины целиком) всю дорогу благополучно пробрасывались virt-manager'ом.

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

Так и есть, флешки, внешний жёсткий диск - всё пробрасывается и прекрасно работает. Звуковая карта не хочет (2 разных, симптомы одинаковы). Притом в kvm на другой материнке (более продвинутой, там где usb разнесены по шинам) карта тоже пробросилась.

Управление через libvirtd, силами virt-manager, иду путём наименьшего сопротивления. Ставлю ubuntu 17.10/fedora 26, ставлю virt-manager, libvirt, qemu-kvm, на этом всём завожу винду, бросаю в неё vurt-managerom различные usb-устройства, все работают, звуковые карты не хотят.

poedyatel ()

и все USB порты в ней находятся на одной шине

По крайней мере, на старых чипсетах можно часть портов перевести в режим USB 2.0, тогда они перейдут на другой контроллер, который можно пробросить или оставить отдельно.
https://www.systutorials.com/qa/1908/how-to-force-a-usb-3-0-port-to-work-in-u...
Какой конкретно регистр и какие значения см. datasheet на свой чипсет

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

Посмотрел что за мать. Признаю ошибку.

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

r3lgar, если бы Вы собирали предельно компактный ПК для DAW с возможностью реалтайм обработки, то возможно знали бы что ключевыми факторами в таких задачах является скорость чтения с диска, а эта материнка обладает двумя NVME портами позволяя шмалять в оперативу гигабайтные патчи за секунду. И процессор с максимальной частотой, которая даёт возможность добиться предельно низкой задержки при стремлении буферизированных аудиоданных к минимуму. Gaming о боже, маркетинг, фу-фу-фу. Покажите мне мамку для этих задач лучше - буду стоя аплодировать, вечноблагодарен и помайню битков. Не забывайте требование о размере. Виртуализация на ней это задача родившаяся уже после, решил вот основной комп вообще нафиг, ибо этот самый гейминг не интересует и смысла в Fulltower попросту нет. Нужен только быстрый проц, да быстрая дисковая подсистема.

imul, pci-e контроллер usb не прокатил, хоть шина действительно оказалась отдельной, она попала в одну IOMMU группу со всеми остальными портами и ситуация с пробросом не изменилась. Однако есть на материнке ещё один внутренний порт и он каким то чудом в отдельной IOMMU группе, вот только он USB3.1 Gen 2, с новым инопланетным разъёмом. Раньше в продаже вообще не было, но сейчас появилось на Ali пару предложений, надеюсь решит задачу.

TheAnonymous, спасибо, способ довольно сложный, пока осмысливаю его, отложу на потом, всё же стремлюсь к коробочным решениям.

FluffyPillow, дак так и делаю, но звуковая карта с ASIO специфичное устройство, требует малого буфера и не терпит фризов.

Пока решил всё через установку десктопного Debian 9.3 с пакетами Proxmox, работает терпимо, для короткой репетиции на гитаре подходит, если нужно уже серьёзно работать то просто загружаю винду напрямую без гипервизора.

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

FluffyPillow всю шину пробрасывал только в xenserver так как там только так и можно. В Qemu-KVM, Xen, VBox и Proxmox прокидывал уже порты отдельно, результат только в proxmox приемлемый.

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

Согласен. В Qemu некоторые порты пробрасываются, но при подключении девайсов вешается и хост и вмка.

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

Штеуды с суффиксом «K» в первую очередь оверклокерские, там нет Vt-d, соответственно, о пробросе железа речи идти не может.

хоть шина действительно оказалась отдельной, она попала в одну IOMMU группу со всеми остальными портами

Мелкие матплаты сделаны мелкими в ущерб всему, совсем всему. А приставка Gaming чаще всего (особенно у ASUS) означает, что о виртуализации и периферии там вообще не думали, клава-мышь-гарнитура подключается, остальное геймерам не нужно.

Быстрое чтение — конечно, ведь геймеры так любят кукарекать о том, что их YOBA-игра так долго грузится…

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

Штеуды с суффиксом «K» в первую очередь оверклокерские, там нет Vt-d

Вы путаете с vPro, она действительно на серии «K» очень избирательно присутствует. А VT-d присутствует почти повсеместно на линейках от core-i3, а может и менее производительных.

Маленькие платы урезаны лишь количеством переферии, и не более того - процессоры и память в них прекрасно ставятся такие же, если мы конечно не говорим об экстримальных конфигурациях на LGA2011, хотя в продаже есть плата Mini-ITX на этом сокете.

Следуя такой логике придётся искать Asus Z270I KVM edition, не встречал таких. Так же как и скажем Asus Z270I Photoshop. Приставка Gaming ни коим образом не исключает возможностей использовать данную материнку в весьма широком спектре задач, в том числе требующих высокой производительности (разумеется я о масштабах рядовых пользователей, а не датацентров, а то подумаете ещё), а если отойти от специфичных хотелок вроде моих, то она вообще подойдёт 90% владельцев ПК более чем, и даже две, три и более рабочих станции в ней одной можно на виртуализации сделать, сложности лишь с ASIO - это особая задача. Это не Mini-ITX урезаны, это большие форматы слишком раздуты.

Задача не под материнку, тем не менее Proxmox задачу решил, практически полностью, полагаю, что там используется чтото похожее на acs override, но выяснять пропала мотивация, так как на горизонте забрезжила надежда за счёт ещё одного разьёма и проводочка с Ali решить всё на ванильном ядре и KVM и остаться в мейнстриме.

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

Справедливости ради стоить отметить что сбор переферии в одной IOMMU группе присущ не только маленьким картам, а скорее всего большинству материнок на сокете 11хх любых формфакторов, к примеру у меня есть в обслуживании MSI Z170A SLI PLUS, очень даже неплохая материнка, однако в ней почти всё, включая все слоты PCI находятся в одной группе, и организовать на ней проброс видеокарты из коробки у меня не получилось нигде кроме xenserver.

poedyatel ()

Ура, проводочек с али оправдал ожидания и решил почти все мировые проблемы. Контроллер USB3.1 висит на отдельной PCI-шине, и самое главное в отдельной IOMMU-группе. В мастдай из интерфейса virt-manager пробросил всю шину PCI - звуковая карта работает практически как в реальной среде, захлёбываясь лишь на очень-очень тяжёлых проектах. Да здравствует синергия! Спасибо всем за участие!

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