Kích hoạt khả năng tăng tốc phần cứng và Xinerama cho đa màn hình / đa GPU trong Linux


10

Thiết lập hiện tại của tôi là ba màn hình được kết nối như sau (màn hình được liệt kê từ trái sang phải):

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

Hoạt động như một nét quyến rũ trong Windows 7, không nhiều trong Linux. Tôi dường như chỉ có ba lựa chọn thực sự:

  1. Chạy cả ba màn hình dưới dạng màn hình X riêng biệt, tôi có khả năng tăng tốc phần cứng nhưng vì chúng đều là các phiên X độc lập nên tôi không thể di chuyển các cửa sổ giữa chúng và chỉ có thể mở firefox trên một màn hình bất kỳ lúc nào.
  2. Chạy cả hai trên GPU0 ở chế độ TwinView và có GPU1 dưới dạng màn hình X riêng biệt. Cùng giới hạn là 1 nhưng ít nhất hai màn hình hoạt động cùng nhau ok. Tôi đã có một vấn đề khi thỉnh thoảng Linux thấy cả hai màn hình trên GPU0 là một màn hình lớn duy nhất.
  3. Kích hoạt Xinerama và có mọi thứ hoạt động như tôi muốn nhưng khả năng tăng tốc phần cứng không còn nữa và màn hình hiển thị theo phong cách Windows 95.

Giải pháp lý tưởng của tôi là có tất cả các màn hình hoạt động như ở Xinerama mà không bị hạn chế việc tăng tốc phần cứng. Tôi thậm chí không quan tâm nếu điều đó có nghĩa là hiển thị cả ba trên GPU0 và bằng cách nào đó, hiển thị màn hình của màn hình thứ ba thành GPU1, bất cứ điều gì cũng hoạt động.

Câu hỏi của tôi là: có cách nào để thực hiện điều này? Tôi không cảm thấy như trường hợp sử dụng của mình ở ngoài đó nên không có ít nhất một số hình thức hỗ trợ (ngoài ba tùy chọn giới hạn được trình bày ở trên), hoặc là lựa chọn tốt nhất của tôi sẽ chỉ là hút nó lên và chọn lên một thẻ tốt hơn để thay thế cả hai có thể tự xử lý ba đầu ra?


1
Điều này có trả lời câu hỏi của bạn không?
Naftuli Kay

Câu trả lời:


1

Đây là tập lệnh tôi tạo trên Linux Mint với XFCE cho cùng loại thiết lập. Không sử dụng Xinerama. Thiết lập của tôi là chân dung màn hình thứ 1, thứ 2 và thứ 3, phong cảnh. Làm việc như người ở. Tạm dừng 5 giây khi bắt đầu là vì nó được đặt để bắt đầu với phiên và nếu nó được chạy quá sớm, thì nó không hoạt động chính xác.

Cũng lưu ý rằng trong ví dụ cụ thể của tôi, tôi phải căn chỉnh màn hình ở phía dưới vì màn hình cao hơn các màn hình khác. Căn chỉnh trên đầu đã không đưa ra hành vi dự kiến.

Cuối cùng, sử dụng xrandr là cách duy nhất tôi có được nó hoạt động theo cách tôi muốn.

Hãy thử với các cài đặt của riêng bạn

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

Tôi đã viết một bài viết trên blog của mình, tuy nhiên đây là tiếng Pháp: https://akim.sissaoui.com/linux-attitude/un-bureau-etendu-sur-trois-ecrans-avec-deux-cartes-graphiques/


0

Về cơ bản bạn đã tự trả lời. Điều này là không thể vào lúc này trong Linux vì Linux không có bất kỳ sự hỗ trợ thích hợp nào cho nhiều GPU.

Hỗ trợ nhiều GPU cho Linux đã được đề xuất như một dự án cho Mùa hè mã của Google. Nhưng điều đó rất khó có thể sẵn sàng cho thời gian chính sớm bất cứ lúc nào, nếu bạn hỏi tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.