Вопрос или проблема
TLDR: Все существующие вопросы по этой теме, похоже, касаются включения 4k дисплея с помощью драйвера виртуального дисплея Spice. Этот вопрос касается его закрепления.
Вопрос:
У меня нет проблем с использованием моего 4K дисплея с гостевыми системами Windows 10 после увеличения VRAM.
Тем не менее, как встроенный просмотрщик Virt-Manager, так и Virt-viewer имеют неприятную привычку изменять разрешение гостевой системы на 1080p каждый раз, когда я их открываю. Это происходит даже в том случае, если запустить virt-viewer с параметром командной строки полноэкранного режима.
Как я могу открыть полноэкранный просмотрщик на моей виртуальной машине, который сохраняет правильное разрешение дисплея виртуальной машины… или хотя бы правильно изменяет его на 2160p?
По некоторым причинам virt-viewer и virt-manager масштабируют свои окна в соответствии с настройками gnome. Если вы перейдете в настройки -> Дисплеи и измените масштаб на 100%, эта проблема исчезнет. Но всё остальное будет крошечным. Должен быть способ сказать virt-viewer игнорировать масштабирование, установленное Gnome.
Если у вас установлен масштаб на 200%, вы можете уменьшить масштаб virt-viewer и получить желаемый результат: “virt-viewer -z 50”
Еще один способ заставить это работать – запустить virt-manager с GDK_SCALE=1.
$ GDK_SCALE=1 virt-manager
Работает для меня.
Я использую Artix, но я видел, что эта ошибка воспроизводилась в других темах. Похоже, это влияет только на дистрибутивы на базе Ubuntu/Debian. У меня нет этой проблемы на Artix, поэтому мне было странно видеть эти темы о проблеме, которой не существует в других дистрибутивах, дисплей spice ограничен его виртуальными драйверами, поэтому его нельзя установить на более высокое разрешение. Я имею в виду фактическое разрешение экрана, а не физические границы дисплея или окна виртуальной машины, также есть кнопка рядом с вашим экраном просмотра, которая позволяет изменить размер на полноэкранный режим в просмотрщике. Что касается GPU virtio, который вы передаете гостю, он не использует драйверы spice. Вместо этого он использует драйверы virtio, таким образом он напрямую использует аппаратное обеспечение GPU, где вы получаете полное разрешение вашего GPU. Эти драйверы virtio нужно загружать отдельно от Red Hat, они говорят Windows, что она работает в виртуальной машине. Что я думаю, что люди перепутали с полным разрешением qemu через просмотрщик, это концепция vgpu, которая более специфична для технологий и требует дискретной графики. Vgpu можно в основном запускать с полным разрешением через spice и virtio, в дополнение, vgpu по своей природе может позволить до двенадцати виртуализированных GPU работать с одной видеокартой.
Ответ или решение
Настройка высокого разрешения по умолчанию для KVM/Qemu VM в Virt-Manager и Virt-Viewer
Вопрос о том, как установить высокое разрешение по умолчанию для просмотрщиков виртуальных машин на базе KVM/Qemu является довольно актуальным, особенно для пользователей, работающих с 4K-дисплеями. Несмотря на то, что многие обсуждаются шаги, необходимые для активации 4K-разрешения, гораздо сложнее обеспечить его постоянное использование при каждом запуске.
Основные проблемы и решения
Проблема заключается в том, что при использовании утилит Virt-Manager и Virt-Viewer в некоторых дистрибутивах Linux (особенно в Ubuntu и Debian) возникает нежелательное изменение разрешения виртуальной машины до 1080p. Однако есть ряд решений, которые помогут вам сохранить необходимое разрешение или установить его по умолчанию.
-
Настройки дисплея в GNOME:
- Убедитесь, что масштабирование дисплея установлено на 100%. Это можно сделать через настройки GNOME:
Настройки
→Дисплеи
→Масштаб
. При масштабировании, например, на 200% может возникать проблема с масштабированием окон Virt-Viewer и Virt-Manager. - Если же вам необходимо использовать более высокий уровень масштабирования, вы можете уменьшить окно просмотрщика, добавив параметр
-z
при запуске:virt-viewer -z 50
- Убедитесь, что масштабирование дисплея установлено на 100%. Это можно сделать через настройки GNOME:
-
Использование переменной окружения GDK_SCALE:
- Запустите Virt-Manager с параметром
GDK_SCALE=1
, чтобы игнорировать масштабирование дисплея GNOME. Это можно сделать командой:GDK_SCALE=1 virt-manager
- Это помогает избежать проблем с уменьшением разрешения и позволит вам открывать окна в ожидаемом размере.
- Запустите Virt-Manager с параметром
-
Установка VRAM и использование Virtio:
- Убедитесь, что вы увеличили объем видеопамяти (VRAM) для вашей виртуальной машины. Это позволит вам использовать более высокое разрешение без проблем с графикой.
- Использование драйверов Virtio для передачи графических ресурсов гостевой системе также становится полезным. Эти драйверы работают напрямую с графическим процессором, что обеспечивает лучшее управление разрешением.
-
Разрешение спаечного драйвера (Spice):
- Убедитесь, что вы используете спаечные драйвера для Spice, которые имеют некоторые ограничения по разрешению. Вы можете также попробовать использовать виртуальные графические процессоры (vGPU), которые могут обеспечить работу вашей системы с разрешением 4K.
- Учтите, что в зависимости от конфигурации вашего оборудования и дистрибутива могут существовать различия в производительности и поддержке технологий vGPU.
Заключение
Чтобы правильно настроить высокое разрешение по умолчанию для KVM/Qemu VM в Virt-Manager и Virt-Viewer, вам потребуется внести изменения в настройки как графического окружения, так и самой виртуальной машины. Подходы, описанные выше, помогут вам избежать проблем с изменением разрешения до 1080p и обеспечат более качественное использование ваших 4K-дисплеев. Помните, что интеграция драйверов Virtio и виртуальных графических процессоров также может существенно улучшить опыт работы с вашими виртуальными машинами.
Это решение не только повышает качество отображения, но и увеличивает эффективность работы с виртуальными машинами в целом. При правильной конфигурации можно наладить стабильную работу и наслаждаться всеми преимуществами высокой четкости и производительности KVM/Qemu.