Увімкнення апаратного прискорення та Xinerama для декількох моніторів / декількох GPU в Linux


10

Моя поточна установка - це три монітори, підключені наступним чином (монітори перелічені зліва направо):

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

Працює як шарм в Windows 7, не так багато в Linux. У мене, здається, є лише три реальні варіанти:

  1. Запускаючи всі три монітори як окремий екран X, я отримую апаратне прискорення, але так як вони всі незалежні сесії X, я не можу переміщувати вікна між ними, і на будь-який момент можу відкрити лише один firefox.
  2. Запустіть два на GPU0 у режимі TwinView і мати GPU1 як окремий екран X. Те саме обмеження, що і 1, але принаймні два монітори працюють разом добре. У мене виникла проблема, коли час від часу Linux бачив обидва монітори на GPU0 як єдиний великий монітор.
  3. Увімкніть Xinerama і працюйте все так, як мені хочеться, але апаратне прискорення вже не працює, а дисплей Windows 95 стильний.

Моїм ідеальним рішенням було б, щоб усі екрани працювали так, як це роблять під Xinerama, без обмеження відключення апаратного прискорення. Мені навіть не байдуже, чи це означає надання всіх трьох на GPU0 і якимось чином переробляти показ третього монітора на GPU1, що б не працювало.

Моє запитання таке: чи є спосіб досягти цього? Я не відчуваю, що мій випадок використання є настільки там, що не повинно бути хоч якоїсь форми підтримки (за винятком трьох обмежених варіантів, представлених вище), або найкращим моїм варіантом буде просто висмоктати його та забрати краще карта, щоб замінити обидва, які можуть обробити три виходи самостійно?


1
Чи відповідає це на ваше запитання?
Naftuli Kay

Відповіді:


1

Це сценарій, який я створив на Linux Mint з XFCE для того ж типу налаштування. Не використовується Xinerama. У моїй установці був перший портрет монітора, 2-й та 3-й, пейзажний. Працював як шарм. Пауза на 5 секунд на старті полягала в тому, що вона була налаштована на початок із сеансу, і якщо вона була запущена занадто рано, вона не працювала коректно.

Зауважте також, що в моєму конкретному прикладі я повинен був вирівняти екрани внизу, оскільки один був вищим, ніж інші. Вирівнювання зверху не передбачає очікуваної поведінки.

Зрештою, використання xrandr було єдиним способом, як я змусив його працювати так, як я хотів.

Спробуйте спробувати власні налаштування

#!/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

Я написав статтю у своєму блозі, однак це французькою мовою: https://akim.sissaoui.com/linux-attitude/un-bureau-etendu-sur-trois-ecrans-avec-deux-cartes-graphiques/


0

Ви в основному відповіли самі. Наразі це не можливо в Linux, оскільки Linux не має належної підтримки для декількох графічних процесорів.

Підтримка декількох графічних процесорів для Linux запропонована як проект для Google Summer of Code. Але це дуже навряд чи буде готове до прем'єр -менту найближчим часом, якщо ви запитаєте мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.