Lenovo T420S에서 DVI / 뷰포트를 통해 보조 디스플레이를 설정하려면 어떻게합니까?


13

Lenovo T420S에는 엔비디아 옵티머스 기술이 적용된 개별 그래픽 카드가 있습니다. 내가 기본적으로 달성하려는 것은 다음과 같습니다.

  • 직장에서 DVI / 뷰포트를 통해 연결된 두 번째 디스플레이 사용 (VGA가 흐릿함)
  • 여행하는 동안 중간에서 좋은 배터리 성능 달성 (2 시간)

내가 알아 낸 한 다음 옵션이 있습니다.

  1. Optimus를 비활성화하고 내부 그래픽을 독점적으로 사용
  2. 옵티머스 비활성화, 엔비디아 독점 사용
  3. Optimus를 활성화하고 Bumblebee ( 홈페이지 ) / Ironhide를 사용하십시오.

(1) DVI / 뷰포트 를 내부 그래픽을 통해 기술적으로 사용할 수 없다는 읽기 및 경험으로 실격

(2) 지금까지 실제로 시도하지 않았지만 nvidia 드라이버를 추가 한 후 검은 화면으로 부팅 된 빠른 테스트 설치 :-(

(3) 이 블로그 를 팔로우하면서 ironhide 대신 bumblebee를 사용했습니다. Bumblebee는 효과가 있었지만 (glxgears에서 인상적인 FPS를 볼 수는 있지만) 두 번째 디스플레이를 인식하지 못했습니다 . 또한 nvidia-driver-hell에서 길을 잃은 느낌이 들었고 단순히 설치되지 않았기 때문에 nvidia-xconfig를 실행할 기회가 없었습니다. 상자에서 두 번째 디스플레이를 인식해야할지 모르겠습니까? 더 설치해야합니까? xorg.conf를 엉망으로 만들어야합니까? 많은 질문과 답변이 거의 없습니다.

목표를 달성하기 위해 무엇을 할 수 있습니까? 따라야 할 경로와 다음 단계는 무엇입니까?

어떤 힌트라도 환영합니다 :-)

업데이트 : 답변 해 주신 모든 분들께 감사드립니다. 작업 환경을 "개별"설치로 마이그레이션하고 "optimus / bumblebee"를 병렬 재생 프로젝트로 사용하여 얼마나 멀리 도달하는지 확인합니다. 향후 질문을 새 스레드에 게시 할 것입니다.

답변:


5

나는 Thinkpad W520을 가지고 있으며 이것을 광범위하게 엉망으로 만들었습니다. W520과 T420S가 얼마나 공통적인지 잘 모르겠지만 여기 에 큰 그림 상황을 요약하고 몇 가지 제안을 하는 블로그 게시물을 작성했습니다 .

독점 드라이버가있는 엔비디아 카드를 사용하면 2 시간 동안 배터리를 사용할 수 있습니다. 외부 디스플레이를 추가 할 때 번거롭지 않은 옵션 일 수도 있습니다 ( "disper"프로그램이 매우 유용합니다). T420s의 카드 용 nvidia 독점 드라이버가 W520과 동일한 기능을 수행하는 경우, 카드를 완전히 사용하지 않을 때 (이 "Power Mizer"라고 함) 자동으로 카드를 언더 클럭킹하므로 배터리 수명이 너무 길어지지 않습니다 끔찍한. 솔직히, 나는 엔비디아 카드를 꺼서 배터리 수명이 25 또는 30 % 증가합니다. 또한, Bumblebee가 설치되어 있으면 nvidia 카드가 이미 "후드 아래"X 서버를 실행하고 있기 때문에 외부 모니터를 사용하지 못할 수도 있습니다. 요약하면, 옵션 (2)를 더 추구하는 것이 좋습니다.

Bumblebee를 설치하고 제거 할 때 nvidia 전용 드라이버를 다시 작동시키는 데 약간의 문제가있었습니다. 다음은 몇 가지 고려해야 할 사항입니다. (a) W520에는 사용중인 그래픽 구성표와 관련된 BIOS 옵션이 있습니다. T420 옵션이 무엇인지 잘 모르겠지만 Thinkpad 디스플레이에서 nvidia 그래픽을 사용하려면 "이산"모드에 있어야합니다. (b) 독점 드라이버를 사용하려면 우분투의 "기수"프로그램을 어지럽 힐 필요가 있습니다.

행운을 빕니다! 도움이 되었기를 바랍니다.


... 응답 주셔서 감사합니다!
jan groth

이 스레드에 대한 다른 의견을 읽은 후 T420이 W520과 동일한 방식으로 구성 되지 않은 것으로 보입니다 -통합 카드 VGA 출력에 연결되어 있습니다 (W520과 달리-T420이 W520은 2) 만 지원할 수 있지만 3 개의 외부 모니터를 지원합니다.
Zach

그렇다면 T420에서 어떤 BIOS 모드를 사용할 수 있습니까? @ John의 게시물에서 Optimus 모드와 이산 모드가있는 것으로 보입니다. 옵션 (2)를 추구하는 경우 @John과 같은 개별 모드에 있는지 확인하십시오. Optimus 모드에있는 경우 내부 Thinkpad 디스플레이와 외부 디지털 디스플레이는 다른 그래픽 카드로 제어 될 수 있으며 xorg.conf를 사용하여 문제를 해결해야합니다.
Zach

@Zach : 블로그 게시물 감사합니다. 나는 후속 버전Sagar Karandikar의 재 작성 에서 뻔뻔스럽게 도난 당했으며 , 내 대답 에 최신 버전의 Ubuntu와 관련된 업데이트를 추가했습니다 .
krlmlr 2016 년

7

우분투 14.10 이상 : 훨씬 더 간단합니다. 참조하십시오 이 답변 아래 내 댓글을.

참고 : 이것은 우분투 13.04에서만 작동합니다. 13.10에는 약간의 차이가 있습니다.

Optimus ( "전환 가능 그래픽")가 활성화 된 (목록의 옵션 3) 우분투 13.04의 ThinkPad T430에 2 개의 외부 모니터 (내장 패널 외에도)를 연결했습니다. 모니터는 DVI 인터페이스를 통해 연결되며 그 중 하나가 회전합니다. 다른 솔루션과 달리 모든 모니터는 동일한 창 관리자에 연결되므로 모니터간에 창을 자유롭게 이동할 수 있습니다. 이것은 연결이 끊어진 경우 외부 배터리를 사용하고 연결이 끊어진 경우 배터리 수명을 늘리는 목표를 달성합니다.

여기서 핵심 아이디어는 다음과 같습니다.

  • 내부 그래픽 어댑터는 실제로 표시되는 이미지 (비트 맵)를 관리합니다.
  • 기본적으로 모든 것이 내부 그래픽 어댑터에 렌더링됩니다
  • GPU 가속 응용 프로그램은 개별 그래픽 어댑터를 사용하며 출력은 내부 그래픽 어댑터로 복사됩니다
  • 각 외부 모니터에 대해 내부 그래픽 어댑터는 "가상"디스플레이를 제공합니다
  • 외부 모니터로의 출력은 두 번째 X 서버를 사용하여 발생하며 "가상"디스플레이의 내용이 두 번째 X 서버로 지속적으로 복사됩니다

다른 솔루션에 비해 가장 큰 장점 은 모든 디스플레이가 동일한 X 세션의 일부로 보이는 것이므로 디스플레이간에 창을 자유롭게 이동할 수 있습니다.

지금까지 성능 저하가없는 것으로 나타났습니다.

명령

다음을 수행해야합니다.

  • PPA에서 Bumblebee 설치
  • 맞춤형 인텔 비디오 드라이버 제작 및 설치
  • 작은 프로그램을 다운로드, 컴파일 및 설치
  • 두 개의 구성 파일 편집
  • 여러 번 재부팅

대부분의 작업에는 터미널, 텍스트 편집기 및 루트 액세스 ( sudo) 가 필요합니다 . 자세한 지침은 다음과 같습니다.

땅벌 설치

지침 의 "기본 설정"섹션을 따르십시오 . 루트로 실행하면 마지막 명령이 실제로 재부팅을 시작합니다.

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 만 해당)

루트로 다음을 실행하십시오.

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

옵션 2 : 자체 패키지 빌드 및 설치

에 대한 최신 패치 를 선택하십시오 xserver-xorg-video-intel. 파일을 클릭하고 "원시"버튼을 클릭 한 후 브라우저에서 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의 포크 와 종속성을하고 컴파일.

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)

  • 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. bumblebee / bbswith로 비활성화 된 nvidia
  3. pm-utils로 추가 튜닝

네, 이것이 기본 배터리입니다. 따라서 2 시간 동안 쉽게 얻을 수 있습니다.

(2) /etc/X11/xorg.conf에서 nvidia 드라이버에 대해 "ConnectedMonitor"옵션 "DFP-0"을 사용해보십시오.

(3) 두 번째 디스플레이를 사용하려면 수정 된 bumblebee xorg.conf가 필요합니다 . 자세한 내용 은 https://github.com/Bumblebee-Project/Bumblebee/issues/77 을 참조하십시오.


1
대답 해줘서 고마워. 두 번째 (DVI) 화면을 사용하고 있지 않다는 것을 알았습니까? 솔직히 말하면 : 나는 당신이 관련된 문제를 해결하는 것이 놀랍도록 복잡하다는 것을 알았습니다. 나는 확실히 시도 할 것이지만, 내가 무엇을 바꾸어야하는지 (그리고 왜) 해야하는지 약간의 아이디어가 생길 때까지 몇 시간이 걸릴 것입니다. 사실, 이것은 업무용 랩톱이며 작동하기를 원합니다. 두 번째 디스플레이를 연결하는 것과 같은 작업으로 인해 일주일 전에는 들어 보지 못한 소프트웨어의 공개 문제를 쫓아 갈 수 없기를 바랍니다. :-(
jan groth

github 이슈에서와 같이 정말 간단합니다. /etc/bumblebee/xorg.conf.nvidia에서 줄 (개행) 옵션 "UseEDID" "false"(개행) 옵션 "ConnectedMonitor" "DFP"(개행)를 제거하고 디스플레이 포트에서 출력을 생성합니다. 처음에는 빈 그림이 나타납니다. export DISPLAY = : 8.0 (newline) xterm으로 xterm을 얻을 수 있습니다. (wtf 여기에 Enter 키를 누르면 줄 바꾸기 대신 주석을 제출합니다)
Anonymous Coward

2

유형 4438 도킹 스테이션과 함께 직장에서 T420을 사용합니다. 도킹 스테이션의 DVI 포트를 사용하여 메인 모니터없이 2 개의 와이드 스크린 모니터 (메인 모니터 제외) 또는 1 개의 와이드 스크린 모니터를 사용할 수 있습니다.

방금 옵티머스를 비활성화하고 항상 NVIDIA 카드를 사용하도록 설정했습니다. 그런 다음 nvidia-xconfig를 실행하고 nvidia 설정을 사용하여 이중 모니터를 설정하고 xorg.conf 파일에 설정을 저장 한 다음 컴퓨터를 재부팅했습니다.

이 방법으로 배터리 수명을 2 시간 이상 연장 할 수 있습니다 (배터리 수명을 연장하기 위해 다른 수정없이). 내가 가지고있는 주요 문제는 도킹 스테이션에서 재부팅하거나 도킹 스테이션에서 제거 할 때 자동으로 하나의 모니터로 전환되지 않는다는 것입니다. 나는 이것을 조사 할 시간이 없었습니다.

이번 주 후반에 Bumble Bee를 사용하여 작동하는지 확인할 수 있습니다. 기능을 발휘할 수 있다면 여기에 게시하는 것을 기억할 것입니다.


2

나는 같은 문제를 가지고있다. 나는 약간의 연구를 수행하고 부분적으로 해결했습니다. 아직 완전한 솔루션을 개발 중입니다.

하드웨어 : Nvidia 4200M + Intel HD 3000 그래픽 Thinkpad 도크가있는 Thinkpad T420.

증상 : T420이 도크의 DVI 포트에 연결된 외부 디스플레이를 인식 할 수 없습니다. 도크의 VGA 포트를 통해 외부 디스플레이를 인식 할 수 있습니다. 그러나 품질이 좋지 않습니다.

근본 원인 : 1. T420s에는 Nvidia 카드가 DVI 포트에 연결되고 Intel 카드는 Dock의 VGA 포트에 연결됩니다. 2. Win 7과 달리 Ubuntu는 Nvidia 카드와 Intel 카드간에 전환 할 수 없습니다. 기본적으로 인텔 카드 만 사용됩니다.

해결 방법 : 0. T420을 도킹하고 외부 디스플레이를 DVI 포트에 연결하십시오. 1. BIOS로 이동하여 "디스플레이"를 찾은 다음 구성을 "Discrete Card"및 "Disable Nvidia Optimus"로 변경하십시오. 이제 T420s는 Nvidia 카드를 사용해야합니다. 2. Linux 용 Nvidia 드라이버를 다운로드하여 설치하십시오. 구글에 대한 자세한 지침. 3. 설치 후 "sudo nvidia-settings"를 수행하십시오. 4. "X 서버 디스플레이 구성"팝업 창에서 "디스플레이 감지"를 클릭하십시오. 이제 외부 디스플레이를 볼 수 있습니다. 5. 같은 페이지에서 Configuration을 "TwinView", Resolution "Auto"또는 T420의 기본 해상도 (예 : 1600x900)로 변경하십시오. 6. "적용"을 클릭하면 외부 디스플레이 데스크탑을 볼 수 있습니다. 7. "X 구성 파일로 저장"을 클릭하십시오.

[최신 정보]

disper를 사용하여 T420s 디스플레이와 외부 디스플레이를 수동으로 토글 할 수 있습니다. 여전히 최고의 솔루션은 아니지만 나에게 충분하다고 생각합니다.

따라서 Nvidia 개별 그래픽 + 분산 조합을 사용해보십시오.


... 이산 카드 문제는 ... 정말 빨리 배터리를 소모한다는 것입니다
얀 그로스

여기에 설명 된 방법을 사용하여 nvidia 옵티머스 모드에서 디스플레이 포트를 사용할 수 있어야합니다. zachstechnotes.blogspot.com/2012/04/post-title.html 이렇게 하면 배터리 수명이 길어지고 디스플레이 포트 (인텔 카드로 렌더링하므로 품질이 원하는만큼 좋지 않을 수 있음)
Zach

1

T520의 VGA 출력은 통합 그래픽 (Intel BIOS 설정)을 사용하여 훌륭하게 (흐리게) 작동하지 않지만 1920x1200 모니터를 1600 픽셀 만 표시하도록 설정해야 양쪽에 검은 색 줄무늬가 나타납니다. 이 설정이 없으면 모니터가 1920 화면 전체에 1600 픽셀을 늘린 다음 흐리게 보입니다.

나는 물었다 며칠 전 비슷한 질문을 했고이 답변에 혼란스러워합니다. @Anonymous Coward는 외부 모니터 만 실행하는 것처럼 보이지만 OP (및 OP)는 랩톱 디스플레이 (인텔) 및 DisplayPort / DVI (nvidia)를 통해 외부 모니터를 실행할 수 있기를 원합니다. 따라서 Optimus / Bumblebee가 필요할 수 있습니다.

이 디스플레이 문제를 파악하면 내 결과를 확실히 게시 할 것입니다. 결승선에 먼저 도달하면 동일한 작업을 수행하십시오.


1
대답 해줘서 고마워! 외부 모니터의 해상도를 1600x1200으로 낮추면 디스플레이가 더 나빠질 것입니다 ... BTW, 나는 디스플레이 제조업체에 희미 함을 비난합니다. 오늘날 아날로그 입력 소스의 표준이 매우 낮다는 몇 가지 이야기를 들었습니다. 디지털 연결을 사용합니다. 아, 그리고 나는 확실히이 티켓을 계속 업데이트 할 것입니다.
jan groth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.