我已经下载了 Bastion for Ubuntu 并正常安装在主文件夹中。
执行“游戏 > 堡垒”时没有任何反应。直接从安装文件夹运行堡垒会导致以下错误
Unhandled Exception: System.EntryPointNotFoundException: glProgramParameteri
at (wrapper managed-to-native) OpenTK.Graphics.OpenGL.GL/Core:ProgramParameteri (uint,OpenTK.Graphics.OpenGL.AssemblyProgramParameterArb,int)
at OpenTK.Graphics.OpenGL.GL.ProgramParameter (Int32 program, AssemblyProgramParameterArb pname, Int32 value) [0x00000] in <filename unknown>:0
at Microsoft.Xna.Framework.Graphics.EffectPass.ApplyPass () [0x00000] in <filename unknown>:0
at Microsoft.Xna.Framework.Graphics.Effect.DefineTechnique (System.String techniqueName, System.String passName, Int32 vertexIndex, Int32 fragmentIndex) [0x00000] in <filename unknown>:0
at Microsoft.Xna.Framework.Graphics.SpriteEffect..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice) [0x00000] in <filename unknown>:0
at Microsoft.Xna.Framework.Graphics.SpriteBatch..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice) [0x00000] in <filename unknown>:0
at GSGE.ExceptionGame.LoadContent () [0x00000] in <filename unknown>:0
<snip>
我已经尝试了互联网上的一些解决方案,例如在 OpenTK.dll.config 中添加以下行:
<dllmap os="linux" dll="libXi" target="libXi.so.6"/>
这没用。还尝试以 sudo 身份运行,但没用。一些帖子说这可能是 Ubuntu noveau 驱动程序的问题。但我使用的是 NVIDIA 专有驱动程序。
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 9400 GT/PCI/SSE2
OpenGL version string: 3.2.0 NVIDIA 195.36.24
direct rendering: Yes
答案1
使用 Humble 软件包中发布的 Bastion-HIB-2012-05-29-1.sh 版本时,我遇到了同样的错误,无需深入研究,我发现某些配置中的静态链接不正确。现在
有一个新的版本可用,Bastion-HIB-2012-06-01-1.sh,它为我解决了这个问题。
我的系统也是 Ubuntu 10.4,运行 nVidia 驱动程序
答案2
<dllmap os="linux" dll="libXi" target="libXi.so.6"/>
这是为了解决鼠标问题,而不是为了解决您的问题!- 非常感谢,这解决了我在堡垒中的鼠标问题!结合force_s3tc_enable=true
,/usr/local/games/Bastion/Bastion.bin.x86_64
它现在非常可玩(只需要在游戏中进一步注意雨水)。