우분투 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
테스팅
내 설정에서는 가로 모니터가 도킹 스테이션의 첫 번째 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
구성에 맞게 스크립트를 편집하십시오 .
참고 문헌
내 대답은 크게 다음 리소스에서 가져옵니다.