通过 Optimus 和 HDMI 使用双显示器时出现问题

通过 Optimus 和 HDMI 使用双显示器时出现问题

知道我的双显示器设置出了什么问题吗?


我有一台装有 Nvidia 525M 显卡并默认安装了 Unity 的笔记本电脑。使用 Nvidia Optimus 驱动程序 352.63 并切换到 Nvidia 卡后,我可以使用插入的 HDMI 显示器或笔记本内置显示器来获得输出。

在此处输入图片描述

当我尝试通过将桌面扩展到两个显示器来并行使用两个显示器时,窗口管理器会发疯。它将桌面/窗口区域扩展到两个显示器上,但无法将像素增加到两个显示器的总和: 在此处输入图片描述

并且 nvidia-settings 对话框没有显示正确的像素,也没有显示 HDMI 显示器或其他东西 - 即使我仅使用 HDMI 设备(内部显示器已停用):

在此处输入图片描述 在此处输入图片描述

令人好奇的是:

  • 顶部面板显示正确。
  • 鼠标指针显示正确——当然,您无法轻易按下按钮,因为它在屏幕图像上的位置不对。
  • 显示器被正确识别,但是其可能的分辨率列表在显示器之间切换。
  • 这发生在 14.10、15.04(升级版)和 15.10(升级版)中。
  • 使用内部显示器和连接到 VGA 端口的 HDMI 端口的相同显示器,双显示器设置可以正常工作!(遗憾的是,这不是一个解决方案,因为我将来使用的显示器不再有 VGA 端口。)

我目前在 15.10 Ubuntu 上使用 Unity。

我的~/.config/monitors.xml节目:

<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="HDMI-0">
          <vendor>MAX</vendor>
          <product>0x089c</product>
          <serial>0x00000001</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="LVDS1">
          <vendor>AUO</vendor>
          <product>0x129e</product>
          <serial>0x00000000</serial>
      </output>
      <output name="VGA1">
      </output>
      <output name="VIRTUAL1">
      </output>
  </configuration>
  <configuration>
      <clone>no</clone>
      <output name="LVDS1">
          <vendor>AUO</vendor>
          <product>0x129e</product>
          <serial>0x00000000</serial>
          <width>1600</width>
          <height>900</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="VGA1">
      </output>
      <output name="VIRTUAL1">
      </output>
  </configuration>
  <configuration>
      <clone>no</clone>
      <output name="HDMI-0">
          <vendor>MAX</vendor>
          <product>0x089c</product>
          <serial>0x00000001</serial>
          <width>1680</width>
          <height>1050</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="LVDS-1-0">
          <vendor>AUO</vendor>
          <product>0x129e</product>
          <serial>0x00000000</serial>
      </output>
      <output name="VGA-1-0">
      </output>
  </configuration>
</monitors>

答案1

在 Ubuntu 14.04 上,我可以通过更改 Compiz 上的显示设置来解决这个问题。看看14.10 双显示器显示为扭曲的单屏模式

在 CompizConfig 设置管理器上,转到“常规选项”,然后转到“显示设置”并执行以下操作:

  • 取消选中Detect Outputs
  • 在 Outputs 数组中,设置每个屏幕的分辨率。分辨率后面的数字1920x1080+0+0是偏移量。根据你的需求添加这个偏移量很重要。我有两个全高清屏幕,所以我添加了以下配置:
    • 1920x1080+0+0
    • 1920x1080+1920+0

第二个输出的偏移量为 1920,因为它位于第一个输出的右侧,而第一个输出的宽度为 1920。

相关内容