Mój Lenovo T420S ma dyskretną kartę graficzną z technologią NVIDIA Optimus. W zasadzie staram się osiągnąć:
- użyj drugiego wyświetlacza - podłączonego przez DVI / rzutnię - w pracy (VGA jest rozmyte)
- osiągnąć umiarkowaną do dobrej wydajności baterii podczas podróży (2 godziny)
O ile się domyśliłem, mam następujące opcje:
- wyłącz Optimus, używaj wyłącznie grafiki wewnętrznej
- wyłącz Optimus, używaj wyłącznie nvidii
- włącz Optimus, użyj bumblebee ( strona główna ) / ironhide
(1) dyskwalifikuje, gdy czytam (i doświadczyłem), że DVI / rzutnia nie jest technicznie użyteczna przez wewnętrzną grafikę
(2) do tej pory nie próbowałem, po prostu szybka instalacja testowa, która uruchomiła się na czarnym ekranie po dodaniu sterowników NVIDIA :-(
(3) śledził tego bloga , używał trzmiela zamiast ironhide. Trzmiel zadziałał (widzę imponujące FPS na glxgears), ale nie udało mi się rozpoznać drugiego wyświetlacza . Czułem się zagubiony w piekle nvidia-driver-hell i nie miałem szansy uruchomić nvidia-xconfig, po prostu dlatego, że nie został zainstalowany. Nie masz pojęcia, czy drugi wyświetlacz ma być rozpoznawany po wyjęciu z pudełka? Czy muszę zainstalować więcej? Czy muszę zadzierać z moim xorg.conf? Wiele pytań, kilka odpowiedzi.
Co mogę zrobić, aby osiągnąć swoje cele? Którą ścieżkę podążać i jakie są kolejne kroki?
Wszelkie wskazówki są mile widziane :-)
Aktualizacja : Dziękujemy wszystkim, którzy odpowiedzieli. Przeprowadzę migrację środowiska pracy do instalacji „dyskretnej” i będę używać projektu „optimus / bumblebee” jako projektu równoległego i zobaczę, jak daleko się posunę ... W nowych wątkach opublikuję przyszłe pytania.
źródło
Udało mi się podłączyć dwa zewnętrzne monitory (oprócz wbudowanego panelu) do mojego ThinkPada T430 na Ubuntu 13.04, z włączoną opcją Optimus („Przełączalna grafika”) (opcja 3 na liście). Monitory są podłączone przez interfejs DVI, jeden z nich jest obrócony. W przeciwieństwie do innych rozwiązań, wszystkie monitory są podłączone do tego samego menedżera okien, dzięki czemu okna można swobodnie przenosić między monitorami. Osiąga to cel polegający na zwiększeniu żywotności baterii w przypadku odłączenia i użyciu zewnętrznych monitorów, jeśli są podłączone.
Kluczową ideą tutaj jest:
Główną zaletą w porównaniu z innymi rozwiązaniami jest to, że wszystkie wyświetlacze są (pozornie) częścią tej samej sesji X, dzięki czemu można swobodnie przenosić okna między wyświetlaczami.
Do tej pory nie zauważyłem żadnej utraty wydajności.
Instrukcje
Musisz wykonać następujące czynności:
Do większości działań potrzebny jest terminal, edytor tekstu i dostęp do konta root (
sudo
). Szczegółowe instrukcje podano poniżej.Zainstaluj Bumblebee
Postępuj zgodnie z sekcją „Konfiguracja podstawowa” instrukcji . Wykonaj jako root, ostatnie polecenie faktycznie inicjuje ponowne uruchomienie:
Czy nie próbujesz uruchomić trzmiela tylko z nowym sterownikiem? . Z mojego doświadczenia wynika, że to nie działa, przynajmniej nie w tej konfiguracji.
Uprawomocnienie
Powinieneś być w stanie biec
optirun glxgears
.Zainstaluj łataną wersję
xserver-xorg-video-intel
Opcja 1: Zainstaluj z mojego PPA (obecnie tylko Ubuntu 13.04)
Wykonaj następujące czynności jako root:
Opcja 2: zbuduj i zainstaluj własny pakiet
Wybierz najnowszą łatkę dla
xserver-xorg-video-intel
. Kliknij plik, kliknij przycisk „Raw”, skopiuj adres URL w przeglądarce. W momencie pisania tego tekstu było to https://raw.github.com/liskin/patches/master/hacks/xserver-xorg-video-intel-2.20.14_virtual_crtc.patch .Sprawdzanie poprawności (1) dla obu opcji
Komenda
powinien pokazywać łataną wersję (
+virtual
sufiks) i oryginalną wersję Ubuntu.Niezbędny do 13.04, dla obu opcji
Dodaj następujące elementy do
/etc/X11/xorg.conf
, w razie potrzeby utwórz:Sprawdzanie poprawności (2) dla obu opcji
Po ponownym uruchomieniu uruchom
xrandr
w terminalu. Dane wyjściowe powinny zawierać dwa dodatkowe wirtualne wyświetlacze.Pobierz i zbuduj screenclone
Pobierz rozwidlenie puetzk z screenclone i jego zależności i skompiluj je.
Uprawomocnienie
Plik
screenclone
istnieje i jest wykonywalny. (Jednak nie będzie jeszcze działać.)Edytować
xorg.conf.nvidia
/etc/bumblebee/xorg.conf.nvidia
w edytorze tekstu jako rootUseEDID
lubUseDisplayDevice
Section "ServerLayout"
dodaj wpisScreen "Screen0"
Na dole pliku dodaj:
Restart
Testowanie
Moja konfiguracja zakłada monitor poziomy podłączony do pierwszego portu DVI stacji dokującej i portretu podłączonego do drugiego portu DVI. Uruchom następujące polecenia w terminalu z katalogu, w którym znajduje się screenclone , w razie potrzeby dostosuj.
Zwróć uwagę, jak obrót wyświetlacza musi być zdefiniowany dwukrotnie. Możesz pominąć drugie wywołanie,
xrandr
jeśli rotacja nie jest pożądana (i oczywiście--rotate left
przy pierwszym wywołaniu).Po zakończeniu
screenclone
z Ctrl + C (który został ponownie umieszczony na pierwszym planie za pomocąfg
) dyskretna karta graficzna zostaje wyłączona. Możesz to zweryfikować za pomocącat /proc/acpi/bbswitch
. Mimo to miejsce na ekranie jest zarezerwowane dla dwóch odłączonych teraz monitorów. Aby przełączyć się z powrotem tylko na wyświetlacz laptopa, użyjSprzątać
Skopiuj
screenclone
do katalogu, który znajduje się wPATH
(np./usr/local/bin
)Utwórz
bash
skrypt, aby zautomatyzować uruchamianie i zamykanie zewnętrznych wyświetlaczy. Ten skrypt skonfiguruje zewnętrzne wyświetlacze przy uruchomieniu i przełączy się na wyświetlacz laptopa tylko przy wyjściu (np. Naciskając Ctrl + C).Opcja alternatywna: Moja kolekcja skryptletów zawiera dwa skrypty,
extmon-start
orazextmon-stop
, że włączanie i wyłączanie drugi i trzeci monitor. Edytujextmon-start
skrypt, aby dopasować go do konfiguracji.Bibliografia
Moja odpowiedź w dużej mierze czerpie z następujących zasobów:
źródło
xorg-xserver-video-intel
sterownik podstawowy, nie trzeba używać mojego PPA ani łatki. Nie trzeba też edytowaćxorg.conf
, „wirtualne” CRTC są tworzone na żądanie. Reszta powinna być podobna. Istnieje teraz nawet narzędzie, które zastępujescreenclone
, nazywa sięintel-virtual-output
i integruje płynniej z konfiguracją wyświetlania pulpitu. Zrobię odpis, kiedy dostanę konfigurację trójgłowicy z rotacją, aby działała poprawnie.xrandr --newmode
;cvt
narzędzie pomaga w obliczeniu modeliny) i przypisać go do wirtualnego wyświetlacza (xrandr --addmode
). Tryb powinien odpowiadać trybowi rzeczywistego wyświetlacza. Sprawdź, czy drugi wirtualny wyświetlacz jest tworzony automatycznie. Tointel-virtual-output
samo robi samo narzędzie i wygląda na to, że ostatnie problemy zostały naprawione lub będą niedługo.Nie wiem o T420S, ale mój T420 może pracować z 9 godzinami
I tak, to jest domyślna bateria. Powinieneś więc z łatwością dostać 2 godziny, więc:
(2) W /etc/X11/xorg.conf Wypróbuj z opcją „ConnectedMonitor” „DFP-0” dla sterownika nvidia.
(3) Aby użyć drugiego wyświetlacza, potrzebujesz zmodyfikowanego trzmiela xorg.conf Zobacz szczegóły na https://github.com/Bumblebee-Project/Bumblebee/issues/77 .
źródło
Używam T420 w pracy ze stacją dokującą typu 4438. Jestem w stanie używać dwóch monitorów szerokoekranowych (bez głównego monitora) lub 1 monitora szerokoekranowego z głównym monitorem za pomocą portów DVI na stacji dokującej.
Właśnie wyłączyłem optymus i ustawiłem go tak, aby zawsze używał karty NVIDIA. Następnie uruchomiłem nvidia-xconfig i użyłem ustawień nvidia do skonfigurowania podwójnych monitorów, zapisałem ustawienia w pliku xorg.conf i ponownie uruchomiłem komputer.
W ten sposób jestem w stanie uzyskać nieco ponad 2 godziny pracy na cieście (bez żadnych innych modyfikacji, które pozwoliłyby na dłuższą żywotność baterii). Główny problem, jaki mam, polega na tym, że nie przełącza się on automatycznie na jeden monitor po ponownym uruchomieniu od stacji dokującej lub usunięciu ze stacji dokującej. Nie miałem jednak czasu, żeby się tym przyjrzeć.
Będę próbował w tym tygodniu Bumble Bee, aby sprawdzić, czy uda mi się go uruchomić. Postaram się pamiętać, aby opublikować tutaj, jeśli mogę go uruchomić.
źródło
Mam ten sam problem. Przeprowadziłem badania i częściowo je rozwiązałem. Nadal pracuję nad kompletnym rozwiązaniem.
Sprzęt: Thinkpad T420 z Nvidia 4200M + stacja dokująca do grafiki Intel HD 3000 Thinkpad.
Objaw: T420 nie może rozpoznać zewnętrznego wyświetlacza podłączonego do dowolnego portu DVI w stacji dokującej. Może rozpoznać zewnętrzny wyświetlacz przez port VGA na stacji dokującej. Jednak jakość jest niska.
Główna przyczyna: 1. T420 ma kartę Nvidia podłączoną do portu DVI, a kartę Intel do portu VGA w stacji dokującej. 2. W przeciwieństwie do Win 7, Ubuntu nie może przełączać się między kartą Nvidia a kartą Intel. Domyślnie używana jest tylko karta Intel.
Rozwiązanie: 0. Umieść T420 w stacji dokującej i podłącz zewnętrzny wyświetlacz do portu DVI. 1. Przejdź do BIOS, znajdź „Display”, zmień konfigurację na „Discrete Card” i „Disable Nvidia Optimus”. Teraz T420s jest zmuszony używać karty Nvidii. 2. Pobierz i zainstaluj sterownik Nvidia dla systemu Linux. Google szczegółowe instrukcje. 3. Po instalacji wykonaj „sudo nvidia-settings”. 4. W wyskakującym oknie „X Server Display Configuration” kliknij „Detect Displays”. Teraz będziesz mógł zobaczyć zewnętrzny wyświetlacz. 5. Na tej samej stronie zmień Konfiguracja na „TwinView”, Rozdzielczość „Auto” lub natywną rozdzielczość T420, powiedzmy 1600x900. 6. Kliknij „Zastosuj”, aby wyświetlić zewnętrzny pulpit wyświetlacza. 7. Kliknij „Zapisz w pliku konfiguracji X”.
[Aktualizacja]
Korzystając z dispera, mogę ręcznie przełączać wyświetlanie T420 i wyświetlacza zewnętrznego. Nadal nie jest to najlepsze rozwiązanie, ale myślę, że jest dla mnie wystarczająco dobre.
Wypróbuj więc dyskretną grafikę Nvidii + połączenie dyspersji.
źródło
Wyjście VGA na moim T520 działa świetnie (nie jest rozmazane) przy użyciu zintegrowanej grafiki (ustawienie Intel BIOS), ale muszę ustawić monitor 1920x1200 tak, aby wyświetlał tylko 1600 pikseli szerokości, aby uzyskać czarne paski po obu stronach. Bez tego ustawienia monitor rozciąga się na 1600 pikseli na całym ekranie 1920 i tak, rzeczy wyglądają na rozmyte.
Kilka dni temu zadałem podobne pytanie i nadal nie rozumiem tych odpowiedzi. Wygląda na to, że @Anonymous Coward działa tylko na zewnętrznym monitorze, ale ja (i wierzę, że OP) chcę móc wyświetlać ekran laptopa (na platformie Intel) i monitor zewnętrzny przez DisplayPort / DVI (na nvidii). Myślę więc, że może być wymagany Optimus / Bumblebee.
Jeśli wymyślę ten problem z wyświetlaniem, z pewnością opublikuję moje odkrycia; zrób to samo, jeśli dotrzesz do mety jako pierwszy.
źródło