【问题标题】:libGL error with Linux target of OpenFLLinux 目标的 OpenFL 出现 libGL 错误
【发布时间】:2014-05-15 04:31:30
【问题描述】:

我计划使用 Haxe 进行游戏开发,利用其 C++ 目标,为此我选择了使用 OpenFL 作为后端的 HaxeFlixel 框架。 “hello world”测试在 flash 上运行得很好,HTML5 似乎可以工作(减去声音),虽然我不打算使用其中任何一个,因为我希望创建的游戏将是本机运行的桌面游戏。

但是,当我尝试运行 HaxeFlixel hello world 示例并将目标设置为本地 linux 时,测试程序在启动时崩溃并出现以下错误:

libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /home/zauber/.drirc: No such file or directory.
libGL error: failed to load driver: swrast
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  211
  Current serial number in output stream:  213

我不知道如何解决这个问题。我从未见过类似的东西,而且我运行的所有其他 3D 软件和游戏都很好。我在 HaxeFlixel 论坛上询问过,但只被告知这可能是 OpenFL 中的一个错误。情况似乎是这样,因为我在使用 OpenFL 的另一个游戏框架 Awe6 上也遇到了同样的问题。

我在谷歌上搜索过类似的问题,但几乎一无所获。我已经拥有了我应该拥有的所有相关库(mesa、nVidia 驱动程序、dri2、32 位库),并且我发现的所有解决方案都指向安装我已经安装的特定库。

到目前为止,我已经在 OpenFL 论坛和 IRC 频道上询问过,但在这两种情况下,我都被完全忽略了。我真的需要解决这个问题,因为除非我这样做,否则我无法继续我的游戏开发项目。

作为参考,我的系统运行的是 64 位 Linux Mint 16、Linux 内核 3.11.0-12 和 nVidia 驱动程序 319.32

【问题讨论】:

    标签: linux opengl haxe openfl


    【解决方案1】:

    作为参考,我的系统运行的是 64 位 Linux Mint 16、Linux 内核 3.11.0-12 和 nVidia 驱动程序 319.32

    然后您的系统配置中的某些东西完全搞砸了:由于某种原因,您的程序加载了 Mesa 驱动程序提供的 libGL.so 而不是 NVidia 驱动程序 libGL.so。明显的迹象是,加载的libGL 抱怨 DRI2 不可用。 NVidia 的专有驱动程序不使用也不支持 DRI2。 DRI2 是 Mesa 的低级状态跟踪器 API。

    确保您的系统配置正确。最重要的是确保您使用的任何库、框架等都没有做一些愚蠢的事情,比如捆绑libGL.so

    【讨论】:

    • 现在,我假设 OpenFL 可能做了一些愚蠢的事情,因为没有其他程序有问题。除了安装库之外,我从来没有真正搞砸过系统配置。
    • @ZauberParacelsus:有些傻瓜认为 OpenGL 是一个可再发行库,并静态链接 Mesa 的 libGL 或硬编码 Mesa libGL.so 路径。这会导致各种问题。我建议您在您使用的每个库文件上使用工具ldd,并查看其中哪些链接到 libGL.so。然后从源代码中重建它们并提交错误。
    • 是的,但首先我想我会认真考虑是否要继续沿 Haxe/OpenFL 路线走下去。我选择它是因为它看起来更容易,但正如他们所说,“容易的道路通常是开采的”。
    • 根据谷歌的快速搜索,似乎在 Ubuntu 以外的发行版上的人们遇到了麻烦,显然是因为预构建的二进制文件以 Ubuntu 为目标。所以,我的系统配置的问题显然是“这还不够像 Ubuntu”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多