Внешние дисплеи с шмелем

14

Я пытаюсь подключить внешний монитор (через кабель VGA) к ноутбуку, используя Bumblebee и конфигурацию Optimus.

У меня Lenovo W520 с Intel GMA HD 3000 и Nvidia Quadro 2000M. В BIOS есть три варианта графических карт - встроенные, дискретные и Optimus.

Вариант использования очень прост. Для работы я просто использую встроенную карту и дисплей ноутбука; хотя, когда я смотрю фильмы, я хочу использовать свой проектор. Теперь, что я должен сделать в этом случае:

  • перезагрузка
  • начать окна
  • смотреть фильм

Благодаря Bumblebee, я теперь могу держать настройку всегда как Optimus.

До BB мне приходилось менять настройки BIOS каждый раз, когда я хотел посмотреть фильм, потому что даже в Windows использование встроенной графики приводило к тому, что проектор не распознавался проектором (я полагаю, это то, что они обычно подразумевают под «проводным»). output ", и что выход VGA жестко подключен к дискретной карте).

Теперь я хотел бы подключить внешний монитор без необходимости переключения O / S, то есть использовать его в Ubuntu.

Является ли это возможным?

Прямо сейчас, если я хочу использовать внешний монитор в Ubuntu, единственный вариант - изменить BIOS для использования дискретной графики, а затем использовать nvidia-settings.

Если я вместо этого использую настройку Optimus, даже когда я запускаю ее с помощью "optirun nvidia-settings -c: 8", я не получаю никакой опции для внешнего монитора.

Есть ли что-то, что я могу сделать?

Маркус
источник

Ответы:

8

У меня есть W520. Это не та же настройка, что и у T420 - выход VGA подключен к карте nvidia, поэтому ссылка «this» от Samsagax не будет работать. Я подготовил сообщение в блоге здесь с изложением вариантов у вас есть. Мне не удалось заставить ни один внешний монитор работать с Bumblebee, и я не верю, что это возможно с W520. Тем не менее, вы можете использовать внешний монитор в режиме Optimus, но вы должны либо использовать xinerama, либо открыть отдельный экран X на внешнем мониторе.

Zach
источник
3
Вот новое решение, которое, вероятно, будет лучше для большинства людей - вам даже не нужно выходить из X, чтобы использовать внешний дисплей / проектор: zachstechnotes.blogspot.com/2012/04/post-title.html Весь рендеринг выполняется на карте Intel, а затем данные сбрасываются на устройство nvidia для вывода на внешний дисплей
Зак
4

(перенаправлено из списка linux-hybrid-graphics)

У меня есть Thinkpad T420, который может быть похожим (но может и не быть).

На моем T420 VGA подключен к Intel, а Display-Port подключен к NVIDIA. Так что для выхода VGA я могу использовать обычный xrandr .

Display-Port - это отдельная история. Для этого я должен изменить xorg.conf с шмеля в /etc/bumblebee/xorg.conf.nvidia :

Опция ConnectedMonitorот DFP(по умолчанию) до DP1для DisplayPort.

Анонимный трус
источник
1
DP1 действительно работает для вас? По словам download.nvidia.com/XFree86/Linux-x86_64/290.10/README/... , единственные допустимые значения являются CRT, DFPи разделенными запятыми варианты. Поменять ли это на CRTработу тоже?
Лекенштейн
3

Новые версии драйвера Intel включают в себя программу, intel-virtual-outputкоторая значительно упрощает настройку двойного и тройного дисплея на W520.

Эта intel-virtual-outputкоманда позволяет X-серверу на плате Intel дублировать экраны на другой 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) справа. Это также отключает экран ноутбука.

Обратите внимание, что, поскольку это всего лишь виртуальные экраны от драйвера, теоретически инструмент конфигурации дисплея вашего графического интерфейса должен иметь возможность выяснить это после запуска intel-virtual-output.

На практике инструмент настройки дисплея в xubuntu на самом деле не делал согласованных действий. Вот почему эти xrandrкоманды есть. Если вы используете gnome или kde, возможно, стоит попробовать инструмент с графическим интерфейсом, прежде чем связываться с ним 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

Я использую xubuntu 14.04 с использованием проприетарного драйвера nvidia версии 337.25. Я также получил пакеты шмеля от https://launchpad.net/~bumblebee/+archive/ubuntu/stable .

Интересно, что эта установка противоположна обычной настройке Optimus. Обычно вы выборочно запускаете программы на карте nvidia и копируете буферы с карты nvidia на карту intel, которая фактически общается с мониторами. В этом случае вы запускаете все на карте Intel и копируете соответствующие экранные буферы на карту NVIDIA.

Если вам интересно, да, это затрудняет запуск ускоренных приложений nvidia. Я еще не нашел способ заставить игры работать хорошо, и даже с HD-видео он со временем замедляется. Даже кажется, что это не двойная буферизация, потому что вы получаете видимое сканирование слева направо сверху вниз после воспроизведения видео с довольно высоким разрешением в течение некоторого времени. Тем не менее, большинство проекторов, вероятно, будет в порядке.

Hans
источник
Обратите внимание, что мой ответ по сути такой же, как у @ Zach's, за исключением того, что он использует intel-virtual-output, который поставляется с драйвером по умолчанию, а не с использованием специального патча и гибридного склона экрана. Стратегия точно такая же, но это гораздо меньше усилий и, по моему опыту, на самом деле работает на более новой версии Ubuntu. Спасибо Заку за документирование стратегии, которая делает эту работу.
Ганс
1
Кредит также идет на unixreich.com/blog/2013/…
Ганс
Редактирование xorg.conf.nvidiaкак в вашей ссылке необходимо было для меня на Ubuntu 14.10 (в частности, мне нужно было комментарии UseEDIDи UseDisplayDevice). Однако мне не нужно было использовать PPA (Bumblebee из Ubuntu работал отлично), и мне также не нужны никакие сценарии для запуска и остановки установки с несколькими мониторами - просто запуск или уничтожение, так intel-virtual-output как обычный пользователь работает для меня. (Он выполняется по optirunмере необходимости.) Можете ли вы подтвердить?
krlmlr
Используете ли вы графический интерфейс для настройки экранов? Возможно, эта проблема была проблемой xubuntu. Мне придется попробовать другие вещи, когда у меня будет шанс.
Ганс
Да, графический интерфейс работает для настройки экранов.
krlmlr
0

Может быть, попробовать это .

Но это зависит от жесткой проводки.

Samsagax
источник
1
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Майкл Мартин-Смукер