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

时间:2013-08-29 09:58:33

标签: android linux android-emulator fedora

我正在使用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

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

所以,我正在尝试找到适当的libGL.so文件来做this

另外,当我:

yum install mesa-libGL.x86_64

我得到了:

Package mesa-libGL-9.2-0.14.20130723.fc19.x86_64 already installed and latest version
Nothing to do  

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

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

1 个答案:

答案 0 :(得分:5)

模拟器是一个32位应用程序。您需要安装等效的32位库。从Fedora wiki HOWTO Setup Android Development推荐的库是:

  

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

编辑(问题更新后):

是安装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
...
...
..
....

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

所以安装你已经提到的驱动程序应该就足够了。

您可以测试模拟器是否仅使用模拟器和JellyBean Easter Egg来使用它们。

emulator -avd <your_avd_name> -gpu on

应该给你明显比

更好的表现
emulator -avd <your_avd_name> -gpu off  

一点额外信息:

你可以从RPM Fussion安装专有驱动程序xorg-x11-drv-catalyst,如果你想试试,可以在非免费仓库中找到它。

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

你说你是Linux的新手(或者你的意思是在Linux上玩驱动程序),无论是哪种方式:你不需要在安装软件包时包含目标平台(即.x86_64 .i686)Yum将排序除非您需要用于除正在运行的体系结构之外的体系结构的库,否则将为您提供帮助。