Genymotion模拟器在Kubuntu 13.10 64位系统上出现Open GL错误

27

我在Kubuntu上使用Genymotion安卓模拟器已经有一段时间了,但最近遇到了Open GL错误,导致无法正常工作。奇怪的是,我有一个较早的Galaxy Nexus 4.2.2模拟器映像,它可以正常工作(尽管在启动时会抱怨版本不匹配),但如果我尝试创建任何更新的映像,则模拟器无法启动。当我检查logcat时,看到以下错误:

I/SurfaceFlinger(  459): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/libEGL  (  459): loaded /system/lib/egl/libEGL_emulation.so
D/        (  459): HostConnection::get() New Host Connection established 0xb890b898, tid 460
D/libEGL  (  459): loaded /system/lib/egl/libGLESv1_CM_emulation.so
D/libEGL  (  459): loaded /system/lib/egl/libGLESv2_emulation.so
E/setdpi  (  463): Setting DPI to 213
E/SurfaceFlinger(  459): hwcomposer module not found
W/SurfaceFlinger(  459): getting VSYNC period from fb HAL: 16666666
W/SurfaceFlinger(  459): no suitable EGLConfig found, trying without EGL_FRAMEBUFFER_TARGET_ANDROID
W/SurfaceFlinger(  459): no suitable EGLConfig found, trying without EGL_RECORDABLE_ANDROID
E/Trace   (  459): error opening trace file: No such file or directory (2)
W/GraphicBufferAllocator(  459): WOW! gralloc alloc failed, waiting for pending frees!
W/GraphicBufferAllocator(  459): alloc(1280, 800, 1, 00001a00, ...) failed -5 (I/O error)
E/SurfaceFlinger(  459): GraphicBufferAlloc::createGraphicBuffer(w=1280, h=800) failed (I/O error), handle=0x0
E/BufferQueue(  459): [FramebufferSurface] dequeueBuffer: SurfaceComposer::createGraphicBuffer failed
E/EGL_emulation(  459): tid 460: init(267): error 0x3003 (EGL_BAD_ALLOC)
E/SurfaceTextureClient(  459): getSlotFromBufferLocked: unknown buffer: 0x0
E/EGL_emulation(  459): tid 460: eglCreateWindowSurface(631): error 0x3003 (EGL_BAD_ALLOC)
E/libEGL  (  459): eglQuerySurface:403 error 300d (EGL_BAD_SURFACE)
E/libEGL  (  459): eglQuerySurface:403 error 300d (EGL_BAD_SURFACE)
D/SurfaceFlinger(  459): setOrientation, mFbdev=0xb8913df0, mFbDev->setOrientation=0xb679be20, orientation=0
I/gralloc_vbox86(  459): setOrientation: orientation=0
E/libEGL  (  459): call to OpenGL ES API with no current context (logged once per thread)
F/libc    (  459): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 460 (SurfaceFlinger)
I/DEBUG   (  100): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  100): Build fingerprint: 'generic/vbox86tp/vbox86tp:4.2.2/JDQ39E/eng.buildbot.20131111.233324:userdebug/test-keys'
I/DEBUG   (  100): Revision: '0'
I/DEBUG   (  100): pid: 459, tid: 460, name: SurfaceFlinger  >>> /system/bin/surfaceflinger <<<
I/DEBUG   (  100): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG   (  100):     eax 00000000  ebx b7121ff4  ecx b8913a80  edx 00000000
I/DEBUG   (  100):     esi 00000000  edi b890b518
I/DEBUG   (  100):     xcs 00000073  xds 0000007b  xes 0000007b  xfs 00000000  xss 0000007b
I/DEBUG   (  100):     eip b7595d36  ebp b89169a8  esp b6d69bcc  flags 00010246
I/DEBUG   (  100): 
I/DEBUG   (  100): backtrace:
I/DEBUG   (  100):     #00  pc 00027d36  /system/lib/libc.so (strlen+6)
I/DEBUG   (  100):     #01  pc 00000030  [heap]
I/DEBUG   (  100): 
I/DEBUG   (  100): stack:
I/DEBUG   (  100):          b6d69b8c  00000000  
I/DEBUG   (  100):          b6d69b90  00000000  
I/DEBUG   (  100):          b6d69b94  00000000  
I/DEBUG   (  100):          b6d69b98  00000000  
I/DEBUG   (  100):          b6d69b9c  00000000  
I/DEBUG   (  100):          b6d69ba0  00000000  
I/DEBUG   (  100):          b6d69ba4  00000000  
I/DEBUG   (  100):          b6d69ba8  00000000  
I/DEBUG   (  100):          b6d69bac  00000000  
I/DEBUG   (  100):          b6d69bb0  00000000  
I/DEBUG   (  100):          b6d69bb4  00000000  
I/DEBUG   (  100):          b6d69bb8  00000000  
I/DEBUG   (  100):          b6d69bbc  00000000  
I/DEBUG   (  100):          b6d69bc0  00000000  
I/DEBUG   (  100):          b6d69bc4  00000000  
I/DEBUG   (  100):          b6d69bc8  00000000  
I/DEBUG   (  100):     #00  b6d69bcc  b71066db  /system/lib/libutils.so (android::String8::setTo(char const*)+43)
I/DEBUG   (  100):          b6d69bd0  00000000  
I/DEBUG   (  100):          b6d69bd4  b6d69c4c  [stack:460]
I/DEBUG   (  100):          b6d69bd8  b70bb98c  /system/lib/libEGL.so
I/DEBUG   (  100):          b6d69bdc  b7047129  /system/lib/libEGL.so (android::egl_display_t::HibernationMachine::decWakeCount(android::egl_display_t::HibernationMachine::WakeRefStrength)+73)
I/DEBUG   (  100):          b6d69be0  00000000  
I/DEBUG   (  100):          b6d69be4  b70b7ff4  /system/lib/libEGL.so
I/DEBUG   (  100):          b6d69be8  00003000  
I/DEBUG   (  100):          b6d69bec  b7044790  /system/lib/libEGL.so (android::egl_tls_t::getError()+64)
I/DEBUG   (  100):          b6d69bf0  b70b7ff4  /system/lib/libEGL.so
I/DEBUG   (  100):          b6d69bf4  b70b7ff4  /system/lib/libEGL.so
I/DEBUG   (  100):          b6d69bf8  b757e339  /system/lib/libc.so (pthread_mutex_lock+9)
I/DEBUG   (  100):          b6d69bfc  b71b1ff4  /system/lib/libsurfaceflinger.so
I/DEBUG   (  100):          b6d69c00  00000000  
I/DEBUG   (  100):          b6d69c04  b890b518  [heap]
I/DEBUG   (  100):          b6d69c08  b89169a8  [heap]
I/DEBUG   (  100):          ........  ........
I/DEBUG   (  100):     #01  b89169b0  b8907030  [heap]
I/DEBUG   (  100):          b89169b4  b8907030  [heap]
I/DEBUG   (  100):          b89169b8  b8907030  [heap]
I/DEBUG   (  100):          b89169bc  b8907030  [heap]
I/DEBUG   (  100):          b89169c0  b8907030  [heap]
I/DEBUG   (  100):          b89169c4  b8907030  [heap]
I/DEBUG   (  100):          b89169c8  b71afd48  /system/lib/libsurfaceflinger.so
I/DEBUG   (  100):          b89169cc  00000000  
I/DEBUG   (  100):          b89169d0  00000000  
I/DEBUG   (  100):          b89169d4  00000000  
I/DEBUG   (  100):          b89169d8  00000004  
I/DEBUG   (  100):          b89169dc  00000601  
I/DEBUG   (  100):          b89169e0  00000000  
I/DEBUG   (  100):          b89169e4  00000000  
I/DEBUG   (  100):          b89169e8  00000000  
I/DEBUG   (  100):          b89169ec  00000000  
D/Sensors (  381): Client connection accepted (43)
E/installd(  107): eof
E/installd(  107): failed to read size
I/installd(  107): closing connection
I/ServiceManager(   91): service 'display' died
I/ServiceManager(   91): service 'scheduling_policy' died
I/ServiceManager(   91): service 'batteryinfo' died
I/ServiceManager(   91): service 'usagestats' died
I/ServiceManager(   91): service 'power' died
I/ServiceManager(   91): service 'telephony.registry' died
I/ServiceManager(   91): service 'entropy' died
I/ServiceManager(   91): service 'sensorservice' died
W/AudioFlinger(  105): power manager service died !!!
D/AndroidRuntime(  468): 
D/AndroidRuntime(  468): >>>>>> AndroidRuntime START com.android.internal.os.ZygoteInit <<<<<<
D/AndroidRuntime(  468): CheckJNI is OFF

显然,这是一个OpenGL问题。

最近我将Kubuntu升级到了13.10(事实上,在升级过程中我遇到了一些问题,最终决定清除所有内容并进行全新安装)。我的显卡是NVIDIA GeForce 8400 GS Rev. 3,我正在运行专有的驱动程序v319.32,X.org v1.14.3,内核版本为3.2.0-37-generic x86_64。

还有其他人使用类似的配置使Genymotion模拟器正常工作吗?

编辑:忘记提到,我有16GB的RAM。


我认为这会对你有所帮助 https://dev59.com/-2Ag5IYBdhLWcg3wdqwy - Abhinav Arora
嗯,13.04是Kubuntu的几年前版本。我已经升级到Ubuntu 15.04了,一切都运行得非常顺畅。 - Martin Revert
你是否在BIOS中启用了CPU功能下的虚拟技术(VT-x)?默认情况下它是禁用的,因此您需要使用BIOS设置来启用它。 - Suhas Bachewar
4个回答

1
虽然这个问题很旧了,但根据Genymotion Linux系统要求页面的描述: 系统要求
  • Ubuntu 14.04(Trusty Tahr)或以上版本(64位),Debian 8(Jessie)(64位)。
  • 64位CPU,具有VT-x或AMD-V功能,在BIOS设置中启用
  • 最新的独立GPU
  • 400 MB磁盘空间
  • 2GB RAM

0

你需要更新你的操作系统,因为你使用的Kubuntu版本比较旧。
或者你可以检查一下你的显卡驱动是否是最新版本,如果不是的话就进行更新。


0

这是由于虚拟化原因,我自己也不太理解。更新您的操作系统,这将处理虚拟化技术中的版本差异。我正在使用14.04 Ubuntu。当我使用12.04时,我遇到了同样的问题,升级解决了它。


0

在你的终端中尝试这个命令

sudo  /sbin/rcvboxdrv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接