Вопрос или проблема
В моей системе установлено 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. На основании предоставленных вами данных, вот некоторые предложения и советы для решения проблемы:
-
Обновление Драйверов: Убедитесь, что на вашей системе установлены самые последние версии драйверов для обеих видеокарт. Для AMD RX580 рекомендуется использовать драйверы, предоставляемые AMD, а не только открытые драйверы Mesa. Иногда версия Mesa может не поддерживать все необходимые расширения Vulkan.
-
Тестирование с Оптимизированными Драйверами: Проверьте, установлены ли у вас проприетарные драйверы AMD (например, AMDGPU-PRO), если вы используете открытые драйверы и сталкиваетесь с проблемами. Иногда использование проприетарных драйверов может улучшить совместимость с Vulkan.
-
Конфигурация Chromium:
- Если вы используете Wayland, попробуйте переключиться на X11 и посмотрите, изменится ли ситуация.
- Попробуйте запускать Chromium с дополнительными флагами, такими как
--enable-zero-copy
или--use-gl=desktop
, это может помочь в некоторых случаях.
-
Проверка Версии Chromium: Как вы сами отметили, разные версии Chromium могут вести себя по-разному с Vulkan. Обновите Chromium до последней стабильной версии, так как новое обновление может включать исправления ошибок.
-
Параметры 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
- Для AMD GPU:
-
Проверка Совместимости: Некоторые расширения Vulkan могут быть недоступны на определенных драйверах, как упоминалось в обсуждениях. Убедитесь, что драйверы, которые вы используете, поддерживают необходимые экземпляры расширений Vulkan, такие как
VK_KHR_surface
иVK_KHR_swapchain
. -
Логи и Отладка: Смотрите логи Chromium для получения более подробной информации об ошибках, которые могут указать на конкретные проблемы. Вы можете использовать дополнительные флаги логирования, такие как
--enable-logging=stderr --v=1
, чтобы получить информацию о том, что именно происходит в момент ошибки.
Если все вышеперечисленные шаги не помогли решить проблему, возможно, стоит обратиться к сообществу разработчиков Chromium или форумам поддержки Mesa для дальнейшего анализа. Это поможет вам получить более конкретную помощь на основе вашего оборудования и конфигурации системы.