Linux下API 30及以上Android模拟器黑屏问题求助
Arch Linux下API 30+ Android虚拟设备(AVD)启动故障
在Arch Linux系统中,API 29版本的Android虚拟设备(AVD)可正常运行,但API 30及以上版本启动异常,90%确定问题与Vulkan相关。
首次运行API 30+的AVD时会弹出崩溃报告,内容如下:
Operating system: Linux 6.6.72 -1-lts #1 SMP PREEMPT_DYNAMIC Fri, 17 Jan 2025 14:04:26 +0000 x86_64 CPU: amd64 family 25 model 33 stepping 0 32 CPUs GPU: UNKNOWN Crash reason: SIGABRT Crash address: 0x0 Process uptime: 0 seconds Thread 0 (crashed) 0 libc.so.6 + 0x963f4 ... very long report....
点击“不发送”后,AVD窗口先呈灰色,随后显示Android启动界面,但会卡在启动界面、保持灰色或变为白色。无论是通过CLI还是Android Studio运行模拟器,都会出现该问题。
CLI启动的控制台输出如下:
env QT_QPA_PLATFORM=xcb $ANDROID_HOME/emulator/emulator -avd Pixel_7a_API_30 -netdelay none -netspeed full INFO | Android emulator version 35.3.11.0 (build_id 12836668) (CL:N/A) INFO | Graphics backend: gfxstream INFO | Found systemPath /home/vanguard/.local/share/Android/Sdk/system-images/android-30/aosp_atd/x86_64/ WARNING | Please update the emulator to one that supports the feature(s): Vulkan INFO | Checking system compatibility: INFO | Checking: hasSufficientDiskSpace INFO | Ok: Disk space requirements to run avd: `Pixel_7a_API_30` are met. INFO | Checking: hasSufficientHwGpu INFO | Ok: Hardware GPU requirements to run avd: `Pixel_7a_API_30` are passed. INFO | Checking: hasSufficientSystem INFO | Ok: System requirements to run avd: `Pixel_7a_API_30` are met. WARNING | Failed to process .ini file /home/vanguard/.config/android/avd/../avd/Pixel_7a_API_30.avd/quickbootChoice.ini for reading. WARNING | FeatureControl is requesting a non existing feature. INFO | Warning: QMetaObject::connectSlotsByName: No matching signal for on_new_posture_requested(int) ((null):0, (null)) ...omitted for brevity... INFO | Initializing hardware OpenGLES emulation support I0123 13:19:37.896351 58988 opengles.cpp:285] android_startOpenglesRenderer: gpu info I0123 13:19:37.896376 58988 opengles.cpp:286] INFO | Raised nofile soft limit to 4096. INFO | HealthMonitor disabled. INFO | SharedLibrary::open for [libX11] INFO | SharedLibrary::open for [libX11]: not found in map, open for the first time ...omitted for brevity... INFO | SharedLibrary::open for [libGL.so.1] ...omitted for brevity... INFO | Graphics Adapter Vendor Google (AMD) INFO | Graphics Adapter Android Emulator OpenGL ES Translator (AMD Radeon RX 6900 XT (radeonsi, navi21, LLVM 19.1.6, DRM 3.54, 6.6.72-1-lts)) INFO | Graphics API Version OpenGL ES 3.0 (4.6 (Core Profile) Mesa 24.3.3-arch1.2) INFO | Graphics API Extensions GL_OES_EGL_sync ...omitted for brevity... GL_APPLE_texture_format_BGRA8888 INFO | Graphics Device Extensions N/A pc_memory_init: above 4g size: c0000000 IN...omitted for brevity...n INFO | Advertising in: /run/user/1000/avd/running/pid_58988.ini INFO | Setting display: 0 configuration to: 1080x2400, dpi: 420x420 INFO | setDisplayActiveConfig 0 ...omitted for brevity... INFO | Loading snapshot 'default_boot'... WARNING | Device 'cache' does not have the requested snapshot 'default_boot' WARNING | Failed to load snapshot 'default_boot' USER_WARNING | The saved emulator state could not be loaded, performing a cold boot. INFO | Boot completed in 24589 ms INFO | Increasing screen off timeout, logcat buffer size to 2M.
API 30(无法运行)与API 29(可正常运行)的控制台输出主要差异为:
< INFO | Found systemPath /home/vanguard/.local/share/Android/Sdk/system-images/android-30/aosp_atd/x86_64/ < WARNING | Please update the emulator to one that supports the feature(s): Vulkan
已尝试的常规及进阶修复方案均无效:
- 切换至冷启动模式
- 将AVD的“Graphics”设置改为“Software”
- 测试多种Linux内核(标准、lts、hardened)
- 在XFCE、Cosmic等纯X桌面环境中运行测试
- 通过
VK_DRIVER_FILES尝试使用AMDLK和Lavapipe驱动
内容的提问来源于stack exchange,提问作者Jim
相关产品推荐
相关产品推荐

