Моя Lenovo T420S имеет дискретную видеокарту с технологией Optimus Nvidia. То, чего я в основном пытаюсь достигнуть, следующее:
Насколько я выяснил, у меня есть следующие опции:
(1) дисквалифицирует, когда я читал (и испытал), что DVI / область просмотра технически не применим через внутреннюю графику
(2) действительно не попробовали до сих пор, просто быстрая тестовая установка, которая загрузилась в черный экран после того, как я добавил драйверы Nvidia :-(
(3) сопровождаемый этот блог, используемый шмель вместо ironhide. Шмель работал (я вижу впечатляющего кадр/с на glxgears), но я не заставил второй дисплей быть распознанным. Я также чувствовал себя потерянным в аду драйвера Nvidia и не имел никакого шанса выполнить nvidia-xconfig, просто потому что это не было установлено. Никакая идея, если второй дисплей, как предполагается, распознан из поля? Я должен установить больше? Я должен смешать со своим xorg.conf? Много вопросов, немного ответов.
Так, что я могу сделать для достижения моих целей? Которые соединяют каналом для следования, и каковы следующие шаги?
Любая подсказка приветствуется :-)
Обновление: Благодаря всем, кто ответил. Я перемещу свою рабочую среду в "дискретную" установку, и буду использовать "Optimus/шмеля" в качестве параллельного проекта игры и видеть, как далеко я добираюсь... Я отправлю будущие вопросы в новых потоках.
Не знаю о T420S, но мой T420 может работать до 9 часов с
И да, это батарея по умолчанию. Таким образом, вы должны легко получить 2 часа, так:
(2) В /etc/X11/xorg.conf Попробуйте с опцией «ConnectedMonitor» «DFP-0» для драйвера nvidia.
(3) Для использования вашего второго дисплея вам понадобится модифицированный шмель xorg.conf Подробнее см. https://github.com/Bumblebee-Project/Bumblebee/issues/77 .
Я использую T420 при работе с док-станцией типа 4438. Я могу использовать два широкоэкранных монитора (без основного монитора) или 1 широкоэкранный монитор с основным монитором через порты DVI на док-станции.
Я просто отключил Optimus и настроил его на постоянное использование карты NVIDIA. Затем я запустил nvidia-xconfig и использовал nvidia-settings для настройки двух мониторов, сохранил настройки в файле xorg.conf и перезагрузил компьютер.
Таким образом, я могу получить чуть более 2 часов автономной работы (без каких-либо других модификаций, чтобы продлить срок службы батареи). Основная проблема, с которой я столкнулся, заключается в том, что он не переключается автоматически на один монитор при перезагрузке с док-станции или удалении с док-станции. У меня не было времени, чтобы разобраться в этом.
Позже на этой неделе я попробую Шмель, чтобы узнать, смогу ли я заставить его работать. Я постараюсь не забыть опубликовать здесь, если смогу заставить его работать.
VGA-выход на моем T520 прекрасно работает (не размыто), используя встроенную графику (настройка Intel BIOS), но мне нужно настроить монитор 1920x1200 так, чтобы он отображал только 1600 пикселей в ширину, поэтому я получаю черные полосы с обеих сторон. Без этой настройки монитор растягивает 1600 пикселей по всему экрану 1920 года, и тогда все выглядит размытым.
Я задал похожий вопрос несколько дней назад , и меня все еще смущают эти ответы. Похоже, @Anonymous Coward работает только с внешним монитором, но я (и я считаю, что OP) хочет иметь возможность управлять дисплеем ноутбука (на Intel) и внешним монитором через DisplayPort / DVI (на NVIDIA). Поэтому я думаю, что может потребоваться Optimus / Bumblebee.
Если я выясню эту проблему, я обязательно опубликую свои выводы; пожалуйста, сделайте то же самое, если сначала доберетесь до финиша.
У меня та же проблема. Я провел некоторое исследование и частично решил его. Я все еще работаю над полным решением.
Аппаратное обеспечение: 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.
У меня есть 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, чтобы заставить ее использовать проприетарные драйверы.
Удачи! Я надеюсь, что это помогло.
Ubuntu 14.10 и позже: это очень, намного более просто там. См. этот ответ и мой комментарий ниже.
Примечание: Это только работает в Ubuntu 13.04. Существуют некоторые различия в 13,10.
Мне удалось подключить два внешних монитора (в дополнение к встроенной панели) к моему ThinkPad T430 на Ubuntu 13.04, с Optimus ("Переключаемая графика") включил (опция 3 в Вашем списке). Мониторы подключены через интерфейс DVI, один из них повернут. В отличие от других решений, все мониторы присоединены к тому же менеджеру окон, таким образом, окна могут быть перемещены свободно между мониторами. Это достигает цели расширенного ресурса аккумулятора, если разъединено и использующий внешние мониторы, если соединено.
Ключевая идея здесь:
Главное преимущество по другим решениям - то, что все дисплеи являются (по-видимому) частью тех же X сессий, таким образом, можно свободно переместить окна между дисплеями.
До сих пор я не заметил потери производительности.
Необходимо сделать следующее:
Для большинства действий Вам будут нужны терминал, текстовый редактор и корневой доступ (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
Выполните следующее как корень:
add-apt-repository ppa:krlmlr/ppa
apt-get update
apt-get install xserver-xorg-video-intel
Выберите новый патч для 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
Команда
apt-cache policy xserver-xorg-video-intel
должен показать исправленную версию (+virtual
суффикс) и исходная версия Ubuntu.
Добавьте следующее к Вашему /etc/X11/xorg.conf
, создайте при необходимости:
Section "Device"
Identifier "intel"
Driver "intel"
Option "AccelMethod" "uxa"
Option "Virtuals" "2"
EndSection
После перезагрузки, выполненной xrandr
в терминале. Вывод должен перечислить два дополнительных виртуальных дисплея.
Получите ветвление 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
сценарий для удовлетворения конфигурации.
Мой ответ в основном тянет из следующих ресурсов: