Linux'ta çoklu monitör / çoklu GPU için donanım hızlandırmayı ve Xinerama'yı etkinleştirme


10

Geçerli kurulumum şu şekilde bağlanmış üç monitör (soldan sağa listelenen monitörler):

GPU0 (nVidia GTX 280):
- Dell 2405FPW (1920x1200)
- Dell U2410 (1920x1200)
GPU1 (nVidia 210):
- Dell 2405FPW (1920x1200)

Windows 7'de cazibe gibi çalışır, Linux'ta çok fazla değil. Sadece üç gerçek seçeneğim var:

  1. Üç monitörü de ayrı bir X ekranı olarak çalıştırın, donanım hızlandırması alıyorum, ancak hepsi bağımsız X oturumları olduğu için pencereleri aralarında taşıyamıyorum ve herhangi bir zamanda yalnızca bir tane Firefox'u açabiliyorum.
  2. İkisini GPU0'da TwinView modunda çalıştırın ve ayrı bir X ekranı olarak GPU1'e sahip olun. 1 ile aynı sınırlama ancak en az iki monitör birlikte çalışır tamam. Ancak Linux'un GPU0'daki her iki monitörü de tek bir büyük monitör olarak gördüğü bir sorunum vardı.
  3. Xinerama'yı etkinleştirin ve her şeyin istediğim gibi çalışmasını sağlayın, ancak donanım hızlandırma gitti ve ekran Windows 95 stili dalgalı.

İdeal çözümüm, donanım hızlandırmasını devre dışı bırakma sınırlaması olmadan tüm ekranların Xinerama altında olduğu gibi çalışmasıdır. Bunun üçünü de GPU0'da işlemek ve bir şekilde üçüncü monitörün ekranını ne olursa olsun GPU1'e dönüştürmek anlamına gelmiyor bile.

Benim sorum şudur: Bunu başarmanın bir yolu var mı? Benim kullanım durumum o kadar dışarıda gibi hissetmiyorum (en azından bir şekilde sunulan üç sınırlı seçeneğin ötesinde) bir destek olmamalı, ya da en iyi seçeneğim sadece emmek ve almak olacak çıkışları kendi başlarına halledebilecek ikisini değiştirmek için daha iyi bir kart?


1
Does bu sorunuza cevap?
Naftuli Kay

Yanıtlar:


1

Bu, aynı tür kurulum için XFCE ile Linux Mint üzerinde yaptığım bir komut dosyasıdır. Xinerama kullanmamak. Kurulumum 1. monitör portresi, 2. ve 3. manzara idi. Bir cazibe gibi çalıştı. Başlangıçtaki 5 saniyelik duraklama, oturumla başlayacak şekilde ayarlanmış olması ve çok erken çalıştırılması durumunda düzgün çalışmıyor olmasıydı.

Özel örneğimde, ekranları bir diğerinden daha yüksek olduğu için hizalamak zorunda olduğumu da unutmayın. En üste hizalamak beklenen davranışı vermiyordu.

Sonunda, istediğim gibi çalışmasını sağlamanın tek yolu xrandr kullanmaktı.

Kendi ayarlarınızla deneyin

#!/bin/bash
sleep 5
xrandr --size 5040x1920 --output HDMI-0 --mode 1920x1080 --pos 1200x840 --primary \
--output DVI-1-1 --mode 1920x1080 --pos 3120x840 \
--output DVI-0 --mode 1920x1200 --pos 0x0 --rotate left

Blogumda bir makale yaptım, ancak bu Fransızca: https://akim.sissaoui.com/linux-attitude/un-bureau-etendu-sur-trois-ecrans-avec-deux-cartes-graphiques/


0

Temel olarak kendine cevap verdin. Linux şu anda mümkün değil çünkü Linux birden fazla GPU için uygun bir desteğe sahip değil.

Google Kod Yazımı için bir proje olarak Linux için birden fazla GPU desteği önerilmiştir . Ama bana sorarsanız, yakında herhangi bir zamanda prime-time için hazır olma ihtimali çok düşük.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.