当程序在Monodevelop中运行时,SDL2无法创建GL上下文,否则工作正常

时间:2017-04-20 11:18:59

标签: c# opengl sdl monodevelop opentk

我有一个非常不寻常的问题。我有这个OpenTK项目(我几个月前在不同的Linux机器上工作,然后一切正常)。

我的项目编译得很好,当我自己从终端运行可执行文件时,一切都很完美 - 窗口被创建等等。

但是,当我通过点击Run键(启用或未启用调试)从Monodevelop内运行完全相同的程序时,由于以下SDL2错误而引发异常:"Could not create GL context: BadValue (integer parameter out of range for operation)"

我已经尝试过几乎任何事情,从更改上下文创建参数到更改OpenTK版本,但没有任何帮助。 OpenTK的输出(发生SDL2错误之前是:

Creating GraphicsContext.
    GraphicsMode: Index: , Color: 32 (8888), Depth: 16, Stencil: 0, Samples: 0, Accum: 0 (0000), Buffers: 2, Stereo: False
    IWindowInfo: OpenTK.Platform.SDL2.Sdl2WindowInfo
    GraphicsContextFlags: Default
    Requested version: 3.2

无论是手动运行程序还是从Monodevelop运行程序,这些参数都是相同的。所以我想我的问题是 - 手动启动程序和在Monodevelop中运行它会导致出现此错误之间的区别是什么?

(这在Ubuntu 16上发生,包括Monodevelop 6,OpenTK 1.1(也是2.0)和SDL 2.0.4)

1 个答案:

答案 0 :(得分:0)

好吧,我或多或少地解决了我的问题。正如Monodevelop网站上强烈建议的那样,我安装了flatpak,它运行在可能与SDL有关的某种沙箱中。我以正常方式重新安装了Monodevelop,现在一切正常。