哪个libGL在Fedora 64位中用于Android模拟器?

eri*_*icn 2 linux android fedora android-emulator

我正在使用Fedora 19 64位(GNOME 3)进行Android开发.

locate libGL 给我:

/home/ericnguyen/adt/sdk/tools/lib/libGLES_CM_translator.so
/home/ericnguyen/adt/sdk/tools/lib/libGLES_V2_translator.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.2.0
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1
/usr/share/doc/mesa-libGL-9.2
/usr/share/doc/mesa-libGL-9.2/COPYING
Run Code Online (Sandbox Code Playgroud)

现在我无法使用计算机的GPU启动模拟器
无法加载libGL.so错误libGL.so:无法打开共享对象文件:没有这样的文件或目录

所以,我试图找到合适的libGL.so文件做,因为这个.

当我:

yum install mesa-libGL.x86_64
Run Code Online (Sandbox Code Playgroud)

我有:

Package mesa-libGL-9.2-0.14.20130723.fc19.x86_64 already installed and latest version
Nothing to do  
Run Code Online (Sandbox Code Playgroud)

注意:
我能够在没有GPU的情况下运行模拟器.

我的显卡是AMD ATI Radeon HD 5000系列.我认为我还没有安装任何驱动程序.我做了但yum search radeon发现xorg-x11-drv-ati.x86_64但我不确定这是否是正确的驱动程序 - 我发现人们遇到启动问题试图安装显卡驱动程序(我自己的Windows经验)所以我现在有点不确定.
我也知道需要安装AMD/ATI的专有软件才能使用显卡.

Chi*_*rat 5

模拟器是一个32位应用程序.您需要安装等效的32位库.从Fedora wiki HOWTO设置Android开发,推荐的库是:

glibc.i686 glibc-devel.i686 libstdc ++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

如果您可以在没有GPU支持的情况下运行模拟器,我将假设您拥有所有这些.

对于mesa-libGL,您的yum命令正在尝试安装64位版本的库,因此请尝试以下操作:

yum install mesa-libGL.i686
Run Code Online (Sandbox Code Playgroud)

编辑(问题更新后):

是安装xorg-x11-drv-ati驱动程序(如果尚未安装).这是开源驱动程序,如果它不起作用,你应该回到你现在正在运行的任何东西.

我有一张Nvidia卡,但是我用之前的ATI卡运行了这张卡.我假设模拟器发生了一些变化,因为我刚刚设置了它,因为它似乎与64位库一起运行:

$ pldd 9989 



...
...
./lib/lib64OpenglRender.so
/opt/android-sdk-linux/tools/./lib/../lib/lib64EGL_translator.so
/usr/lib64/nvidia-304xx/libGL.so.1
/usr/lib64/nvidia-304xx/tls/libnvidia-tls.so.304.88
/usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.88
/opt/android-sdk-linux/tools/./lib/../lib/lib64GLES_CM_translator.so
/opt/android-sdk-linux/tools/./lib/../lib/lib64GLES_V2_translator.so
/lib64/libGL.so
/lib64/libglapi.so.0
/lib64/libXdamage.so.1
/lib64/libX11-xcb.so.1
/lib64/libxcb-glx.so.0
/lib64/libxcb-dri2.so.0
...
...
..
....
Run Code Online (Sandbox Code Playgroud)

(9989是正在运行的模拟器的进程ID.)

所以在安装你已经提到的驱动程序应该是足够的.

您可以测试模拟器是否仅使用模拟器和JellyBean复活节彩蛋.

emulator -avd <your_avd_name> -gpu on
Run Code Online (Sandbox Code Playgroud)

应该给你明显更好的表现

emulator -avd <your_avd_name> -gpu off  
Run Code Online (Sandbox Code Playgroud)

一点额外信息:

您可以从RPM Fussion安装专有的驱动程序xorg-x11-drv-catalyst,如果您想尝试它,可以在那里的非免费回购中找到它.

如果你没有它们已经在你的系统上有RPM Fussion repos(在那里的详细说明.)我强烈推荐它们.它们得到很好的支持,并且比使用某些Fedora等价物(例如,它们将mp3支持返回到包)更少让您头疼.)

你说你是Linux新手(也许你的意思是在Linux上玩驱动程序),无论是哪种方式:你不需要在安装软件包(即.x86_64 .i686)时包含目标平台.除非您需要的库不是您正在运行的体系结构的架构.