Ubuntu 22.04中Android Emulator运行Chrome时冻结的问题求助
问题背景
我的运行环境:
- 操作系统:Ubuntu 22.04.2 LTS x86_64
- 内核:5.19.0-32-generic
- 设备:HP EliteBook 840 G8 Notebook
- GPU:Intel TigerLake-LP GT2 [Iris Xe Graphics]
- CPU:11th Gen Intel i7-1165G7 (8) @ 4.700GHz
- Android Studio 搭配 Android Emulator 31.* / 32.*(当前最新版本)
虚拟化验证结果:
- 执行命令
egrep -c '(vmx|svm)' /proc/cpuinfo返回16,虚拟化功能正常 - 执行
kvm-ok输出:
kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
遇到的问题:启用硬件图形加速(开启hardware GLES 2.0)的AVD运行时,在模拟器中打开Google Chrome会导致模拟器冻结,报错信息为 error: kvm run failed Bad address,只能强制关闭模拟器。
解决方法尝试
以下是针对该问题的可行修复方案,按优先级依次尝试:
- 更新Intel显卡驱动
Ubuntu 22.04默认开源驱动对Iris Xe Graphics可能存在兼容性问题,安装官方Intel图形驱动:
- 添加Intel图形PPA源:
sudo add-apt-repository ppa:intel-graphics/ppa sudo apt update - 安装最新驱动包:
sudo apt install intel-microcode intel-media-va-driver-non-free libmfx1 - 重启系统后测试AVD。
- 调整AVD图形加速配置
尝试切换图形加速模式或添加自定义启动参数:
- 打开Android Studio的AVD Manager,编辑目标AVD
- 进入
Show Advanced Settings,将Graphics选项切换为Auto - 若问题仍存在,在
Emulated Performance的Additional Command Line Options中添加:-gpu host -no-snapshot-load - 保存配置后重启AVD。
- 降级Android Emulator版本
最新的31.* / 32.*版本可能存在兼容性bug,尝试降级至稳定旧版本:
- 打开Android Studio的
SDK Manager,切换到SDK Tools标签 - 取消勾选
Android Emulator,点击Apply卸载当前版本 - 勾选
Show Package Details,选择30.9.5版本(兼容性验证良好),安装后重启AVD。
- 调整KVM内核参数
修改KVM参数避免地址冲突:
- 编辑KVM配置文件:
sudo nano /etc/modprobe.d/kvm.conf - 添加以下内容:
options kvm_intel nested=1 enable_apicv=0 - 保存后执行更新命令并重启:
sudo update-initramfs -u sudo reboot
- 禁用模拟器内Chrome的硬件加速
若以上方法无效,临时禁用Chrome的硬件加速:
- 在模拟器中打开Chrome,输入
chrome://flags - 搜索
Hardware-accelerated rendering相关选项,全部设置为Disabled - 重启Chrome后使用。
内容的提问来源于stack exchange,提问作者Ognjen Mišić
相关产品推荐
相关产品推荐

