Як встановити другий дисплей через DVI / перегляд через Lenovo T420S?


13

У мого Lenovo T420S є дискретна графічна карта з технологією nvidia optimus. Я в основному намагаюся досягти наступного:

  • використовувати другий дисплей - підключений через DVI / перегляд - у роботі (VGA розмито)
  • досягти помірної та хорошої роботи акумулятора під час подорожі (2 години)

Наскільки я зрозумів, у мене є такі варіанти:

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

(1) дискваліфікує, коли я читав (і переживав), що технічний пристрій DVI / view не можна використовувати через внутрішню графіку

(2) ще не намагалися поки що, просто швидка тестова установка, яка завантажилася на чорний екран після того, як я додав драйвери nvidia :-(

(3) слідкував за цим блогом , використовував джмеля замість залізистого шкуру. Джміль працював (я можу побачити вражаючий FPS на glxgears), але мені не вдалося розпізнати другий дисплей . Я також почувався втраченим у nvidia-driver-hell і не мав шансів запустити nvidia-xconfig, просто тому, що він не був встановлений. Немає ідеї, чи повинен розпізнати другий дисплей поза коробкою? Чи потрібно мені встановлювати більше? Чи потрібно возитися зі своїм xorg.conf? Багато питань, мало відповідей.

Отже, що я можу зробити для досягнення своїх цілей? Який шлях пройти і які наступні кроки?

Будь-який натяк вітається :-)

Оновлення : Дякую всім, хто відповів. Я перенесу своє робоче середовище на "дискретну" установку, і буду використовувати "optimus / джміль" як паралельний ігровий проект і побачу, наскільки я дістанусь ... Я буду публікувати майбутні питання в нових темах.

Відповіді:


5

У мене є Thinkpad W520, і я дуже заплутався з цим. Я не впевнений, скільки спільних у W520 і T420S, але я написав тут повідомлення в блозі, в якому виклав ситуацію з великою картиною і дав кілька пропозицій.

Ви повинні мати можливість отримати 2 години автономної роботи, використовуючи картку nvidia з власними драйверами на повний робочий день. Можливо, це також буде варіант, який передбачає найменше клопоту при додаванні зовнішнього дисплея (програма "дисперс" дуже корисна для цього). Якщо фірмові драйвери nvidia для карти в T420s функціонують так само, як і для W520, вони автоматично розігнають картку, коли вона не використовується в повному обсязі (вони називають це "Mizer Power"), тому термін служби акумулятора не буде занадто жахливий. Чесно кажучи, я лише на 25 або 30% збільшую час автономної роботи, вимикаючи картку nvidia. Також я вважаю, що при встановленому Bumblebee ви не зможете користуватися своїм зовнішнім монітором, оскільки карта nvidia вже працює з сервером X "під капотом". Підводячи підсумок, я б рекомендував далі скористатися варіантом (2).

Коли я встановив і видалив Bumblebee, у мене виникли невеликі труднощі з тим, щоб власні драйвери nvidia знову працювати. Ось кілька речей, на які слід звернути увагу: (a) У W520 є параметри BIOS, пов'язані з використанням графічної схеми. Я не впевнений, що таке варіанти T420, але якщо ви хочете використовувати графіку nvidia на дисплеї Thinkpad, ви, ймовірно, повинні перебувати в режимі "дискретного". (b) Можливо, вам доведеться возитися з програмою "жокей" в ubuntu, щоб використовувати її для використання власних драйверів.

Удачі! Я сподіваюся, що це допомогло.


... це, безумовно, допомагає, дякую за відповіді!
Ян Грот

Після прочитання інших коментарів на цю тему, здається , що T420 буде НЕ налаштований таким же чином , як і W520 - інтегрована карта буде підключена до виходу VGA ( в відміну від W520 - це також пояснює , чому T420 здатний на підтримка 3 зовнішніх моніторів, а W520 може підтримувати лише 2).
Зак

Тож питання полягає в тому, які режими BIOS доступні на T420? З публікації @ John видно, що існує принаймні режим Optimus та дискретний режим. Якщо ви шукаєте варіант (2), ви хочете переконатися, що ви перебуваєте в дискретному режимі, як @John. Якщо ви перебуваєте в режимі Optimus, внутрішній дисплей Thinkpad та зовнішній цифровий дисплей, ймовірно, керуються різними відеокартами, і вам доведеться повозитися з вашим xorg.conf, щоб це працювало.
Зак

@Zach: Дякую за публікацію в блозі. Я безсоромно вкрав як її подальшу версію, так і переписання Сагара Карандікара , і додав у свою відповідь деякі оновлення, що стосуються останньої версії Ubuntu .
krlmlr

7

Ubuntu 14.10 та пізніших версій: Там набагато, набагато простіше. Будь ласка, дивіться цю відповідь та мій коментар нижче.

Примітка . Це працює лише в Ubuntu 13.04. Є деякі відмінності в 13.10.

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

Ключова ідея тут:

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

Основна перевага перед іншими рішеннями полягає в тому, що всі дисплеї є (здавалося б) частиною одного X сеансу, тому ви можете вільно переміщати вікна між дисплеями.

Поки що я не помітив жодного штрафу за виконання.

Інструкції

Вам потрібно зробити наступне:

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

Для більшості дій вам знадобиться термінал, текстовий редактор та root-доступ ( sudo). Детальні інструкції наведені нижче.

Встановіть джмеля

Дотримуйтесь розділу "основні настройки" інструкцій . Виконати як root, остання команда фактично ініціює перезавантаження:

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

Не намагайтеся запустити джмеля лише з водієм нуво? . З мого досвіду, це не працює, принаймні, не в цій установці.

Перевірка

Ви повинні мати можливість бігати optirun glxgears.

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

Варіант 1: Встановити з мого PPA (наразі лише Ubuntu 13.04)

Виконайте наступне як root:

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у терміналі. Вихід повинен перелічити два додаткових віртуальних дисплея.

Завантажте і складіть екранний клон

Отримайте вилку puetzk для скрінклону та його залежностей та складіть його.

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. Запустіть наступні команди в терміналі з каталогу, в якому знаходиться екранний клон , при необхідності адаптуйте .

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перше виклик).

Після закінчення screencloneCtrl + C (який знову був висунутий на перший план за допомогою fg) дискретний графічний адаптер вимикається. Ви можете підтвердити це за допомогою cat /proc/acpi/bbswitch. Проте екранний простір відведений для двох відключених моніторів. Щоб повернутися лише до дисплея ноутбука, використовуйте

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

Прибирати

  • Скопіюйте screencloneв каталог, який знаходиться у PATH(наприклад, /usr/local/bin)

  • Створіть 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
    
  • Альтернативний варіант: Моя колекція скриптів містить два сценарії extmon-startта extmon-stop, які включають та вимикають другий та третій монітори. Відредагуйте extmon-startсценарій відповідно до вашої конфігурації.

Список літератури

Моя відповідь багато в чому випливає з таких ресурсів:


Це дуже добре працює для мене, дякую. Чи є у вас проблеми з великим відставанням під час використання віртуальних настільних комп’ютерів та Compiz із цим рішенням?
damon

@blackrobot: Я використовую Gnome Shell, є дуже незначне відставання, але це мене не турбує.
krlmlr

@krlmlr: будь-який шанс отримати цю саму налаштування 13.10?
flx

@flx: У 13.10 "віртуальні" CRTC вбудовані в xorg-xserver-video-intelдрайвер запасів , не потрібно використовувати мій PPA або патч. Також не потрібно редагувати xorg.conf, "віртуальні" CRTC створюються на вимогу. Решта має бути схожим. Зараз є навіть інструмент, який замінює screenclone, він називається intel-virtual-outputі більш плавно інтегрується з конфігурацією дисплея вашого робочого столу. Я зроблю запис, як тільки я зроблю трифугову установку з обертанням для нормальної роботи.
krlmlr

1
@flx: Вам потрібно додати режим ( xrandr --newmode; cvtінструмент допомагає обчислити модельйн) та призначити це віртуальному дисплею ( xrandr --addmode). Режим повинен відповідати реального відображення. Подивіться, чи створюється другий віртуальний дисплей автоматично. Це те, що intel-virtual-outputінструмент робить сам, і схоже, останні проблеми, які там були виправлені або вже збираються.
krlmlr

2

Не знаю про T420S, але мій T420 може скласти до 9 годин

  1. Монітор темний
  2. nvidia відключена з джмелем / bbswith
  3. і додаткова настройка з pm-утилітами

І так, це батарея за замовчуванням. Таким чином, ви повинні легко отримати 2 години, так що:

(2) У /etc/X11/xorg.conf Спробуйте з опцією "ConnectedMonitor" "DFP-0" для драйвера nvidia.

(3) Для використання другого дисплея вам потрібен модифікований джміль xorg.conf Докладні відомості див. На https://github.com/Bumblebee-Project/Bumblebee/isissue/77 .


1
Дякую за відповідь. Я зрозумів, що ви не використовуєте другий (DVI) екран? Якщо чесно: мені здається, що працювати над проблемою, яку ви пов’язали, надзвичайно складно - я, безумовно, спробую, але це займе години, поки у мене є навіть незначне уявлення, що я повинен змінити (і чому). Власне, це мій ноутбук для роботи, і я просто хочу, щоб він функціонував. Добре сподіваюся, що таке завдання, як підключення другого дисплея , не змусить мене переслідувати відкриті випуски програмного забезпечення, про які я навіть не чув близько тижня тому ... :-(
Январь Грот,

Це дуже просто, як у випуску github, просто видаліть рядки (новий рядок) Варіант "UseEDID" "помилковий" (новий рядок) Варіант "ConnectedMonitor" "DFP" (newline) з /etc/bumblebee/xorg.conf.nvidia та джмелі з виробляти вихід на Дисплейний порт. Ви отримаєте порожнє зображення на старті. Ви можете отримати, наприклад, xterm там, експортуючи DISPLAY =: 8.0 (новий рядок) xterm. (натискання клавіші WTF тут надсилає коментар замість створення нової лінії)
Анонімний боягуз

2

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

Я просто відключив оптимус і налаштував його завжди використовувати карту NVIDIA. Потім я запустив nvidia-xconfig і використав nvidia-настройки для встановлення подвійних моніторів, зберег налаштування у файл xorg.conf та перезавантажив машину.

Я можу отримати трохи більше 2 годин терміну служби тіста (без будь-яких інших змін, що дозволять збільшити час автономної роботи). Головною проблемою є те, що він не перемикається автоматично на один монітор, коли він перезавантажується далеко від док-станції або видаляється з док-станції. У мене не було жодного разу, щоб розглянути це.

Пізніше цього тижня я спробую Бамбл Бджі, щоб побачити, чи зможу я його змусити працювати. Я спробую пам’ятати, щоб опублікувати тут, якщо зможу це функціонувати.


2

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

Обладнання: Thinkpad T420s з Nvidia 4200M + Intel HD 3000 графічною док-станцією Thinkpad.

Симптом: T420 не може розпізнати зовнішній дисплей, який підключається до будь-якого порту 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. Детальні вказівки Google. 3. Після встановлення виконайте "sudo nvidia-settings". 4. У спливаючому вікні "Конфігурація дисплея сервера X" натисніть "Визначити відображення". Ви зможете побачити зовнішній дисплей вже зараз. 5. На цій же сторінці змініть конфігурацію на "TwinView", роздільну здатність "Авто" або нативну роздільну здатність T420, скажімо, 1600x900. 6. Натисніть "Застосувати", ви зможете побачити зовнішній робочий стіл дисплея. 7. Клацніть «Зберегти в X файл конфігурації».

[Оновлення]

Використовуючи дисперс, я в змозі перемикати дисплей T420s та зовнішній дисплей вручну. Все ще не найкраще рішення, але я думаю, що це досить добре для мене.

Тому будь ласка, спробуйте дискретну комбінацію графіки + дисперсії Nvidia.


... Проблема з дискретною картою полягає в тому, що вона дуже швидко розряджає акумулятор ...
Янв Грот

Ви повинні мати можливість використовувати порт відображення в режимі nvidia optimus, використовуючи описаний тут метод: zachstechnotes.blogspot.com/2012/04/post-title.html Таким чином, ви можете отримати хороший ресурс акумулятора та використовувати зовнішній монітор на дисплейний порт (хоча ви будете візуалізувати за допомогою інтелектуальної картки, тому якість може бути не такою гарною, як хотілося б
Зак

1

VGA на моєму T520 чудово працює (не розмито) за допомогою інтегрованої графіки (налаштування Intel BIOS), але мені потрібно встановити монітор 1920x1200 таким чином, щоб він відображав лише 1600 пікселів в ширину, щоб у мене з'явилися чорні смуги з обох сторін. Без цього налаштування монітор розтягує 1600 пікселів на весь екран 1920 року, і так, тоді речі виглядають розмитими.

Я задав подібне запитання кілька днів тому і залишаюся розгублений цими відповідями. Схоже, у @Anonymous Coward працює лише зовнішній монітор, але я (і я вважаю, що ОП) хочу запустити дисплей ноутбука (на Intel) та зовнішній монітор через DisplayPort / DVI (на nvidia). Тому я думаю, що Optimus / джміль може знадобитися.

Якщо я розберу цю проблему з дисплеєм, я обов'язково опублікую свої висновки; будь ласка, зробіть те саме, якщо ви доїдете до фінішу першим.


1
Дякуємо за відповідь! Якщо я зменшу роздільну здатність мого зовнішнього монітора до 1600x1200, дисплей стає ще гіршим ... До речі, я звинувачую виробника дисплея в розмитості - почув кілька історій про те, що аналогові джерела введення в даний час можуть бути досить низькими стандартними, тому що всі використовує цифрові з'єднання. О, і я обов'язково буду постійно оновлювати цей квиток.
Ян Грот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.