LINUX.ORG.RU

VGA passthrough: vfio_bar_restore: 0000:01:00.0 reset recovery - restoring bars

 ,


1

2

VGA passthrough NVIDIA GTX 750 Ti на одной конкретной материнке (GA-H77TN) работает, но ведет себя крайне нестабильно (подолгу черные экраны на смену разрешения и без особого повода, заканчивабщиеся через некоторое время зависанием), периодически выдает ошибку:

vfio_bar_restore: 0000:01:00.0 reset recovery - restoring bars

Что это и как это можно победить? гугл шлет в сорцы, там что-то предположительно полезное про зависания проброшенного устройства. Куда копать? На другой материнке же работает.

★★★★★

Последнее исправление: t184256 (всего исправлений: 2)
Ответ на: комментарий от t184256

встроенная в i7-3770

В QEMU используешь EFI или BIOS? Если BIOS, то твои проблемы 99% из-за VGA arbiter и надо просто вместо BIOS использовать EFI и для проброшенной карты не юзать «x-vga=on».

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

Да и если что, проблемы арбитрации VGA вообще довольно рендомно вылезают в зависимости от материнки, карточки и софта. Для некоторых видеокарт при старте виртуалки и изменении разрещения просто ломается гамма на хосте, некоторые как у тебя фризят все, а иногда вообще просто не инициализирует винда в госте проброшенную карту совсем.

Поэтому т.к у тебя карта новая проще всего не использовать BIOS/x-vga и все.

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

EFI (это подразумевалось в OVMF), x-vga=on и не работает, мотивируя это

vfio: Device does not support requested feature x-vga
как раз отсутствием vga arbitration-патча, как я понимаю. Настраивал как только не, включая установку Fedora и полное следование гайду Alex Williamson. На другой мамке работает (правда с теми же строками в логах), на этой — нет. С другой видюхой от NVIDIA работает, с этой нет. Рву на себе волосы, ибо весь конфиг собирал именно ради этого проброса.

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

Да, я ходил и этим путем, поломку гаммы наблюдал. Забыл, где именно я там застрял и перешел на EFI.

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

как раз отсутствием vga arbitration-патча, как я понимаю.

Не, это не связано. VGA патч тупо отрубает VGA совсем на хосте.

Но вообще это само по себе странно:

vfio: Device does not support requested feature x-vga

У тебя CONFIG_VFIO_PCI_VGA в ядре включено? Да и вообще выкладывай больше инфы: текущий дистрибутив, версия qemu, ядра, конфиг виртуалки.

PS: Я бы на твоем месте тогда наоборот попытался запустить это дело с VGA arbiter патчем и посмотреть как будет работать.

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

Ну если никаких других вариантов нет я бы на твоем месте попробовал все запустить с x-vga и патчем на ядро который отрубает на VGA arbiter для интеграшки и DRI. Вполне возможно что в QEMU/OVMF какие-то баги есть которые проявляются именно на твоем сочетании железа.

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

Сейчас не у этого компа, но обязательно выложу.

Вечером попробую с нуля завести на manjaro отдельно с EFI и отдельно с VGA arbitration и отчитаюсь.

Спасибо за участие.

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

Но вообще кое-что нехорошее я вижу на сайте гигабайта по H77TN: http://www.gigabyte.com/products/product-page.aspx?pid=4462

1 x PCI Express x4 slot (Supports 25W only)

Короче если у тебя у 750 Ti нет дополнительного порта питания (а у большинства этих карт его нет), то ей тупо не хватает питания.

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

Имею ввиду обычно там 75W на большинстве материнок.

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

нет дополнительного порта питания

Говноедство началось здесь.

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

Спасибо за переживания, но для меня это — далеко не новости. Видюха даже приобреталась с полным осознанием этого факта как самая бодрая из low profile. Она запитана специальным шлейфом с молексом, питания хватает, напряжение меньше 12В не проседает, ваттметр вообще кажет <50Вт на всю систему. Этот вариант я исключал из рассмотрения весь вчерашний день и таки исключил.

t184256 ★★★★★
() автор топика
Последнее исправление: t184256 (всего исправлений: 3)
Ответ на: комментарий от anonymous

Больше инфы:

проявлялось также на дефолтной Fedora 23 с наисвежайшими virt-manager и ovmf.

Сейчас проявляется на debian testing (stretch), qemu 2.4.0 (Debian 1:2.4+dfsg-5), дебиановских ядрах 4.1.0-2, 4.2.0-1 и 4.4.0-rc4.

инвокация qemu, частичный cmdline и некоторые другие телодвижения тут.

заранее благодарен.

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

Насчет «кое-чего нехорошего»... Не хватало питания — я его сделал. Нельзя было переключить дефолтный адаптер на интеграшку — я сдампил биос, пропатчил его и прошил. Судя по всему остался последний шаг, и очередная «невозможность» меня не пугает. Просто бесит.

И заменить-то эту мамку нечем. Mini-ITX, 1155, VT-d, 2560x1080 — и все, где я такую найду?

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

Поломка гаммы лечится переключением в консоль и обратно.

В ядрах 4.2 и выше на некоторых аппаратных конфигах сломали проброс в kvm, но так как ты отписал ниже, что на 4.1 такие же проблемы, то это не твой случай.

PS Можешь ещё попробовать xen. Здесь у меня проброс заработал сразу в качестве вторичного адаптера (как первичный не пробовал, да мне и не нужно и даже вредно), чего на kvm добиться не получалось. Правда, придётся ручками писать конфиг, так как через libvirt всё настроить не получится.

PPS В дебьяне тестинге криворукие обезьяны-сопровождающие выпилили из пакета xen-utils-4.6 hvmloader. Теперь в дебьяне невозможно создать hvm домен. А в стейбле старый xen и проброс не работает в гостя, в котором больше 3.5ГБ памяти.

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

Забыл, в стейбле проброс заработал бы для гостя с любым кол-вом памяти, если использовать родную ксеновскую qemu-dm. Но обезьянки её выпилили из пакета.

А в олдстейбле проброс сломали секъюрити-апдейтом через месяц после релиза.

Короче, если будешь пробовать xen, то дебьян идёт лесом, ибо сопровождающие делают всё, чтобы xen оставался в нерабочем состоянии.

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

Можешь ещё попробовать xen

Спасибо, а это идея. Итак, в планах manjaro с OVMF, с BIOS, затем xen.

Короче, если будешь пробовать xen, то дебьян идёт лесом

Я настолько люблю дебиан, что если смогу пробросить в xen на другом дистрибе, то проброшу и в дебиане.

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

Поломка гаммы лечится переключением в консоль и обратно.

Не знаю как у кого, но у меня Nvidia без VGA arbiter патча просто не работает с BIOS, а на AMD просто поломка гаммы. С патчем естественно ничего не ломается, но и DRI для интеграшки нет.

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

И заменить-то эту мамку нечем. Mini-ITX, 1155, VT-d, 2560x1080 — и все, где я такую найду?

У AsRock целая пачечка таких и нормальной питалкой, но где их покупать в России - ХЗ.

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

А пример можно? А то везде указано 1920x1200.

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

Запустил с VGA arbitration (linux-vfio-lts из AUR) — гамма не слетает, seabios грузит, все точно так же, как и с OVMF. С тем же косяком и сообщением.

Чтение wiki XEN отпугивает напрочь — только Quadro, только в unstable и т.д.

Что делать?

t184256 ★★★★★
() автор топика

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

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

А OVMF чем не угодил?

GTX 260 не поддерживает EFI. :-(

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

Там не так сложно, как кажется. Но камни есть. В uefi из коробки xen загрузился только в тестинге, для версий <4.6 надо было писать свой конфиг, поэтому я грузился в legacy mode. А дальше блеклистить драйвер видюхи, либо биндить через pci-stub или сразу через xen-pciback.

Если бинд на xen-pciback не использовался, то выполнить

xl pci-assignable-add 02:00.0
xl pci-assignable-add 02:00.1

Убедиться, что устройство можно пробросить командой

xl pci-assignable-list

Взять пример конфига для hvm домена (обычно лежит в /etc/xen) и чуток адаптировать. Там проблемы обычно возникают с определением дисков и cdrom. Для проброса добавить в конфиг

pci = [ '02:00.0', '02:00.1' ]
Запустить виртуалку командой
xl create /etc/xen/hvm.cfg
И подключиться через vnc. Если не хочется использовать эмулированную карточку, то в конфиг надо добавить gfx_passthru=1

PS Quadro может быть требуется, чтобы заработали дрова нвидии. В kvm можно скрыть от гостя работу в виртуалке, а вот как в xen это сделать, я не знаю.

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

Можно попробовать сделать начальный xml конфиг через virt-manager. Но при создании начального конфига возникает проблема с путями, которые я решал созданием символьных ссылок. И здесь нужно всё делать по-минимуму, чтобы только гость хоть как-то запустился и конфиг прописался на диске. Тогда конфиг можно перегнать в родной ксеновский специальной командой (я не помню какой) и его уже ковырять.

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

Весь твой пост меня почти не смущает, кроме строки «Quadro может быть требуется, чтобы заработали дрова нвидии.» У них в списке успеха все нвидии на quadro перешиты.

Сейчас попробую радикальнй способ — выменять у одного хорошего человека другую мамку. Я уже сотню часов вбухал в борьбу с этой и пока оно того не стоило. Если не выменяется годная mITX — остыну и подумаю крепко об ATX.

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

выменять у одного хорошего человека другую мамку

Проще выменять AMD-шную видеокарту и прокинуть её за 5 минут.

King_Carlo ★★★★★
()
Ответ на: комментарий от anonymous
<features>
  ...
  <kvm>
    <hidden state='on'/>
  </kvm>
  ...
</features>

Не уверен, что можно полностью скрыть таким образом обнаружение работы в виртуальном окружении, но для драйверов нвидии это работало. При вызове qemu эта часть конфига конвертируется в опцию -cpu ...,kvm=off,...

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

Да без проблем. С тебя модель нежручей low profile AMD карты с производительностью GTX 750 Ti хотя бы тыщ за 20.

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

Emailed to Nvidia support, they replied «GRID, Tesla and Quadro» are the only supported and they don't support virtualization at desktop products.

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

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

kvm=off вроде скидывает(устанавливает) какой-то бит в каком-то регистре. Кажется, я встречал давным-давно опцию конфига xen, которая могла позволить поиграться с доступными регистрами в гостевой машине. Но уверенности нет. Пока только в голову приходит такой вариант: создать простейший рабочий конфиг через virt-manager, через virsh добавить kvm=off и, если заработает, конвертировать конфиг в ксеновский.

ЗЫ Через virt-manager мне не удалось пробросить usb-девайсы. А при добавлении звука (ich6) виртуалка не запустилась, но с ac97 заработала, правда, дров для такой карточки в винде x86_64 не нашлось. Проброс usb и рабочий звук (soundhw='hda') я получал только через ксеновский кофиг.

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

kvm=off вроде скидывает(устанавливает) какой-то бит в каком-то регистре.

Оно убирает упоминание KVM из CPUID.

но с ac97 заработала, правда, дров для такой карточки в винде x86_64 не нашлось.

Надо ставить официальные драйвера для семерочки с сайта Realtek: http://www.realtek.com/downloads/downloadsCheck.aspx?Langid=1&PNid=14&amp...

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

anonymous
()

Взял погонять другую мамку (ASRock H61M-ITX). Баг сбежал. X(

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

750 Ti. Да, она легко прокидывается. На всех мамках, кроме сабжевой, чтоб ее.

t184256 ★★★★★
() автор топика

Махнулся материнками. Баг пропал. Мои соболезнования пришедшим сюда из поисковиков.

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