我在玩 3D 游戏时遇到了一个问题,这个问题已经很明显了,我已经追踪到 libopengl(我认为)。
问题是,有一个 3D 场景,其中有角色模型,当您的鼠标悬停/移动到它们上面时,工具提示会弹出,您可以通过单击它们来打开角色信息窗口与角色进行交互。最近,我不确定具体是什么时候,但感觉最多在过去几个月里,这个鼠标交互功能已经坏了,不再起作用了。
游戏本身提供了使用 Vulkan 或 OpenGL 渲染器的选择,Vulkan 渲染器仍然可以运行但存在其他问题,所以我需要运行 OpenGL 渲染器,然而这个问题对我来说是一个游戏破坏因素。
所以最初我以为是游戏的问题,但是今天早上由于不相关的原因我不得不回到旧版本的 Ubuntu,它显然有一个较旧的 libopengl,所以我决定凭直觉在那里尝试游戏,果然游戏中的鼠标悬停功能在较旧的 libopengl 上运行,所以看起来问题实际上出在 libopengl 上。
现在必须说,除了 Vulkan 渲染器可以工作之外,我没有其他理由将矛头指向 OpenGL。此外,游戏本身自 2022 年 1 月 12 日以来就没有更新过,而且游戏在整个 1 月以及 2 月的大部分时间(如果不是全部的话)都运行良好。
之前的工作版本是 Ubuntu 22.04,它使用
- libopengl0/jammy,现在 1.4.0-1 amd64 [已安装,自动]
- libqt5opengl5/jammy-updates,现在 5.15.3+dfsg-2ubuntu0.2 amd64 [已安装,自动]
但正如我所说的,这只是在过去一两个月内出现故障,因此之前的工作版本应该在 2 月中旬之前的某个时间点包含动能。
目前有问题的版本是 Ubuntu 22.10,它使用
- libopengl-dev/kinetic,现在 1.5.0-1 amd64 [已安装,自动]
- libopengl0/kinetic,现在 1.5.0-1 amd64 [已安装,自动]
- libqt5opengl5/kinetic,现在 5.15.6+dfsg-1 amd64 [已安装,自动]
我注意到的一件事是 libopengl-dev。我不知道它是否会导致问题,但我相当确定我需要它来开发 Flutter 桌面应用程序,因为它似乎至少是 libglu1 的反向依赖项,而 libglu1 是 Flutter 桌面开发环境的依赖项。
那么是否可以将 libopengl 降级到以前的版本,以便我可以恢复到适用于我的游戏的版本?
或者我还能做些什么来更确定是否确实是 libopengl 导致了问题?
我正在运行 Ubuntu 22.10,该系统已完全升级,并且 nvidia-driver-525 525.85.05-0ubuntu0.22.10.1
编辑:我已经向 Ubuntu 提交了一个错误,但如果有人对如何进一步隔离问题以增强错误报告或更好地解决问题有任何建议,请告诉我。