我正在做一个项目,以显示任何DirectX11游戏的覆盖。现在可以在一些DX11游戏中显示,但在其他一些游戏中不能显示。我使用MS绕道挂接了DX11 API IDXGISwapChain::Present()。它在Unigene和DIRT2等游戏中运行良好,但在LostPlanet2和DragonAge2等其他游戏中则不起作用。通过连接所有DX11函数来做一些日志记录,我发现了一个有趣的事情--那些不能正常工作的游戏
由于某种原因,我尝试玩的任何OpenGL游戏都会在它想打开窗口时崩溃。imnotanerd@sys76laptop:~$ teeworlds[5015be1f][gfx]: unable to set video mode: X11driver not configured with OpenGL 任何我打开的X11游戏都会弹出这个OpenGL错误。
无论何时我玩一个游戏,最终,游戏和i3最终会冻结一秒钟或两秒钟或有时永久。当我切换到另一个带有ctrl alt f6的终端并终止游戏时,有时i3会再次工作--有时我不得不重新启动系统。我在gnome X11上也尝试过同样的方法,它的工作没有任何问题,这意味着问题必须与x11有关。
我检查了Xorg.0.log和nvidia日志,但没有发现任何问题。有什么办法能诊断出这个问题吗?