Доступ к графике в Ubuntu, установленной как приложение в Windows 10 HP.

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

У меня есть рабочая станция HP с Windows 10 и видеокартой NVIDIA GeForce GTX 1070, на которую я установил UBUNTU 18.04 как приложение (нативно), следуя ссылке:

https://www.howtogeek.com/fyi/windows-10-will-finally-offer-easy-access-to-linux-files/

Я могу получить доступ к этой видеокарте в Windows, но не могу сделать это в Ubuntu. Я ввожу следующую команду в терминале:

lspci -k

И получаю следующие сообщения:

pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

Я также ввел: lshw -numeric -C display, но это не дало никакого результата.

У меня нет твердых доказательств для этого, но возможно, что WSL фактически не предоставляет все оборудование, заявленное хостом, в окружение Ubuntu WSL. Это может быть причиной, почему вы не можете работать с ним, поскольку у вас нет прямого доступа к PCI, как если бы Ubuntu была установлена непосредственно на системе, а вместо этого вы как бы “контейнеризованы” в Windows. Также возможно, что библиотеке абстракции системных вызовов WSL не разрешено иметь этот доступ.

ИЗМЕНЕНИЕ: Согласно запросу о том, так ли это или нет, на WSL GitHub, в настоящее время невозможно получить доступ к GPU или шине PCI напрямую.

На данный момент вы не можете получить доступ к вашему GPU внутри WSL. Это что-то, чего очень часто требуют (это наш запрос номер 1 на UserVoice!), и мы уже отслеживаем это здесь в этом вопросе: #829. Мы изучаем, как сделать это возможным, и обязательно опубликуем любые обновления, как только они станут доступны.

Источник

Они также указали, что это сильно запрашиваемо, и предложили отслеживать запрос через данный вопрос на GitHub.

Иногда хорошо, что Community-bot поднимает старые вопросы. Ситуация определенно изменилась с тех пор, как этот вопрос был изначально задан и отвечен.

Хотя все еще верно, что WSL2 является виртуализированной платформой, которая в большинстве случаев не дает прямого доступа к оборудованию, недавно произошло два больших прогресса в отношении графики:

  • Во-первых, с выпуском Windows 11 функция WSLg позволяет запускать графические приложения Linux непосредственно из WSL2 в Windows. Это также обеспечивает ускоренную графику в большинстве случаев.

  • Во-вторых, GPU от nVidia и AMD теперь могут быть доступны непосредственно для задач вычислений с использованием GPU. Эта функция доступна как в Windows 10 21H2, так и в Windows 11 (все выпуски).

.

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

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

Теория

Первоначально стоит понять, как именно работает Windows Subsystem for Linux (WSL), который вы используете для работы с Ubuntu на Windows 10. WSL предоставляет слой совместимости, который позволяет пользователям запускать Linux-программы внутри Windows, не требуя использования виртуальной машины или двойной загрузки. Тем не менее, это не полноценная Linux-система: WSL в первую очередь предназначен для разработки программного обеспечения и предлагает ограниченный доступ к аппаратному обеспечению, особенно в его первых версиях.

В вашем случае проблема заключается в невозможности доступа к NVIDIA GeForce GTX 1070 из-под Ubuntu внутри WSL. Это связано с архитектурными ограничениями WSL, который до недавнего времени не поддерживал прямой доступ к аппаратным устройствам, таким как графические процессоры.

Пример

Ваша проблема с lspci и lshw в Ubuntu объясняется тем, что WSL (особенно первая версия, WSL1) не предоставляет доступа к шине PCI, что делает невозможным выполнение стандартных команд проверки оборудования в Linux. В отличие от полноценной Ubuntu, установленной на железо, WSL использует виртуализированное окружение, где аппаратные ресурсы изолированы от процесса с использованием дополнительного уровня абстракции.

Применение

Однако с появлением WSL2 ситуация в некоторой степени изменилась. WSL2 перешел на использование виртуальной машины на базе Hyper-V, что дало возможность более эффективного управления ресурсами. Хотя все еще существуют ограничения по доступу к аппаратному обеспечению, Microsoft в сотрудничестве с NVIDIA и другими производителями теперь предлагает поддержку графических операций и вычислений на GPU.

Для использования этих возможностей вам потребуется обновить WSL до версии 2, а также убедиться, что используете версию Windows 10 21H2 или Windows 11, которые поддерживают эти возможности. WSLg также позволяет запускать графические Linux-приложения непосредственно из WSL, при этом, во многих случаях, обеспечивается поддержка аппаратного ускорения.

Чтобы воспользоваться этими технологиями:

  1. Обновите WSL: Убедитесь, что вы используете последнюю версию WSL. Введите в командной строке Windows:

    wsl --update
  2. Проверьте версию Windows: Убедитесь, что ваша система обновлена до Windows 10 версии 21H2 или Windows 11. Это можно сделать через настройки обновлений.

  3. Настройка WSL2: Если вы еще не перешли на WSL2, в командной строке выполните:

    wsl --set-version Ubuntu-18.04 2
  4. Установка драйверов для GPU: Поскольку теперь поддерживается GPU в WSL, установите соответствующие драйверы для вашей видеокарты NVIDIA в системе Windows и активируйте возможность использования GPU в WSL, следуя инструкциям от Microsoft и NVIDIA относительно WSL2.

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

Понимание того, как поведение системы может адаптироваться к изменениям в WSL, особенно с учетом последних технологических усовершенствований, таких как WSLg, позволяет вам более эффективно использовать ресурсы вашей системы. Следите за обновлениями от Microsoft, которые продолжают развивать WSL и улучшать его возможности в плане взаимодействия с аппаратным обеспечением.

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

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