我计划利用其C ++目标与Haxe进行游戏开发,为此我选择了使用OpenFL作为其后端的HaxeFlixel框架。 "你好世界"尽管我还没有计划使用其中任何一个,因为HTML5似乎可以正常运行(减去声音),因为我希望创建的游戏将是一个本机运行的桌面游戏。
然而,当我尝试运行目标设置为native linux的HaxeFlixel hello world示例时,测试程序在启动时崩溃并给了我以下错误:
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频道上提出过要求,在这两种情况下我完全被忽略了。我确实需要解决这个问题,因为除非我这样做,否则我无法继续我的gamedev项目。
作为参考,我的系统运行64位Linux Mint 16,Linux内核3.11.0-12和nVidia驱动程序319.32
答案 0 :(得分:1)
作为参考,我的系统运行64位Linux Mint 16,Linux内核3.11.0-12和nVidia驱动程序319.32
然后系统配置中的某些内容完全混乱:由于某种原因,您的程序加载了由Mesa驱动程序而不是NVidia驱动程序libGL.so
提供的libGL.so
。告诉标志是,加载的libGL
抱怨DRI2不可用。 NVidia的专有驱动程序不使用或支持DRI2。 DRI2是Mesa的低级状态跟踪器API。
确保您的系统配置正确。最重要的是要确保您使用的库,框架等都没有做出愚蠢的事情,例如捆绑libGL.so
。