2

我正在使用 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 文件来做这个

另外,当我:

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 的专有软件才能使用显卡。

4

1 回答 1

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,如果您想尝试它,您可以在那里的非免费 repo 中找到它。

如果您没有它们,您的系统上已经有 RPM Fusion 存储库(该站点上有详细说明。)我强烈推荐它们。它们得到了很好的支持,并且比使用一些 Fedora 等价物更能让你头疼(例如,它们将 mp3 支持返回给包。)

您说您是 Linux 新手(或者您的意思是在 Linux 上使用驱动程序),无论哪种方式仅供参考:安装软件包时不需要包含目标平台(即 .x86_64 .i686),Yum 会解决这个问题除非您需要用于您正在运行的架构以外的架构的库。

于 2013-08-29T10:44:48.213 回答