Android Studio,运行模拟器时突然出现 GPU 驱动程序问题

我有一台笔记本电脑,我主要用于 android 工作室的 android 开发,今天突然得到这个错误消息(或过时的版本) ,当我运行我的模拟器

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 的驱动程序,但没有用,试图更新英特尔的,但失败了,有没有办法禁用这个?绕过兼容性渲染器,像我以前那样工作,模拟器现在很糟糕。你能解释一下为什么会突然发生这种事吗?

另外,我正在使用 Windows 764位,如果这将有助于任何事情,几天前有一个更新。

98725 次浏览

我正在使用 Win10,但有同样的问题。在上次模拟器更新后,模拟器开始崩溃我的应用程序。在我的例子中,问题是模拟器不能在硬件上运行,即使我的 GPU 从来没有问题。而且,弹出的“ GPU 驱动程序问题”窗口甚至没有标明它认为哪个 GPU 是问题所在。

对我来说,有效的解决方案是从终端运行模拟器,强制它使用硬件图形(而不是让模拟器决定使用哪一个)使用命令运行

emulator -avd avd_name -gpu mode

其中 模式主持人,因此它将与硬件一起运行。

例如:

使用 Android Studio 终端移动到模拟器所在的文件夹

通过列出可用的模拟器来查找要运行的模拟器: emulator -list-avds

使用 Gpu 主机选项运行模拟器: emulator -avd avd_name -gpu host

更多关于 这个链接的信息

我和@Api 做了同样的事情,但是我是在虚拟设备管理器上做的。在设备编辑窗口的图形下拉列表中,我选择了“硬件-GLES 2.0”。我想默认是自动档。我仍然得到错误的 GPU 驱动程序弹出窗口,但模拟器不再崩溃。它已经恢复了正常的可靠性。

四天前我也有同样的问题。以上两个答案我都试过了,但都不管用。 附言。这个模拟器可以工作,但是看起来是随机崩溃的。我在这个错误之前,模拟器工作良好,我可以测试某些功能,我也可以完全调试没有崩溃通过 USB 与几个机器人设备,所以我几乎可以肯定它的问题与模拟器。

编辑: 不确定到底是什么问题,但是通过强制 Android Studio 使用 nVidia GPU 来解决。

对于 linux 用户,请访问 Android 文件夹,在我的例子中,它位于 ~/Android 下面。然后进入/sdk/模拟器。“ Simulator”是一个本地命令。因此,您可以将命令作为 local 运行”。/模拟器」。

其余部分按照用户“ Api”的说明完成。

模拟器-avd-avd _ name-gpu 模式

模拟器-avd Nexus _ 5X _ API _ 26-gpu 主机(# IN MY CASE)

注意: 我没有下载 SDK,而是复制并粘贴到/home 目录下。这就是该命令在全球范围内无效的原因。如果你从地面设置 sdkavd,它应该工作得很好。

我今天碰到了这个问题。根据 Google 模拟器问题跟踪器的建议,我安装了 beta 模拟器26.1.3。问题解决了。

按照其他建议,进入设置-> 外观和行为-> 系统设置-> 更新。将“自动检查更新”更改为“ Beta 频道”。更新模拟器到最新的测试版。司机的问题应该解决了。我有问题运行片段谷歌地图(应用程序崩溃)后,解决了模拟器更新到最新的测试版。

一位谷歌员工在关于这个问题的 漏洞报告上的 评论很有启发性。

如果您的系统没有一个离散的 GPU,我们打算在这个变化 为了使模拟器更可靠地运行在英特尔 GPU 驱动程序上 你自己的风险,你可以切换回使用英特尔图形处理器 设置页,然后将 OpenGLES 呈现程序更改为“ ANGLE” “(D3D11)”、“ ANGLE (D3D9)”或“桌面本地 OpenGL”。

似乎这条消息正在显示给所有使用 Intel GPU 的系统,而不仅仅是运行特定版本的图形驱动程序的系统。

如果可能的话,解决方案将切换到使用外部 GPU 来运行模拟器。

如果 Intel GPU 是系统上唯一可用的 GPU,那么可以通过在设置中覆盖默认的 OpenGL ES 呈现器来重新启用 OpenGL ES 的加速呈现(见下文)。选项有 OpenGL、 ANGLE 和 SwiftShader。SwiftShader 是基于 CPU 的 OpenGL ES 仿真,因此此设置不会提供加速效果。ANGLE 是基于 Direct3d 的 OpenGL 仿真。

根据评论,这并不能保证能够工作,事实上我可以为 Android 7模拟器重新启用硬件加速,但是如果启用了硬件加速,我得到的只是一个黑屏的 Android 8模拟器。

使用 Ctrl-Shift-S 打开设置,然后根据模拟器的版本,转到 Settings -> General -> OpenGL ES rendererSettings -> Advanced -> OpenGL ES renderer

更新的模拟器版本: Settings illustration

老版本: Settings illustration

更新 # 1: 另一个关于 bug 报告的 评论进一步阐明了这个问题:

如果你只有一个英特尔 HD 4xxx 运行模拟器,它的目的是兼容性渲染器使用。我很抱歉,但我们需要能够切换到更好的支持英特尔 GPU 驱动程序,特别是当运行高 API 水平(25 +)的系统映像。那一代(以及更老一代)的 Intel iGPU 在 OpenGL 兼容性方面存在许多问题。

看来,用于 Haswell (第4代)处理器和更老版本的 Intel iGPU 驱动程序对于 Android 7.1 + 设备的 OpenGL 支持不够好。因此,他们有意回到使用软件仿真,更好地支持新的 Android 仿真器。

这和我的经验相符。在 Android 7上使用英特尔 iGPU 效果非常好,但是在 Android 7.1上有些不稳定,在 Android 8上根本不能工作。

我的建议是,在使用英特尔 Haswell 和旧版 igpUs 的硬件加速时,坚持使用 Android 7模拟器。

更新 # 2: 关于这个问题的正式通信最终以模拟器26.1.3的 释放通知书评论的形式提供:

哪些 GPU 将被切换为使用 ANGLE 或 Swiftshader 渲染,确定如下:

  • 老的 Intel iGPU 在 OpenGL 和 ANGLE D3D 驱动程序上都存在驱动程序问题。Intel HD Graphics 为3xxx 及以上的用户将使用 Swiftshader。
  • 一些用户报告无法使用 API 级别25的图像,因为一个 bug,其中“像素启动器不断停止。”这似乎是一些英特尔 HD 4xxx 型号的驱动程序问题。因此,他们将被切换到使用角度自动。

为了获得 GPU 仿真的最佳效果,我们建议使用离散的 NVIDIA 或 AMD GPU,或者更新的 Intel GPU (Iris,HD 5xxx,HD 5xx/6xx)。

我设法解决这个问题,禁用使用的 GPU,使 AVD 使用软件加速。 虽然它不会像 GPU 那样快,但至少它有更好的机会正常工作。

我尝试了上面提到的其他方法,可惜都不管用。

如果你想尝试这个选项,进入 AVD 管理器(在 Android Studio: Tools-> Android-> AVD Manager) ,然后编辑你的虚拟设备,在图形字段中,你可以设置“ Software-GLES 1.1”而不是“ Hard-GLES 2.0”。

这不是解决这个问题的完美方法,但它可以有所帮助。

这些都不适用于我的 windows 笔记本电脑和英特尔 hd4000

起作用的是 ubuntu linux 在 linux 上运行模拟器之后,我对它的速度感到震惊:)

看来情报和窗户的问题不会很快得到解决

在 Mac OS 上(目前我正在使用 Catalina)

  1. 首先移动到模拟器目录 我使用默认位置

    Cd/Users/yourusername/Library/Android/sdk/Simulator

  2. 模拟器搜索列表

    ./Simulator-list-avds

    例如,我的输出是: 像素 _ 2 _ XL _ API _ 27

  3. 使用 -gpu 命令运行模拟器

    ./Simulator-avd Pixel _ 2 _ XL _ API _ 27-gpu 主机

如何更新我的 GPU 驱动程序? 选择 Windows Start > Control Panel。 打开设备管理器。 (或搜索设备管理器开始) 单击“显示适配器”旁边的箭头。 右键单击 Intel HD Graphics,选择“更新驱动程序”。 选择搜索自动更新的驱动程序软件。