Qemu не удается запустить.

Вопрос или проблема

Я пытался настроить передачу GPU на Arch, но столкнулся с проблемой.

Я следовал этим двум руководствам, в основном первому из них: GPU Passthrough Revisited, Non-root GPU passthrough.

Я выполнял каждый шаг точно так, как описано, и всё работало, как описано. Затем, когда я дошел до части, где нужно запустить QEMU, это не работает. Я успешно привязал мой GPU к vfio, но теперь я застрял. Вот вывод lspci -nnk для моего GPU.

01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 950M] [10de:139a] (rev a2)
    Subsystem: ASUSTeK Computer Inc. Device [1043:178d]
    Kernel driver in use: vfio-pci
    Kernel modules: nouveau, nvidia_drm, nvidia

Но потом, когда я пытаюсь запустить qemu, я получаю такой вывод:

Invalid MIT-MAGIC-COOKIE-1 keyUnable to init server: Could not connect: Connection refused
QEMU 2.9.0 monitor - type 'help' for more information
(qemu) gtk initialization failed

MIT-MAGIC-COOKIE можно исправить, установив переменную WINDOW, но я всё ещё не могу запустить QEMU.

Есть идеи, что я делаю не так?

В моем случае это работает:

DISPLAY=:0 <command>

Ответ или решение

Проблема, с которой вы столкнулись при запуске QEMU для настройки GPU Passthrough на Arch Linux, связана с несколькими факторами, главным из которых является ошибка инициализации интерфейса GTK по причине проблем с переменной среды DISPLAY. Давайте разберем возможные причины и решения:

1. Проверка Переменной DISPLAY

Ошибка Invalid MIT-MAGIC-COOKIE-1 key указывает на проблемы с доступом к файловому серверу X11, что обычно связано с неправильной конфигурацией переменной окружения DISPLAY. Убедитесь, что перменая DISPLAY указывает на активный дисплей:

export DISPLAY=:0

Попробуйте запустить QEMU с этой переменной:

DISPLAY=:0 qemu-system-x86_64 ...

2. Права Доступа

Убедитесь, что ваш пользователь имеет права на доступ к X-серверу. Вы можете временно разрешить доступ через xhost:

xhost +

Это позволяет всем пользователям устанавливать соединение с X-сервером, но учтите, что это создает некоторые риски безопасности, поэтому лучше отключать это право сразу после теста:

xhost -

3. Проверка QEMU

Если проблема не решена указанными действиями, убедитесь, что версия QEMU соответствует требованиям для работы с текущими библиотеками и драйверами. Убедитесь, что QEMU правильно настроен для использования с неправвиленным драйвером и устройством.

4. Конфигурация vfio

Ваше устройство GPU привязано к драйверу vfio-pci, что правильно для передачи GPU в виртуальную машину. Но вы также должны убедиться, что конфигурация загрузчика правильно настроена для загрузки с параметрами ядра, поддерживающими IOMMU, например:

intel_iommu=on
amd_iommu=on

5. Логирование и Дебаг QEMU

Запустите QEMU с дополнительными параметрами логирования для более детального анализа:

qemu-system-x86_64 ... -d guest_errors -D /var/log/qemu.log

Это позволит вам получить больше информации о том, почему может происходить сбой на этапе инициализации.

Выводы

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

Оцените материал
Добавить комментарий

Капча загружается...