Android Studio, неожиданно возникла проблема с драйвером графического процессора при запуске эмулятора

У меня есть ноутбук, который я использую в основном для разработки Android на Android Studio, сегодня неожиданно появилось это сообщение об ошибке (или его устаревшая версия), когда я запустил свой эмулятор

Your GPU driver information:

GPU #1
Make: 8086
Model: Intel(R) HD Graphics Family
Device ID: 0a16
Driver version: 10.18.10.3945
GPU #2
Make: 10de
Model: NVIDIA GeForce 820M
Device ID: 1140
Driver version: 22.21.13.8476 

Some users have experienced emulator stability issues with this driver version. As a result, were selecting a compatibility renderer. Please check with your manufacturer to see if there is an updated driver available. 

Обновил драйвер geforce, но безрезультатно, попытался обновить intel, но не получилось, есть ли способ отключить это? Обходите рендерер совместимости и работайте как раньше, эмулятор ужасен. Любое объяснение, почему это произошло внезапно?

Также я использую 64-битную Windows 7, если это поможет с чем-то, было обновление несколько дней назад.

12 ответов

Решение

Я использую Win10, но у меня такая же проблема. Эмулятор начал разрушать мое приложение после последнего обновления эмулятора. В моем случае проблема в том, что эмулятор не работает на оборудовании, хотя у меня никогда не было проблем с моими графическими процессорами. Кроме того, всплывающее окно "Проблема с драйвером графического процессора" даже не обозначает, какой из графических процессоров, по его мнению, является проблемой.

Для меня решение, которое работало, состоит в том, чтобы запустить эмулятор с терминала, заставив его работать с использованием аппаратной графики (вместо того, чтобы позволить эмулятору выбирать какой) с помощью команды

emulator -avd avd_name -gpu mode

где режим хост, чтобы он работал с аппаратным обеспечением.

Например:

С помощью терминала Android Studio перейдите в папку, где расположен эмулятор. По умолчанию в Win10 используется: C: \ Users \userName\ AppData \ Local \ Android \ sdk \ emulator

Найдите эмулятор для запуска, перечислив доступные:emulator -list-avds

Запустите эмулятор с опцией -gpu host:emulator -avd avd_name -gpu host

Больше информации по этой ссылке

Освещает комментарий в отчете об ошибке, относящийся к этой проблеме сотрудника Google.

Если ваша система не имеет дискретного графического процессора, мы планировали это изменение, чтобы эмулятор работал более надежно на драйверах Intel GPU. На свой страх и риск вы можете переключиться на использование графического процессора Intel, перейдя на страницу настроек, а затем изменив средство визуализации OpenGL ES на "ANGLE (D3D11)", "ANGLE (D3D9)" или "Настольный OpenGL".

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

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

Если графический процессор Intel является единственным графическим процессором, доступным в системе, можно включить ускоренную визуализацию OpenGL ES, переопределив стандартный рендерер OpenGL ES в настройках (см. Ниже). Возможные варианты: OpenGL, ANGLE и SwiftShader. SwiftShader - это эмуляция OpenGL ES на базе процессора, поэтому этот параметр не обеспечит ускорение. ANGLE - эмуляция OpenGL на основе Direct3d.

Согласно комментарию, это не гарантированно работает, действительно, я могу снова включить аппаратное ускорение для эмуляторов Android 7, но с включенным аппаратным ускорением все, что я получаю, это черный экран для эмуляторов Android 8.

Откройте настройки с помощью Ctrl-Shift-S, затем Settings -> General -> OpenGL ES renderer Иллюстрация настроек

Обновление № 1: еще один комментарий к сообщению об ошибке дает дополнительное освещение этой проблемы:

Если у вас только Intel HD 4xxx, на котором запущен эмулятор, предполагается использовать средство визуализации совместимости. Я сожалею об этом, но мы должны иметь возможность переключаться на драйверы Intel GPU с лучшей поддержкой, особенно при работе с высокими уровнями API (25+) системных образов. Intel iGPU этого поколения (и более старых) имеют много проблем с совместимостью с OpenGL.

Похоже, что драйверы Intel iGPU для процессора Haswell (4-го поколения) и старше не поддерживают OpenGL достаточно хорошо для устройств Android 7.1+. Поэтому они намеренно прибегают к использованию программной эмуляции, которая лучше поддерживает новые эмуляторы Android.

Это соответствует моему опыту. Использование Intel iGPU прекрасно работает на Android 7, но нестабильно на Android 7.1 и совсем не работает на Android 8.

Мое предложение, придерживайтесь эмуляторов Android 7 при использовании аппаратного ускорения для Intel Haswell и более старых iGPU.

Обновление № 2: Официальное сообщение по этому вопросу, наконец, было предоставлено в виде комментариев в примечаниях к выпуску Эмулятора 26.1.3:

Какие графические процессоры будут переключаться для использования рендеринга ANGLE или Swiftshader, определяется следующим образом:

  • Старые Intel iGPU имеют проблемы с драйверами как для OpenGL, так и для ANGLE D3D. Пользователи с Intel HD Graphics 3xxx и старше будут использовать Swiftshader.
  • Некоторые пользователи сообщали о невозможности использования изображений API уровня 25 из-за ошибки, из-за которой "Pixel Launcher продолжает останавливаться". Это, кажется, проблема с драйверами в некоторых моделях Intel HD 4xxx. Таким образом, они будут переключены на использование ANGLE автоматически.

Для достижения наилучших результатов при эмуляции графического процессора мы рекомендуем использовать дискретный графический процессор NVIDIA или AMD или более новый графический процессор Intel (Iris, HD 5xxx, HD 5xx/6xx).

Я столкнулся с этой проблемой сегодня. По предложению трекера проблем с эмулятором Google я установил бета-эмулятор 26.1.3. Проблема исправлена.

Как и другие, перейдите в Настройки -> Внешний вид и поведение -> Системные настройки -> Обновления. Измените "Автоматически проверять наличие обновлений" на "Бета-канал". Обновите эмулятор до последней бета-версии. Проблема с драйвером должна исчезнуть. У меня были проблемы с запуском фрагмента с Google Maps (приложение Chrash), который был решен после обновления эмулятора до последней бета-версии.

Я сделал то же самое, что и @Api, но сделал это из диспетчера виртуальных устройств. В окне редактирования устройства в раскрывающемся списке "Графика" я выбрал "Оборудование - GLES 2.0". Я считаю, что по умолчанию установлено значение Автоматически. Я все еще получаю ошибочное всплывающее окно Драйвер графического процессора, но эмулятор больше не падает. Он вернулся к нормальной надежности.

Для пользователей Linux, перейдите в папку Android, которая в моем случае находится в ~ / Android. Затем перейдите к / sdk / emulator. "Эмулятор" - это локальная команда. Таким образом, вы можете запустить команду как локальный "./emulator".

Остальное сделано, как заявил пользователь "Api".

$./emulator -avd -avd_name -gpu mode

$./emulator -avd Nexus_5X_API_26 -gpu host (#IN MY CASE)

Примечание: я не загружал SDK, вместо этого скопировал и вставил его в / home dir. Вот почему команда была недействительной в глобальном масштабе. Если вы устанавливаете SDK AVD с нуля, он должен работать просто отлично.

На Mac OS (сейчас я использую Catalina)

  1. Сначала перейдите в каталог эмулятора, я использую расположение по умолчанию

    cd /Users/yourusername/Library/Android/SDK / эмулятор

  2. Список поиска эмулятора

    ./emulator -list-avds

    пример мой результат: Pixel_2_XL_API_27

  3. Запуск эмулятора с помощью команды -gpu

    ./emulator -avd Pixel_2_XL_API_27 -gpu host

У меня точно такая же проблема, как и 4 дня назад. Я пробовал оба вышеупомянутых ответа, но ни один из них не работает. PS. Эмулятор работает, но просто вылетает, казалось бы, наугад. Я до этой ошибки, эмулятор работал нормально, и я мог тестировать определенные функции, я также могу полностью отлаживать без сбоев через USB с несколькими устройствами Android, так что я почти уверен, что это проблема с эмулятором.

Изменить: Не уверен, что именно проблема была, но была решена, заставив Android Studio работать с GPU nVidia.

Мне удалось обойти эту проблему, отключив использование графического процессора, чтобы AVD использовал программное ускорение. Это не будет так быстро, как GPU, но, по крайней мере, у него больше шансов работать должным образом.

Я пробовал другие варианты выше, но, к сожалению, ни один из них не работал.

Если вы хотите попробовать эту опцию, перейдите в AVD Manager (в Android Studio: Инструменты -> Android -> AVD Manager), затем отредактируйте ваше виртуальное устройство и в поле "Графика" вы можете установить "Программное обеспечение - GLES 1.1" вместо этого, если "Метизы - GLES 2.0".

Это не идеальное решение для этой проблемы, но оно может помочь.

Как обновить драйверы графического процессора? Выберите в Windows Пуск> Панель управления. Откройте диспетчер устройств. (Или выполните поиск Start для диспетчера устройств.) Щелкните стрелку рядом с Display Adapters. Щелкните правой кнопкой мыши Intel HD Graphics и выберите «Обновить драйвер». Выберите Автоматический поиск обновленного программного обеспечения драйвера.

Решение сработало. В cmd он показал мне, что мой раздел жесткого диска также заполнен, просто следуйте инструкциям принятого ответа и при необходимости очистите место на вашем диске.

У меня ничего не получалось на моем ноутбуке с windows с intel hd4000

то, что работало, это Ubuntu Linux после запуска эмулятора на Linux, я был в шоке от его скорости:)

так что, похоже, проблема с Intel и Windows не будет решена в ближайшее время

Другие вопросы по тегам