Как я настраиваю второй дисплей через DVI/область просмотра с Lenovo T420S?

Моя Lenovo T420S имеет дискретную видеокарту с технологией Optimus Nvidia. То, чего я в основном пытаюсь достигнуть, следующее:

  • используйте второй дисплей - соединенный через DVI/область просмотра - на работе (VGA является расплывчатым),
  • достигните умеренного к хорошей производительности батареи при перемещении (2 часа)

Насколько я выяснил, у меня есть следующие опции:

  1. отключите Optimus, используйте внутреннюю графику исключительно
  2. отключите Optimus, используйте Nvidia исключительно
  3. включите Optimus, используйте шмеля (домашняя страница) / ironhide

(1) дисквалифицирует, когда я читал (и испытал), что DVI / область просмотра технически не применим через внутреннюю графику

(2) действительно не попробовали до сих пор, просто быстрая тестовая установка, которая загрузилась в черный экран после того, как я добавил драйверы Nvidia :-(

(3) сопровождаемый этот блог, используемый шмель вместо ironhide. Шмель работал (я вижу впечатляющего кадр/с на glxgears), но я не заставил второй дисплей быть распознанным. Я также чувствовал себя потерянным в аду драйвера Nvidia и не имел никакого шанса выполнить nvidia-xconfig, просто потому что это не было установлено. Никакая идея, если второй дисплей, как предполагается, распознан из поля? Я должен установить больше? Я должен смешать со своим xorg.conf? Много вопросов, немного ответов.

Так, что я могу сделать для достижения моих целей? Которые соединяют каналом для следования, и каковы следующие шаги?

Любая подсказка приветствуется :-)

Обновление: Благодаря всем, кто ответил. Я перемещу свою рабочую среду в "дискретную" установку, и буду использовать "Optimus/шмеля" в качестве параллельного проекта игры и видеть, как далеко я добираюсь... Я отправлю будущие вопросы в новых потоках.

13
задан 25 September 2012 в 16:29

6 ответов

Не знаю о T420S, но мой T420 может работать до 9 часов с

  1. Монитор темный
  2. nvidia отключен с помощью шмеля / bbswith
  3. и дополнительных настройка с помощью pm-utils

И да, это батарея по умолчанию. Таким образом, вы должны легко получить 2 часа, так:

(2) В /etc/X11/xorg.conf Попробуйте с опцией «ConnectedMonitor» «DFP-0» для драйвера nvidia.

(3) Для использования вашего второго дисплея вам понадобится модифицированный шмель xorg.conf Подробнее см. https://github.com/Bumblebee-Project/Bumblebee/issues/77 .

0
ответ дан 25 September 2012 в 16:29

Я использую T420 при работе с док-станцией типа 4438. Я могу использовать два широкоэкранных монитора (без основного монитора) или 1 широкоэкранный монитор с основным монитором через порты DVI на док-станции.

Я просто отключил Optimus и настроил его на постоянное использование карты NVIDIA. Затем я запустил nvidia-xconfig и использовал nvidia-settings для настройки двух мониторов, сохранил настройки в файле xorg.conf и перезагрузил компьютер.

Таким образом, я могу получить чуть более 2 часов автономной работы (без каких-либо других модификаций, чтобы продлить срок службы батареи). Основная проблема, с которой я столкнулся, заключается в том, что он не переключается автоматически на один монитор при перезагрузке с док-станции или удалении с док-станции. У меня не было времени, чтобы разобраться в этом.

Позже на этой неделе я попробую Шмель, чтобы узнать, смогу ли я заставить его работать. Я постараюсь не забыть опубликовать здесь, если смогу заставить его работать.

0
ответ дан 25 September 2012 в 16:29

VGA-выход на моем T520 прекрасно работает (не размыто), используя встроенную графику (настройка Intel BIOS), но мне нужно настроить монитор 1920x1200 так, чтобы он отображал только 1600 пикселей в ширину, поэтому я получаю черные полосы с обеих сторон. Без этой настройки монитор растягивает 1600 пикселей по всему экрану 1920 года, и тогда все выглядит размытым.

Я задал похожий вопрос несколько дней назад , и меня все еще смущают эти ответы. Похоже, @Anonymous Coward работает только с внешним монитором, но я (и я считаю, что OP) хочет иметь возможность управлять дисплеем ноутбука (на Intel) и внешним монитором через DisplayPort / DVI (на NVIDIA). Поэтому я думаю, что может потребоваться Optimus / Bumblebee.

Если я выясню эту проблему, я обязательно опубликую свои выводы; пожалуйста, сделайте то же самое, если сначала доберетесь до финиша.

0
ответ дан 25 September 2012 в 16:29

У меня та же проблема. Я провел некоторое исследование и частично решил его. Я все еще работаю над полным решением.

Аппаратное обеспечение: Thinkpad T420s с графической док-станцией Thinkpad Nvidia 4200M + Intel HD 3000.

Симптом: T420s не может распознать внешний дисплей, подключенный к любому порту DVI на док-станции. Он может распознавать внешний дисплей через порт VGA на док-станции. Однако качество оставляет желать лучшего.

Основная причина: 1. T420s имеет карту Nvidia, подключаемую к порту DVI, а карта Intel - к порту VGA на док-станции. 2. В отличие от Win 7, Ubuntu не может переключаться между картой Nvidia и картой Intel. По умолчанию используется только карта Intel.

Решение: 0. Установите T420s в док-станцию ​​и подключите внешний дисплей к порту DVI. 1. Перейдите в BIOS, найдите «Дисплей», измените конфигурацию на «Дискретная карта» и «Отключить Nvidia Optimus». Теперь T420s вынужден использовать карту Nvidia. 2. Загрузите и установите драйвер Nvidia для Linux. Гугл подробные инструкции. 3. После установки выполните «sudo nvidia-settings». 4. Во всплывающем окне «Конфигурация дисплея X-сервера» нажмите «Определить дисплеи». Теперь вы сможете увидеть внешний дисплей. 5. На той же странице измените конфигурацию на «TwinView», разрешение «Auto» или собственное разрешение T420, скажем, 1600x900. 6. Нажмите «Применить», вы сможете увидеть внешний экран рабочего стола. 7. Нажмите «Сохранить в X файл конфигурации». Будет создан новый файл /etc/X11/xorg.conf.

[Обновить]

Используя Диспер, я могу переключать дисплей T420s и внешний дисплей вручную. Все еще не самое лучшее решение, но я думаю, что оно мне подходит.

Поэтому, пожалуйста, попробуйте комбинацию дискретной графики + дисперсии от Nvidia.

0
ответ дан 25 September 2012 в 16:29

У меня есть Thinkpad W520, и я много с этим возился. Я не уверен, что общего у W520 и T420S, но я написал пост в блоге здесь , излагающий общую картину ситуации и дающий некоторые предложения.

Вы должны быть в состоянии получить 2 часа автономной работы, используя карту NVIDIA с проприетарными драйверами полный рабочий день. Это также, вероятно, будет вариант, который включает в себя наименьшее количество хлопот при добавлении внешнего дисплея (программа "disper" очень полезна для этого). Если проприетарные драйверы nvidia для карты в T420s функционируют так же, как и для W520, они автоматически разгонят карту, когда она не используется в полной мере (они называют это «Power Mizer»), поэтому срок службы батареи будет не слишком какой ужас. Честно говоря, я могу увеличить время автономной работы только на 25 или 30%, отключив карту NVIDIA. Кроме того, я считаю, что с установленным Bumblebee вы, возможно, не сможете использовать свой внешний монитор, поскольку на карте nvidia уже запущен X-сервер «под капотом». Таким образом, я бы рекомендовал продолжить вариант (2). Надеемся, что после того, как вы установите и будете работать с проприетарными драйверами, X автоматически определит все, и вам не придется связываться с вашим xorg.conf.

Когда я установил и удалил Bumblebee, у меня возникли небольшие проблемы с тем, чтобы заставить работать собственные драйверы nvidia снова. Вот несколько вещей, на которые следует обратить внимание: (a) W520 имеет опции BIOS, связанные с используемой графической схемой. Я не уверен, что варианты T420, но если вы хотите использовать графику nvidia на вашем дисплее Thinkpad, вы, вероятно, должны быть в «дискретном» режиме. (b) Возможно, вам придется возиться с программой «жокей» в Ubuntu, чтобы заставить ее использовать проприетарные драйверы.

Удачи! Я надеюсь, что это помогло.

0
ответ дан 25 September 2012 в 16:29

Ubuntu 14.10 и позже: это очень, намного более просто там. См. этот ответ и мой комментарий ниже.

Примечание: Это только работает в Ubuntu 13.04. Существуют некоторые различия в 13,10.

Мне удалось подключить два внешних монитора (в дополнение к встроенной панели) к моему ThinkPad T430 на Ubuntu 13.04, с Optimus ("Переключаемая графика") включил (опция 3 в Вашем списке). Мониторы подключены через интерфейс DVI, один из них повернут. В отличие от других решений, все мониторы присоединены к тому же менеджеру окон, таким образом, окна могут быть перемещены свободно между мониторами. Это достигает цели расширенного ресурса аккумулятора, если разъединено и использующий внешние мониторы, если соединено.

Ключевая идея здесь:

  • Внутренний графический адаптер ответственен за управление изображением (битовый массив), который на самом деле отображен
  • По умолчанию все представляется на внутреннем графическом адаптере
  • GPU ускорил использование приложений дискретный графический адаптер, вывод копируется во внутренний графический адаптер
  • Для каждого внешнего монитора внутренний графический адаптер обеспечивает "виртуальный" дисплей
  • Вывод к внешним мониторам происходит с помощью второго X-сервера, содержание от "виртуальных" дисплеев постоянно копируется во второй X-сервер

Главное преимущество по другим решениям - то, что все дисплеи являются (по-видимому) частью тех же X сессий, таким образом, можно свободно переместить окна между дисплеями.

До сих пор я не заметил потери производительности.

Инструкции

Необходимо сделать следующее:

  • Установите шмеля от PPA
  • Создайте и установите пользовательский видеодрайвер Intel
  • Загрузите, скомпилируйте и наконец установите небольшую программу
  • Отредактируйте два конфигурационных файла
  • Перезагружайте несколько раз

Для большинства действий Вам будут нужны терминал, текстовый редактор и корневой доступ (sudo). Подробные инструкции даны ниже.

Шмель установки

Следуйте за "основной установкой" раздел инструкций. Выполнитесь как корень, последняя команда на самом деле инициирует перезагрузку:

add-apt-repository ppa:bumblebee/stable
apt-get update
apt-get install bumblebee virtualgl linux-headers-generic
reboot

Не пытаться Выполнить шмеля с nouveau драйвером только?. На основе моего опыта это не работает, по крайней мере, не в этой установке.

Проверка

Необходимо смочь работать optirun glxgears.

Установите исправленную версию xserver-xorg-video-intel

Опция 1: Установка от моего PPA (в настоящее время только Ubuntu 13.04)

Выполните следующее как корень:

add-apt-repository ppa:krlmlr/ppa
apt-get update
apt-get install xserver-xorg-video-intel

Опция 2: Создайте и установите свой собственный пакет

Выберите новый патч для xserver-xorg-video-intel. Нажмите файл, нажмите кнопку "Raw", скопируйте URL в браузере. Во время записи это было https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch.

sudo apt-get build-dep xserver-xorg-video-intel
cd ~
apt-get source xserver-xorg-video-intel
cd xserver-xorg-video-intel
# replace the URL below with the one you have noted, if necessary
wget https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch
patch -p1 < *.patch
# The next command will ask for a change log message. Supply something meaningful,
# this will later allow you to distinguish your patched package from the distribution's.
dch -l+virtual
dpkg-buildpackage -b
cd ..
sudo dpkg --install xserver-xorg-video-intel_*.deb

Проверка (1), для обеих опций

Команда

apt-cache policy xserver-xorg-video-intel

должен показать исправленную версию (+virtual суффикс) и исходная версия Ubuntu.

Необходимый для 13,04, для обеих опций

Добавьте следующее к Вашему /etc/X11/xorg.conf, создайте при необходимости:

Section "Device"
    Identifier "intel"
    Driver "intel"
    Option "AccelMethod" "uxa"
    Option "Virtuals" "2"
EndSection

Проверка (2), для обеих опций

После перезагрузки, выполненной xrandr в терминале. Вывод должен перечислить два дополнительных виртуальных дисплея.

Загрузите и создайте screenclone

Получите ветвление puetzk screenclone и его зависимостей, и скомпилируйте его.

sudo apt-get install libxcursor-dev libxdamage-dev libxinerama-dev libxtst-dev git build-essential
cd ~
git clone git://github.com/puetzk/hybrid-screenclone.git
cd hybrid-screenclone
make

Проверка

Файл screenclone существует и исполняемый файл. (Это еще не будет работать, все же.)

Править xorg.conf.nvidia

  • Откройте файл /etc/bumblebee/xorg.conf.nvidia в текстовом редакторе, как корень
  • Прокомментируйте или удалите строки, которые читают UseEDID или UseDisplayDevice
  • В Section "ServerLayout", добавьте запись Screen "Screen0"
  • У основания файла добавьте следующее:

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        DefaultDepth    24
        SubSection     "Display"
        Depth       24
        EndSubSection
    EndSection
    
  • Перезагрузка

Тестирование

Моя установка принимает альбомный монитор, подключенный к первому порту DVI базового блока и портрету один соединенный к второму порту DVI. Выполните следующие команды в терминале из каталога, где screenclone расположен, адаптируйтесь по мере необходимости.

xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
./screenclone -b -x 1:0 -x 2:1 &
sleep 1
xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
fg

Отметьте, как вращение дисплея должно быть определено дважды. Можно опустить второй вызов xrandr если никакое вращение не желаемо (и, конечно, --rotate left в первом вызове).

Путем завершения screenclone с Ctrl+C (который был помещен в передний план снова с помощью fg), дискретный графический адаптер отключен. Можно проверить это с cat /proc/acpi/bbswitch. Однако, экранное пространство резервируется для двух теперь разъединенных мониторов. Для переключения назад на дисплей портативного компьютера только использовать

xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off

Очистка

  • Копия screenclone к каталогу, который находится в PATH (например, /usr/local/bin)

  • Создайте a bash сценарий для автоматизации запуска и завершения работы внешних дисплеев. Этот сценарий установит внешние дисплеи на запуске и переключится на дисплей портативного компьютера только на выходе (например, путем удара Ctrl+C).

    #!/bin/bash
    set -m
    xrandr --output LVDS1 --output VIRTUAL1 --mode 1920x1200 --right-of LVDS1 --output VIRTUAL2 --mode 1920x1200 --right-of VIRTUAL1 --rotate left
    trap "xrandr --output LVDS1 --output VIRTUAL1 --off --output VIRTUAL2 --off" EXIT
    screenclone -b -x 1:0 -x 2:1 &
    sleep 1
    xrandr -d :8 --output DP-2 --right-of DP-1 --rotate left
    fg
    
  • Альтернативная опция: Мой набор scriptlets содержит два сценария, extmon-start и extmon-stop, это включает и отключает второй и третий монитор. Отредактируйте extmon-start сценарий для удовлетворения конфигурации.

Ссылки

Мой ответ в основном тянет из следующих ресурсов:

7
ответ дан 25 September 2012 в 16:29

Другие вопросы по тегам:

Похожие вопросы: