Karton: родной менеджер виртуальных машин KDE становится ближе к стабильному релизу

  • Категория: Linux
  • Дата: 10 июля 2025 г. в 14:40
  • Просмотров: 8

Обложка

Несколько месяцев назад мы рассказывали о Karton, проекте студента Google Summer of Code, Дерека Лина. Разработчики надеются, что он станет достойной заменой таким инструментам, как virt-manager и GNOME Boxes, и предоставит пользователям KDE Plasma удобный инструмент "из коробки" для работы с виртуальными машинами.

После нескольких недель активной работы над кодом, Лин поделился новостями о прогрессе проекта и рассказал, когда можно ожидать стабильный релиз.

Отказ от virt-install

Первое важное изменение: установщик виртуальных машин, о котором упоминалось ранее, теперь интегрирован в основную ветку проекта. Это означает полный отказ от зависимости от virt-install. Теперь Karton использует libosinfo для определения операционной системы из образа диска и самостоятельно генерирует необходимую конфигурацию libvirt XML.

Лин также обновил QML-модули (строительные блоки KDE для создания пользовательских интерфейсов), чтобы они соответствовали более современным стандартам обработки компонентов приложений.

SPICE клиент

Основная часть недавней работы была посвящена созданию SPICE-клиента с нуля. SPICE – это протокол удаленного рабочего стола, который отвечает за отображение картинки, передачу звука и управление в гостевой системе (виртуальной машине). Лин рассказал, что потратил немало времени на то, чтобы изображение с виртуальной машины корректно отображалось в окне KDE.

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

После множества экспериментов с обработкой изображения, Лин обнаружил, что проблема заключалась в рассинхронизации: код пытался читать данные с экрана одновременно с тем, как SPICE пытался их записать, что и приводило к искажениям. Решение оказалось простым: перед отображением данных делается их копия. И вот результат:

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

После нескольких месяцев интенсивной работы, вот видео, демонстрирующее работу Karton с запущенной виртуальной машиной Fedora:

На видео заметно, что прокрутка работает не очень плавно, но разработчики обещают исправить это в следующих обновлениях.

Что дальше?

Лин признает, что текущий метод рендеринга не самый эффективный и вызывает "разрывы" изображения. Он планирует изучить свойство SPICE gl-scanout для оптимизации производительности.

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

Если вас заинтересовал проект, вы можете следить за его разработкой на странице GitLab.

Karton – это многообещающий проект, который может значительно упростить работу с виртуальными машинами для пользователей KDE. Работа, проделанная Дереком Лином, впечатляет, и мы с нетерпением ждем новых обновлений и стабильного релиза.

MSReview Источник:
www.neowin.net
  • 0




  • Комментарии
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.