我有一个问题。我有一台配有 Nvidia 显卡和 Intel 显卡的笔记本电脑。
当我使用 Nvidia 显卡(使用 PRIME 配置文件)时,我无法在终端中使用 xrandr 更改显示分辨率。它只会使显示屏变黑一秒钟,然后恢复到原始分辨率。但是,使用 Intel 显卡时,它就可以正常工作。
这对我来说是一个问题,因为我使用 Wine 玩了很多老游戏,其中大多数游戏的分辨率都很低,因此,当使用 Nvidia 时,它们会显示在屏幕的左上角,而不是像使用英特尔卡时那样被拉伸以填满整个屏幕(因为屏幕分辨率会更改为游戏的分辨率)
我还注意到,通过“系统设置”->“显示”更改分辨率对两张卡都有效,但没有太大帮助......
如果我可以让 xrandr 更改 Nvidia 卡上的分辨率,那么这些游戏就可以运行,如果不能,那么我可以编写一个脚本,在游戏启动时执行此操作,并在游戏关闭时改回原始分辨率。
我的操作系统是 Ubuntu 14.04 x64,我使用最新的 Nvidia 专有稳定驱动程序。如果这很重要的话,它是一台笔记本电脑
编辑:我刚刚注意到,如果我连接外接显示器(VGA1),我可以在任一显示器上正常更改分辨率……并且游戏现在全屏运行……但是只要我断开连接,问题就会再次出现 :(
答案1
我花了很多时间解决同样的问题,现在我通过在调用 xrandr 时使用 --crtc 参数来解决这个问题,即:
xrandr --output LVDS1 --mode 800x600 --crtc 0
另外,我建议将这些命令分配给 CCSM 命令并绑定到一些热键,这非常有用。
UPD:对于我来说,只有执行以下命令后它才有效:
xrandr -s 0
但这会导致暗黑破坏神在屏幕分辨率改变时崩溃)-: