Использование Chromium с Vulkan

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

В моей системе установлено 2 графических процессора: интегрированный Intel и AMD RX580. Оба они обнаруживаются с помощью vulkan-info --summary, а также дополнительной реализации для ЦП.

Устройства:
========
GPU0:
    apiVersion         = 1.3.238
    driverVersion      = 23.0.2
    vendorID           = 0x8086
    deviceID           = 0x4680
    deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
    deviceName         = Intel(R) UHD Graphics 770 (ADL-S GT1)
    driverID           = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
    driverName         = Драйвер Intel с открытым исходным кодом Mesa
    driverInfo         = Mesa 23.0.2
    conformanceVersion = 1.3.0.0
    deviceUUID         = fd8cf190-0bdb-4dd5-b941-a7eb5b383e9c
    driverUUID         = 9bb8225e-db2e-6a20-282d-526794955fa9
GPU1:
    apiVersion         = 1.3.238
    driverVersion      = 23.0.2
    vendorID           = 0x1002
    deviceID           = 0x67df
    deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName         = AMD Radeon RX 580 Series (RADV POLARIS10)
    driverID           = DRIVER_ID_MESA_RADV
    driverName         = radv
    driverInfo         = Mesa 23.0.2
    conformanceVersion = 1.2.7.1
    deviceUUID         = 00000000-0100-0000-0000-000000000000
    driverUUID         = 414d442d-4d45-5341-2d44-525600000000
GPU2:
    apiVersion         = 1.3.238
    driverVersion      = 0.0.1
    vendorID           = 0x10005
    deviceID           = 0x0000
    deviceType         = PHYSICAL_DEVICE_TYPE_CPU
    deviceName         = llvmpipe (LLVM 15.0.7, 256 бит)
    driverID           = DRIVER_ID_MESA_LLVMPIPE
    driverName         = llvmpipe
    driverInfo         = Mesa 23.0.2 (LLVM 15.0.7)
    conformanceVersion = 1.3.1.1
    deviceUUID         = 6d657361-3233-2e30-2e32-000000000000
    driverUUID         = 6c6c766d-7069-7065-5555-494400000000

Тем не менее, когда я пытаюсь использовать Chromium с Vulkan, запуская $ chromium --enable-features=Vulkan,webgpu, я получаю:

Предупреждение: vkCreateInstance: Драйверы не найдены!
Ошибка: vkCreateInstance завершилась неудачей с VK_ERROR_INCOMPATIBLE_DRIVER
    в CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
    в CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:416)
    в Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:302)
    в Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:232)
    в operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:492)

Что я пробовал:

  • Использование --gpu-active-vendor-id=0x1001 в командной строке для принудительного выбора AMD
  • Использование --gpu-active-vendor-id=0x8086 в командной строке для принудительного выбора Intel
  • X11 против Wayland
  • google-chrome (r115) против ubuntu chromium snap (r114)

Почему vulkaninfo и chromium противоречат друг другу в вопросе наличия драйверов Vulkan?

$ inxi -G
Графика:
  Устройство-1: Intel AlderLake-S GT1 драйвер: i915 v: kernel
  Устройство-2: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
    драйвер: amdgpu v: kernel
  Дисплей: сервер wayland: X.Org v: 1.22.1.8 с: Xwayland v: 22.1.8
    композитор: gnome-shell v: 44.2 драйвер: X: загружен: amdgpu,modesetting
    выгружен: fbdev,radeon,vesa dri: iris gpu: i915 разрешение: 3840x2160~60Hz
  API: OpenGL v: 4.6 Mesa 23.0.2 рендерер: Mesa Intel UHD Graphics 770
    (ADL-S GT1)

Это обсуждение предполагает использование другого драйвера AMD. Возможно, приложение использует расширение экземпляра, которое недоступно в текущем драйвере.

Таким образом, версии 114 и 115 не будут работать.

При попытке запустить Google Chrome 116.0.5845.32 я получаю работающий Vulkan:

статус

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

Ваша проблема, связанная с использованием Vulkan в Chromium на системе с двумя GPU, вероятно, вызвана несовместимостью драйверов или версиями Chromium. На основании предоставленных вами данных, вот некоторые предложения и советы для решения проблемы:

  1. Обновление Драйверов: Убедитесь, что на вашей системе установлены самые последние версии драйверов для обеих видеокарт. Для AMD RX580 рекомендуется использовать драйверы, предоставляемые AMD, а не только открытые драйверы Mesa. Иногда версия Mesa может не поддерживать все необходимые расширения Vulkan.

  2. Тестирование с Оптимизированными Драйверами: Проверьте, установлены ли у вас проприетарные драйверы AMD (например, AMDGPU-PRO), если вы используете открытые драйверы и сталкиваетесь с проблемами. Иногда использование проприетарных драйверов может улучшить совместимость с Vulkan.

  3. Конфигурация Chromium:

    • Если вы используете Wayland, попробуйте переключиться на X11 и посмотрите, изменится ли ситуация.
    • Попробуйте запускать Chromium с дополнительными флагами, такими как --enable-zero-copy или --use-gl=desktop, это может помочь в некоторых случаях.
  4. Проверка Версии Chromium: Как вы сами отметили, разные версии Chromium могут вести себя по-разному с Vulkan. Обновите Chromium до последней стабильной версии, так как новое обновление может включать исправления ошибок.

  5. Параметры GPU: Вы можете попробовать запускать Chromium с указанием конкретного GPU, используя параметры командной строки:

    • Для AMD GPU:
      chromium --enable-features=Vulkan,webgpu --gpu-active-vendor-id=0x1002
    • Для Intel GPU:
      chromium --enable-features=Vulkan,webgpu --gpu-active-vendor-id=0x8086
  6. Проверка Совместимости: Некоторые расширения Vulkan могут быть недоступны на определенных драйверах, как упоминалось в обсуждениях. Убедитесь, что драйверы, которые вы используете, поддерживают необходимые экземпляры расширений Vulkan, такие как VK_KHR_surface и VK_KHR_swapchain.

  7. Логи и Отладка: Смотрите логи Chromium для получения более подробной информации об ошибках, которые могут указать на конкретные проблемы. Вы можете использовать дополнительные флаги логирования, такие как --enable-logging=stderr --v=1, чтобы получить информацию о том, что именно происходит в момент ошибки.

Если все вышеперечисленные шаги не помогли решить проблему, возможно, стоит обратиться к сообществу разработчиков Chromium или форумам поддержки Mesa для дальнейшего анализа. Это поможет вам получить более конкретную помощь на основе вашего оборудования и конфигурации системы.

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

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