Layar eksternal dengan Bumblebee

14

Saya mencoba menghubungkan monitor eksternal saya (melalui kabel VGA) ke laptop saya, menggunakan Bumblebee dan konfigurasi Optimus.

Saya memiliki Lenovo W520, dengan Intel GMA HD 3000 dan Nvidia Quadro 2000M. BIOS memiliki tiga opsi mengenai kartu grafis - terintegrasi, diskrit, dan Optimus.

Kasingnya sangat sederhana. Untuk bekerja, saya hanya menggunakan kartu terintegrasi dan layar laptop; ketika saya menonton film, saya ingin menggunakan proyektor saya. Sekarang, apa yang harus saya lakukan dalam kasus ini adalah:

  • reboot
  • mulai windows
  • menonton film

Terima kasih kepada Bumblebee, sekarang saya dapat menjaga pengaturan selalu seperti Optimus.

Sebelum BB, saya harus mengubah pengaturan BIOS setiap kali saya ingin menonton film, karena bahkan di windows, menggunakan grafik terintegrasi menyebabkan proyektor tidak terdeteksi oleh sistem (saya kira ini adalah apa yang mereka maksud dengan "bawaan" output ", dan bahwa output VGA tertanam pada kartu diskrit).

Sekarang, yang ingin saya lakukan adalah untuk dapat menghubungkan monitor eksternal tanpa harus mengganti O / S, yaitu menggunakannya di Ubuntu.

Apa itu mungkin?

Saat ini, jika saya ingin menggunakan monitor eksternal pada Ubuntu, satu-satunya pilihan adalah mengubah BIOS untuk menggunakan grafik diskrit, kemudian gunakan nvidia-settings.

Jika saya menggunakan pengaturan Optimus, bahkan ketika saya menjalankannya menggunakan "optirun nvidia-settings -c: 8", saya tidak mendapatkan opsi apa pun untuk monitor eksternal.

Adakah yang bisa saya lakukan?

Marcus
sumber

Jawaban:

8

Saya punya W520. Pengaturan ini tidak sama dengan T420 - output VGA disambungkan ke kartu nvidia, jadi tautan "ini" dari Samsagax tidak akan berfungsi. Saya sudah menyiapkan posting blog di sini menguraikan opsi yang Anda miliki. Saya tidak bisa mendapatkan monitor eksternal untuk bekerja dengan Bumblebee, dan saya tidak percaya itu mungkin dengan W520. Namun, Anda dapat menggunakan monitor extenal dalam mode optimus, tetapi Anda harus menggunakan xinerama atau membuka layar X terpisah pada monitor extenal.

Zach
sumber
3
Berikut adalah solusi baru yang mungkin akan lebih baik bagi kebanyakan orang - Anda bahkan tidak perlu keluar dari X untuk menggunakan layar / proyektor eksternal: zachstechnotes.blogspot.com/2012/04/post-title.html Semua render dilakukan pada kartu intel dan kemudian data tersebut dibuang ke perangkat nvidia untuk output ke tampilan eksternal
Zach
4

(dialihkan dari daftar linux-hybrid-graphics)

Saya memiliki Thinkpad T420 yang mungkin serupa (tetapi mungkin tidak).

Di T420 saya, VGA terpasang ke Intel dan Display-Port terpasang ke NVIDIA. Jadi untuk output VGA saya bisa menggunakan xrandr yang biasa .

Display-Port adalah cerita yang berbeda. Untuk itu saya harus mengubah xorg.conf dari bumblebee di /etc/bumblebee/xorg.conf.nvidia :

Opsi ConnectedMonitordari DFP(default) ke DP1untuk DisplayPort.

Pengecut Anonim
sumber
1
Apakah DP1 benar-benar bekerja untuk Anda? Menurut unduhan.nvidia.com/XFree86/Linux-x86_64/290.10/README/… , satu-satunya nilai yang valid adalah CRT, DFPdan varian yang dipisahkan koma. Apakah mengubahnya CRTberfungsi juga?
Lekensteyn
3

Versi terbaru dari driver Intel termasuk program yang disebut intel-virtual-outputyang sangat menyederhanakan pengaturan tampilan ganda dan tiga pada W520.

The intel-virtual-outputperintah menyediakan cara untuk server X pada kartu Intel untuk duplikat layar ke server X yang lain. Itu terlihat pada layar yang tersedia pada layar jarak jauh dan menyajikannya di server Intel X sebagai VIRTUAL1, VIRTUAL2, dll.

Skrip berikut (jalankan sebagai root) berfungsi untuk saya, tetapi kemungkinan besar Anda perlu mengubah beberapa hal:

#!/bin/sh

# Power on the nvidia card with bumblebee.
modprobe bbswitch
echo ON > /proc/acpi/bbswitch

# Run X display :8 on the nvidia card.
optirun true

# Tell the intel card to create virtual screens on :0 and
# copy whatever they're displaying to equivalent screens on :8
intel-virtual-output

# Configure my monitors the way I like them.
xrandr --output VIRTUAL3 --auto
xrandr --output VIRTUAL1 --auto --right-of VIRTUAL3
xrandr --output LVDS1 --off

Pengaturan ini memungkinkan kabel DisplayPort ke DVI (VIRTUAL3) saya di sebelah kiri dan VGA (VIRTUAL1) di sebelah kanan. Ini juga menonaktifkan layar laptop.

Perhatikan bahwa karena ini hanyalah layar virtual dari driver, secara teori alat konfigurasi tampilan GUI Anda harus dapat mengetahuinya setelah Anda menjalankannya intel-virtual-output.

Dalam praktiknya, alat konfigurasi tampilan di xubuntu tidak benar-benar melakukan hal-hal yang koheren. Itu sebabnya xrandrperintah - perintah itu ada di sana. Jika Anda menjalankan gnome atau kde, ada baiknya mencoba alat GUI sebelum mengacaukannya xrandr. Kalau tidak, sebelum Anda menjalankan ini, Anda mungkin ingin mengubah beberapa hal untuk pengaturan apa pun yang sebenarnya Anda gunakan. Menjalankan hanya xrandrmemberi tahu Anda tampilan apa yang saat ini terhubung. Anda dapat menghubungkan dan memutuskan monitor Anda untuk melihat colokan mana yang terhubung dengan tampilan VIRTUAL [0-9]. Layar laptop adalah LVDS1. Maka itu hanya masalah melakukan xrandrperintah dengan --right-of, --left-of, --below, dll untuk mendapatkan sesuatu di tempat yang tepat.

Saat Anda ingin kembali menggunakan ponsel, Anda dapat menjalankan ini (lagi, sebagai root):

#!/bin/sh

# Turn on the laptop screen.
xrandr --output LVDS1 --auto

# Turn off my the other screens.
xrandr --output VIRTUAL1 --off
xrandr --output VIRTUAL3 --off

# Kill the xorg server running on the nvidia card.
kill $(ps ax | grep Xorg | grep :8 | awk '{print $1}')

# Wait plenty of time for it to die.
sleep 5

# Remove the nvidia kernel module so we can shut down the card.
# If you're running another driver this might be something different.
rmmod nvidia

# Use bumblebee to turn off the nvidia card and save power.
echo OFF > /proc/acpi/bbswitch

Saya menjalankan xubuntu 14.04 menggunakan driver nvidia versi proprietary 337.25. Saya juga mendapat paket lebah dari https://launchpad.net/~bumblebee/+archive/ubuntu/stable .

Menariknya, pengaturan ini adalah kebalikan dari pengaturan Optimus yang biasa. Biasanya Anda selektif menjalankan program pada kartu nvidia dan menyalin buffer dari kartu nvidia ke kartu intel yang sebenarnya berbicara ke monitor. Dalam hal ini Anda menjalankan semua yang ada di kartu intel dan menyalin buffer layar yang relevan ke kartu nvidia.

Jika Anda bertanya-tanya, ya, ini membuatnya sulit untuk menjalankan aplikasi akselerasi nvidia. Saya belum menemukan cara untuk membuat game berkinerja baik, dan bahkan dengan video HD melambat dari waktu ke waktu. Bahkan tampaknya tidak buffering ganda karena Anda mendapatkan pemindaian top-down kiri-kanan yang terlihat setelah memutar video resolusi cukup tinggi untuk sementara waktu. Yang mengatakan, sebagian besar proyektor mungkin akan baik-baik saja.

Hans
sumber
Perhatikan bahwa jawaban saya pada dasarnya sama dengan @ Zach, kecuali menggunakan intel-virtual-output yang dikirimkan dengan driver default daripada menggunakan patch kustom dan hybrid-screenclone. Strateginya persis sama, tetapi ini jauh lebih sedikit usaha dan dalam pengalaman saya benar-benar bekerja pada versi ubuntu yang lebih baru. Terima kasih Zach untuk mendokumentasikan strategi yang membuat ini berhasil.
Hans
1
Kredit juga masuk ke unixreich.com/blog/2013/...
Hans
Mengedit xorg.conf.nvidiaseperti pada referensi Anda diperlukan bagi saya di Ubuntu 14.10 (khususnya, saya perlu berkomentar UseEDIDdan UseDisplayDevice). Namun, saya tidak perlu menggunakan PPA (Bumblebee dari Ubuntu berfungsi dengan baik) dan saya juga tidak memerlukan skrip untuk memulai dan menghentikan pengaturan multi-monitor - cukup memulai atau membunuh intel-virtual-output karena pengguna biasa bekerja untuk saya. (Ini dijalankan optirunsesuai kebutuhan.) Bisakah Anda mengonfirmasi?
krlmlr
Apakah Anda menggunakan GUI untuk mengatur layar? Mungkin masalah itu adalah masalah xubuntu. Saya harus mencoba hal-hal lain ketika saya mendapat kesempatan.
Hans
Ya, GUI berfungsi untuk mengatur layar.
krlmlr
0

Mungkin coba ini .

Tetapi tergantung pada pemasangan kabel.

Samsagax
sumber
1
Selamat Datang di Tanya Ubuntu! Meskipun ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Michael Martin-Smucker