英特尔在 Windows 操作系统上与 AMD 等效的 HAXM

Posted

技术标签:

【中文标题】英特尔在 Windows 操作系统上与 AMD 等效的 HAXM【英文标题】:Intel's HAXM equivalent for AMD on Windows OS 【发布时间】:2014-10-05 11:12:24 【问题描述】:

是否有任何相当于 Intel 的适用于 AMD(Windows 操作系统)的 HAXM,或者是否有人能够破解 HAXM 以使其在 AMD 处理器(Windows 操作系统)上运行?

此外,与 Google 提供的默认 Google API ARM / x86 系统映像相比,Genymotion (http://www.genymotion.com) 是否会明显更快?

我的确切开发机器规格:

操作系统:Windows 7 旗舰版 处理器:AMD FX 8120 8 核 2.81 GHz

提前致谢!

【问题讨论】:

【参考方案1】:

自 2019 年以来发布新答案。

TLDR:现在通过 WHPX 和 yes 在 Windows 和 Linux 上都支持 AMD,Genymotion 速度更快,因为它使用 x86 架构虚拟化。

来自 android docs(2019 年 1 月):

虽然我们建议在 Windows 上使用 HAXM,但也可以使用 带有模拟器的 Windows Hypervisor Platform (WHPX)。你应该使用 WHPX 与模拟器如果您使用的是 AMD CPU 或者如果您需要 同时使用 Hyper-V。

要在 Windows 上使用 WHPX 加速,您必须启用 Windows Turn Windows features on or off 中的 Hypervisor Platform 选项 对话框。要使对此选项的更改生效,请重新启动您的 电脑。

此外,必须在 Bios 设置中进行以下更改:

Intel CPU:必须启用 VT-x。 AMD CPU:必须虚拟化或 SVM 启用。

与 2016 年相比:

虚拟化扩展要求

在尝试使用加速之前,您应该首先确定是否 您的 CPU 支持以下虚拟化扩展之一 技术:

    英特尔虚拟化技术(VT、VT-x、vmx)扩展 AMD 虚拟化(AMD-V、SVM)扩展(仅支持 Linux)

大多数现代计算机都可以。如果您使用较旧的计算机并且您不是 当然,请咨询您的 CPU 制造商的规格以 确定它是否支持虚拟化扩展。如果你的 CPU 不支持这些虚拟化技术之一,那么您 无法使用虚拟机加速。

虚拟化扩展通常通过您的计算机 BIOS 启用,并且在默认情况下经常被关闭。检查文档 让您的主板了解如何启用虚拟化 扩展名。

【讨论】:

我已经在 BIOS 中启用了 SVM 和 Hyper-V 功能,但是当我尝试创建新的 android 虚拟设备时,安装程​​序会下载英特尔的 HAXM 安装程序,该安装程序失败,因此我的模拟器启动但保持离线状态。我真的不知道在这种情况下该怎么办【参考方案2】:

来自Android docs(2016 年 3 月):

在尝试使用这种类型的加速之前,您应该首先 确定您的开发系统的 CPU 是否支持其中一种 以下虚拟化扩展技术:

英特尔虚拟化技术(VT、VT-x、vmx)扩展 AMD 虚拟化(AMD-V、SVM)扩展(仅支持 Linux)

CPU 制造商的规格应表明它是否 支持虚拟化扩展。如果你的 CPU 不支持 这些虚拟化技术,那么你不能使用虚拟 机器加速。

注意:虚拟化扩展通常通过您的 计算机的 BIOS 并且默认情况下经常关闭。检查 系统主板的文档,了解如何启用 虚拟化扩展。

大多数人都在谈论 Genymotion 更快,而我从未听过有人说它更慢。我绝对认为它更快,值得花大约 20 分钟的时间进行设置来尝试一下。

【讨论】:

根据文档支持AMD如果它有“AMD虚拟化(AMD-V,SVM)扩展(仅支持Linux)”(developer.android.com/tools/devices/emulator.html)跨度> @Rickard 仅支持 Linux 是关键,所以我遇到的问题是 Windows 操作系统不支持 AMD 处理器。 我用文档中的相关引用扩展了您的答案。我希望这会有所帮助。 不幸的是 Genymotion 需要购买许可证。 :( 可悲的是,当一家资源比 Google 少得多的第三方公司可以为 Google 的东西构建一些东西时,这要快得多。这告诉您有关 Google 的 Android 团队的哪些信息?【参考方案3】:

您需要创建一个在 ARM 上运行的虚拟设备。在 X86 上运行的虚拟设备需要 Intel 处理器。 Android 指定的 AMD 支持仅适用于 Linux 系统。如果您希望在创建虚拟设备时获得更好的体验,请使用“存储快照以加快启动速度”而不是默认的“使用主机 GPU”。

【讨论】:

这是不正确的。我正在运行 AMD FX-8350,并且 AVD 管理器告诉我“您的 CPU 不支持所需的功能(VT-x 或 SVM)”,直到我在“Windows 功能”中启用了“Windows Hypervisor 平台”(在控制面板下 ->打开或关闭 Windows 功能)。虚拟 Android 设备运行迅速,对我来说没有问题。 @AdamHowell 谢谢你的建议帮助我解决了这个问题【参考方案4】:

https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

重要的

如果您的计算机中有 AMD 处理器,则需要满足以下设置要求: AMD 处理器 - 推荐:AMD® Ryzen™ 处理器 Android Studio 3.2 Beta 或更高版本 - 通过 Android Studio 预览页面下载 Android Emulator v27.3.8+ - 通过 Android Studio SDK Manager 下载 x86 Android 虚拟设备 (AVD) - 创建 AVD 带有 2018 年 4 月更新的 Windows 10 通过 Windows 功能启用:“Windows Hypervisor Platform”

【讨论】:

【参考方案5】:

购买新处理器是一种解决方案,但对于我们中的一些人来说,这也意味着购买其他组件。或者,您可以只购买支持最低目标 API 级别的 Android 手机,然后在手机上运行您的应用程序。你可以在亚马逊、Ebay、craigslist 上找到其中一些手机(有时)。此外,这使您能够在您打算支持的最低硬件上实际运行。虽然这可能比在模拟系统上安装您的应用要慢一些,但它可能会为您省钱。

Android,设备测试/调试链接:http://developer.android.com/tools/device.html

【讨论】:

不回答问题。 对不起,我的回答对你没有帮助。取决于你是如何想到这个线程的,但这正是你需要看到的。针对用户将要执行的实际硬件进行测试非常重要(我认为它甚至可能在我的答案中的链接中这么说)。此外,当需要新处理器时,虚拟化甚至不再是一个好的选择。它是作为一种可能更昂贵的选择的替代品(实际上确实通过使其不再是问题来解决问题)。 您可以阅读@Rickard 的答案...支持 AMD cpu(使用 Linux),但不支持 Windows。这与购买新处理器无关,而只是谷歌的固执和懒惰做这样的事情。 ^^【参考方案6】:

您好,要在 AMD 处理器上运行 avd 管理器,您需要在 Android Studio 中更新您的 SDK MANAGER: https://android-developers.googleblog.com/2018/07/android-emulator-amd-processor-hyper-v.html

你去工具->SDK MANAGER->SDK工具

然后查找适用于 AMD 处理器的 Android Emulator 和 Android Emulator Hypervisor Driver

选中复选框并单击应用或确定

【讨论】:

【参考方案7】:

这个(Windows)限制应该公开宣布!对我来说问题是以下组合:Windows 10 + AMD CPU(带有 AMD-V/SMV)+/- Hyper Visor

我运行没有问题:Intel(使用 VT-x)+ Linux 或 AMD(使用 AMD-V)+ Linux

在此处链接到 Android Studio 问题:

https://developer.android.com/studio/run/emulator.html#accel-vm

Xamarin/Visual Studio 好像有workaround,不过我还没测试过:

如果您需要将 Hyper-V 用于其他模拟器,那么我建议您改用 Microsoft Android 模拟器,它使用 Hyper-V,也可以与 Xamarin Studio/Visual Studio 一起使用。您可以从here.免费下载

我会在确认它有效后更新它。希望我在购买新机器之前就知道这一点。

更新!!它不起作用“需要 Intel ...”显示错误消息

最终note:

*必须是修订版 F3 或更高版本,或者必须是具有 BIOS 支持的 F2。是否存在 SVM Disable 或其他虚拟化选项 BIOS 不能确保存在 BIOS 支持。你应该联系 OEM 以确保对 Hyper-V 的支持。

*一些 AMD BIOS 具有启用/禁用 SVM(虚拟化辅助)的选项

*某些 BIOS 将此列为 SVM Disable,这是一个双重否定,即您想禁用 SVM 禁用以启用 SVM。

*某些 BIOS 将其列为安全虚拟化,因此启用安全虚拟化将启用 SVM

*必须在 BIOS 中启用 No-Execute,有时这称为 NX 或 Execute Disable

*如果您想查找 F3 的 CPU,请参阅 AMD 指南 http://products.amd.com/en-us/DesktopCPUFilter.aspx 或 http://products.amd.com/en-us/OpteronCPUFilter.aspx?f1=Second-Generation+AMD+Opteron%e2%84%a2

【讨论】:

I 【参考方案8】:

发布一个新的答案,因为它(几乎)是 2020 年。

Android 模拟器仍然只支持 HAXM 或 WHPX on windows。你甚至可能已经与后者结束了一天。

但是,如果您不喜欢它,PS4 模拟器开发人员之一正在为前者提供 AMD-V 支持:https://github.com/jarveson/haxm/tree/svm

【讨论】:

现在有Android Emulator Hypervisor Driver for AMD Processors。【参考方案9】:

在我的主板上(ASRock A320M-HD with Ryzen 3 2200G)我必须:

SR-IOV support: enabled
IOMMU: enabled
SVM: enabled

在操作系统上启用 Hyper V。

【讨论】:

【参考方案10】:

现在还有另一种选择:Android Emulator Hypervisor Driver for AMD Processors on Windows

在您可以安装和使用适用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序之前,您的计算机必须满足以下要求:

采用安全虚拟机 (SVM) 技术的 AMD 处理器 64 位 Windows 10、Windows 8 或 Windows 7(不支持 32 位 Windows) 要在 Windows 10 或 8 上使用适用于 AMD 处理器的 Android Emulator Hypervisor 驱动程序,您必须在 Windows Feaures 对话框中关闭 Hyper-V。注意:安装某些软件可能会使 Hyper- V 重新开始。有关详细信息,请参阅禁用 Hyper-V。

【讨论】:

【参考方案11】:

我有 AMD 锐龙处理器。这对我有用。

    进入启动菜单。 转到高级设置。 启用 SVM。 将 UVM 设为自动。 保存并退出。

【讨论】:

以上是关于英特尔在 Windows 操作系统上与 AMD 等效的 HAXM的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS测试系统惊现AMD处理器代码,AMD YES

黑苹果AMD强势崛起,黑苹果路在何方?

微软苹果Linux等操作系统正遭受严重安全漏洞威胁

Android模拟器系统映像和AMD处理器

英特尔图形学专家被AMD挖走,研发实时光追技术,从部门主管变成副总裁

[转帖]AMD英特尔为何争相走向胶水多核处理器?真相在此