Ubuntu 14.10 और बाद में: यह बहुत, बहुत सरल है। कृपया इस उत्तर और मेरी टिप्पणी को नीचे देखें।
नोट : यह केवल Ubuntu 13.04 में काम करता है। 13.10 में कुछ अंतर हैं।
मैं Ubuntu 13.04 पर अपने थिंकपैड T430 के लिए दो बाहरी मॉनिटर (बिल्ट-इन पैनल के अलावा) को ऑप्टिमस ("स्विचेबल ग्राफिक्स") सक्षम (आपकी सूची में विकल्प 3) से जोड़ने में कामयाब रहा। मॉनिटर डीवीआई इंटरफ़ेस के माध्यम से जुड़े हुए हैं, उनमें से एक को घुमाया गया है। अन्य समाधानों के विपरीत, सभी मॉनिटर एक ही विंडो मैनेजर से जुड़े होते हैं, इसलिए मॉनिटर के बीच विंडो को स्वतंत्र रूप से स्थानांतरित किया जा सकता है। यदि डिस्कनेक्ट हो और कनेक्टेड हो तो बाहरी मॉनिटर का उपयोग करके यह बढ़ी हुई बैटरी लाइफ के लक्ष्य को प्राप्त करता है।
यहाँ महत्वपूर्ण विचार है:
- आंतरिक ग्राफिक्स एडाप्टर छवि (बिटमैप) के प्रबंधन के लिए जिम्मेदार है जो वास्तव में प्रदर्शित होता है
- डिफ़ॉल्ट रूप से, सब कुछ आंतरिक ग्राफिक्स एडाप्टर पर प्रदान किया जाता है
- GPU त्वरित अनुप्रयोगों असतत ग्राफिक्स एडाप्टर का उपयोग करता है, आउटपुट को आंतरिक ग्राफिक्स एडाप्टर में कॉपी किया जाता है
- प्रत्येक बाहरी मॉनिटर के लिए, आंतरिक ग्राफिक्स एडेप्टर एक "वर्चुअल" डिस्प्ले प्रदान करता है
- बाहरी मॉनिटर पर आउटपुट एक दूसरे एक्स सर्वर का उपयोग करके होता है, "वर्चुअल" डिस्प्ले से सामग्री लगातार दूसरे एक्स सर्वर पर कॉपी की जाती है
अन्य समाधानों में प्रमुख लाभ यह है कि सभी डिस्प्ले एक ही एक्स सेशन के भाग हैं (प्रतीत होता है), इसलिए आप डिस्प्ले के बीच स्वतंत्र रूप से विंडोज़ को स्थानांतरित कर सकते हैं।
अब तक मैंने देखा कि कोई प्रदर्शन जुर्माना नहीं है।
अनुदेश
आपको निम्नलिखित करने की आवश्यकता है:
- एक पीपीए से भौंरा स्थापित करें
- कस्टम इंटेल वीडियो ड्राइवर बनाएं और इंस्टॉल करें
- डाउनलोड करें, संकलन करें और अंत में एक छोटा प्रोग्राम इंस्टॉल करें
- दो कॉन्फ़िगरेशन फ़ाइलों को संपादित करें
- कई बार रिबूट
अधिकांश कार्यों के लिए आपको एक टर्मिनल, एक टेक्स्ट एडिटर और रूट एक्सेस ( 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: मेरे पीपीए से इंस्टॉल करें (वर्तमान में केवल Ubuntu 13.04)
निम्नलिखित को रूट के रूप में निष्पादित करें:
add-apt-repository ppa:krlmlr/ppa
apt-get update
apt-get install xserver-xorg-video-intel
विकल्प 2: अपना खुद का पैकेज बनाएं और इंस्टॉल करें
सबसे हाल ही में चुनें पैच के लिए xserver-xorg-video-intel
। फ़ाइल पर क्लिक करें, "रॉ" बटन पर क्लिक करें, ब्राउज़र में यूआरएल को कॉपी करें। लेखन के समय, यह 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
प्रत्यय) और मूल उबंटू संस्करण दिखाना चाहिए ।
दोनों विकल्पों के लिए, 13.04 के लिए आवश्यक है
निम्नलिखित को अपने में जोड़ें /etc/X11/xorg.conf
, यदि आवश्यक हो तो बनाएं:
Section "Device"
Identifier "intel"
Driver "intel"
Option "AccelMethod" "uxa"
Option "Virtuals" "2"
EndSection
दोनों विकल्पों के लिए मान्यता (2)
रिबूट के बाद, xrandr
एक टर्मिनल में चलाएं । आउटपुट को दो अतिरिक्त वर्चुअल डिस्प्ले को सूचीबद्ध करना चाहिए।
डाउनलोड करें और स्क्रेंक्लोन का निर्माण करें
पुएत्ज़क को स्क्रेंक्लोन और इसकी निर्भरता के कांटे प्राप्त करें , और इसे संकलित करें।
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
रीबूट
परिक्षण
मेरा सेटअप डॉकिंग स्टेशन के पहले डीवीआई पोर्ट से जुड़ा एक लैंडस्केप मॉनिटर और दूसरा डीवीआई पोर्ट से जुड़ा एक पोर्ट्रेट मानता है। निर्देशिका से एक टर्मिनल में निम्नलिखित कमांड चलाएं जहां स्क्रेंक्लोन स्थित है , आवश्यक रूप से अनुकूलित करें।
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
अपने कॉन्फ़िगरेशन के अनुरूप स्क्रिप्ट संपादित करें ।
संदर्भ
मेरा जवाब काफी हद तक निम्नलिखित संसाधनों से है: