大黄蜂的外部显示器


14

我正在尝试使用Bumblebee和Optimus配置将外部显示器(通过VGA电缆)连接到笔记本电脑。

我有一台Lenovo W520,带有Intel GMA HD 3000和Nvidia Quadro 2000M。BIOS具有与图形卡有关的三个选项-集成,离散和Optimus。

用例非常简单。为了工作,我只使用集成卡和笔记本电脑显示屏;但是,当我看电影时,我想使用投影机。现在,在这种情况下,我要做的是:

  • 重启
  • 启动窗口
  • 看电影

多亏了Bumblebee,我现在能够始终将设置保持为Optimus。

在BB之前,每次想看电影时,我都必须更改BIOS设置,因为即使在Windows中,使用集成显卡也会导致系统无法检测到投影仪(我想这通常就是“硬接线”的意思。输出”,并且VGA输出已硬连线至分立卡)。

现在,我想做的是能够连接外部显示器而无需切换操作系统,也就是在Ubuntu中使用它。

可能吗?

现在,如果要在Ubuntu上使用外部监视器,唯一的选择是将BIOS更改为使用独立显卡,然后使用nvidia-settings。

如果我改用Optimus设置,即使使用“ optirun nvidia-settings -c:8”运行它,也无法获得外接显示器的任何选项。

有什么我可以做的吗?

Answers:


8

我有一台W520。它与T420的设置不同-VGA输出连接到nvidia卡,因此Samsagax的“ this”链接将不起作用。我在这里准备了一篇博客文章概述了您的选择。我无法使任何外接显示器都可与Bumblebee配合使用,而且我不相信W520可以实现。但是,您可以在最佳模式下使用外部监视器,但是您必须使用xinerama或在外部监视器上打开单独的X屏幕。


3
这是一个对大多数人来说可能更好的新解决方案-您甚至不必退出X即可使用外部显示器/投影仪:zachstechnotes.blogspot.com/2012/04/post-title.html所有呈现在intel卡上完成,然后将数据转储到nvidia设备以输出到外部显示器
Zach 2012年

4

(从linux-hybrid-graphics列表重定向)

我有一个Thinkpad T420,它可能相似(但可能不相似)。

在我的T420上,VGA连接到Intel,而Display-Port连接到NVIDIA。因此对于VGA输出,我可以使用通常的xrandr

Display-Port是另一回事。为此,我必须从/etc/bumblebee/xorg.conf.nvidia中的 bumblebee 更改xorg.conf

该选项ConnectedMonitorDFP(默认值)DP1的DisplayPort接口。


1
DP1真的为您工作吗?据download.nvidia.com/XFree86/Linux-x86_64/290.10/README/...,唯一有效的值CRTDFP并用逗号分隔的变种。更改它也可以CRT工作吗?
Lekensteyn

3

较新版本的Intel驱动程序包括一个名为 intel-virtual-output,大大简化了W520上双屏和三屏显示的设置。

intel-virtual-output命令为Intel卡上的X服务器提供了一种将屏幕复制到另一台X服务器的方法。它查看远程显示器上的可用屏幕,并将它们在Intel X服务器上显示为VIRTUAL1,VIRTUAL2等。

以下脚本(以root用户身份运行)对我有用,但是很可能您需要进行一些调整:

#!/bin/sh

# Power on the nvidia card with bumblebee.
modprobe bbswitch
echo ON > /proc/acpi/bbswitch

# Run X display :8 on the nvidia card.
optirun true

# Tell the intel card to create virtual screens on :0 and
# copy whatever they're displaying to equivalent screens on :8
intel-virtual-output

# Configure my monitors the way I like them.
xrandr --output VIRTUAL3 --auto
xrandr --output VIRTUAL1 --auto --right-of VIRTUAL3
xrandr --output LVDS1 --off

此设置使我的DisplayPort转DVI电缆(VIRTUAL3)在左侧,而VGA(VIRTUAL1)在右侧。它还会禁用笔记本电脑的屏幕。

请注意,由于这些只是来自驱动程序的虚拟屏幕,因此从理论上讲,您的GUI的显示配置工具应该能够在运行后弄清楚它intel-virtual-output

实际上,xubuntu中的显示配置工具实际上并没有做连贯的事情。这就是为什么这些xrandr命令在那里的原因。如果您正在运行gnome或kde,则可能需要先尝试使用GUI工具,然后再使用xrandr。否则,在运行此功能之前,您可能需要针对实际使用的设置进行一些调整。运行只是xrandr告诉您当前连接了哪些显示器。您可以连接和断开显示器的连接,以查看哪个插头连接到哪个VIRTUAL [0-9]显示。笔记本电脑屏幕为LVDS1。然后,它只是一个做的事情xrandr与命令--right-of--left-of--below,等得到的东西在自己的合适位置。

当您想再次移动时,可以运行此命令(同样,以root用户身份):

#!/bin/sh

# Turn on the laptop screen.
xrandr --output LVDS1 --auto

# Turn off my the other screens.
xrandr --output VIRTUAL1 --off
xrandr --output VIRTUAL3 --off

# Kill the xorg server running on the nvidia card.
kill $(ps ax | grep Xorg | grep :8 | awk '{print $1}')

# Wait plenty of time for it to die.
sleep 5

# Remove the nvidia kernel module so we can shut down the card.
# If you're running another driver this might be something different.
rmmod nvidia

# Use bumblebee to turn off the nvidia card and save power.
echo OFF > /proc/acpi/bbswitch

我正在使用专有的nvidia驱动程序版本337.25运行xubuntu 14.04。我还从https://launchpad.net/~bumblebee/+archive/ubuntu/stable获得了大黄蜂软件包。

有趣的是,此设置与通常的擎天柱设置相反。通常,您是在nvidia卡上有选择地运行程序,并将缓冲区从nvidia卡复制到实际上与显示器通讯的intel卡。在这种情况下,您需要运行intel卡上的所有内容,并将相关的屏幕缓冲区复制到nvidia卡上。

如果您想知道,是的,这使运行nvidia加速应用程序变得困难。我还没有找到使游戏表现良好的方法,即使有了高清视频,它也会随着时间的推移而变慢。它甚至似乎不是双重缓冲,因为在播放了相当高分辨率的视频一段时间后,您可以看到从左到右的自上而下的扫描。就是说,大多数投影机可能都还不错。


请注意,我的答案与@Zach的答案基本相同,不同的是它使用的是默认驱动程序附带的intel-virtual-output,而不是使用自定义补丁和混合屏幕克隆。该策略是完全相同的,但是这要少得多,并且以我的经验,实际上可以在较新版本的ubuntu上工作。感谢Zach记录了使这项工作有效的策略。
汉斯(Hans)


对于我来说,在Ubuntu 14.10上进行xorg.conf.nvidia您参考中所述的编辑是必要的(特别是,我需要注释UseEDIDUseDisplayDevice)。但是,我不需要使用PPA(来自Ubuntu的Bumblebee可以正常工作),并且我也不需要任何脚本来启动和停止多显示器设置-只需intel-virtual-output 以常规用户的身份启动或终止即可。(optirun必要时执行。)您可以确认吗?
krlmlr 2014年

您是否使用GUI来设置屏幕?也许那个问题是一个xubuntu问题。如果有机会,我将不得不尝试其他东西。
汉斯(Hans)

是的,GUI可用于设置屏幕。
krlmlr 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.