我正在运行带有 Nvidia GeForce GT 630M 显卡的 Ubuntu 16.04,使用 361.42 Nvidia 专有驱动程序。
我正在尝试为 OpenGL 应用程序启用与 vblank 的同步,但无济于事。输出glxgears
例如,输出以大约 2000 FPS 的速度运行;更重要的是,我的 OpenGL 家庭作业出现了严重的屏幕撕裂 :(
请注意,我的内置英特尔 GPU 默认启用了垂直同步。
我浏览了论坛,但所有建议的解决方案都对我不起作用。CompizConfig 设置管理器已经启用了同步到 vblank;nvidia-settings 没有不是有一个同步到 vblank 选项;并且添加export __GL_YIELD="USLEEP"
到/etc/profile
没有执行任何操作。的输出nvidia-settings --query=SyncToVBlank --verbose
是
WARNING: Attribute 'SyncToVBlank' specified in query 'SynctoVBlank' is not available on newton:0.0.
编辑:看来 Nvidia 驱动程序在配备 Intel GPU 的笔记本电脑中使用时不支持垂直同步。Bumblebee 据称可以帮助两个 GPU 之间的“协作”,但安装后bumblebee-nvidia
图形渲染效果非常差。
答案1
显然,这仍然是一个问题,但现在可以修复了。简而言之:
nvidia-drm.modeset=1
应该设置内核参数;- xserver >=1.19;
- 内核 >= 4.5;
更多详情请点击这里:https://forums.developer.nvidia.com/t/no-vsync-on-linux/60999/6