Điểm:1

Làm cách nào để định cấu hình xorg.conf cho hai màn hình X trên một thẻ Nvidia?

lá cờ cn

mục tiêu

  • Mục tiêu của bài đăng này: Tìm ra những gì xorg.conf cấu hình là cần thiết để sử dụng từng màn hình kép của tôi làm màn hình X riêng biệt.
  • Mục tiêu trung gian cho bài đăng này: Tìm ra lý do tại sao tôi không thể khởi động X bằng sách hướng dẫn của mình xorg.conf cấu hình.
  • Chỉ số thành công: Khi nào tôi có thể ra mắt xeyes hoặc các ứng dụng X11 khác trong tập lệnh chỉ định chúng xuất hiện trên màn hình nào của tôi.
  • Mục đích cuối cùng: Để khởi động bộ chứa LXC GUI (có nghĩa là toàn màn hình) sao cho chúng xuất hiện ở chế độ toàn màn hình trên màn hình đã chọn. Tôi muốn có thể chia sẻ bàn phím và di chuyển con trỏ giữa các màn hình nhưng không di chuyển được các cửa sổ.

hệ thống của tôi

  • Máy chủ Ubuntu 20.04, card màn hình Nvidia GT 710. Người lái xe là nvidia-dkms-470-máy chủ. Các kết nối tôi đang sử dụng là HDMI và DVI.
  • Có các thẻ video khác hiện diện trên hệ thống, nhưng chúng được đặt bí danh và sẽ được sử dụng cho mục đích thông qua. Tôi không thấy lý do tại sao điều này lại có liên quan, nhưng trình điều khiển video đã làm tôi ngạc nhiên trước đây.

hành vi dự kiến:

  • Khi tôi chạy bắt đầu &, X sẽ bắt đầu bình thường và sau đó tôi có thể mở xeyes trên màn hình 0 hoặc 1 bằng cách sử dụng HIỂN THỊ=:0.0 hoặc HIỂN THỊ=:0.1 tương ứng.

Hành vi thực tế:

  • Tôi không thể khởi động X với thông báo "không tìm thấy màn hình".

  • Đánh giá bằng nhật ký, xf86OpenConsole có thể liên quan đến vấn đề, nhưng tôi không biết đó là gì.

  • Đây là Xorg.0.log sau khi tôi thử bắt đầu sudo &.

[ 3083.851] (II) Mô-đun nvidia: vendor="NVIDIA Corporation"
[ 3083.851] được biên dịch cho 1.6.99.901, phiên bản mô-đun = 1.0.0
[ 3083.851] Lớp mô-đun: Trình điều khiển video X.Org
[ 3083.851] (II) UnloadModule: "nvidia"
[ 3083.851] (II) Đang tải xuống nvidia
[ 3083.851] (II) Không thể tải mô-đun "nvidia" (đã tải, 0)
[ 3083.851] (II) LoadModule: "nouveau"
[ 3083.852] (WW) Cảnh báo, không thể mở mô-đun mới
[ 3083.852] (EE) Không tải được mô-đun "nouveau" (mô-đun không tồn tại, 0)
[ 3083.852] (II) LoadModule: "modesetting"
[ 3083.852] (II) Đang tải /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 3083.854] (II) Cài đặt chế độ mô-đun: nhà cung cấp="X.Org Foundation"
[ 3083.854] được biên dịch cho 1.20.11, phiên bản mô-đun = 1.20.11
[ 3083.854] Lớp mô-đun: Trình điều khiển video X.Org
[ 3083.854] Lớp ABI: Trình điều khiển video X.Org, phiên bản 24.1
[ 3083.854] (II) LoadModule: "fbdev"
[ 3083.854] (II) Đang tải /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 3083.855] (II) Mô-đun fbdev: vendor="X.Org Foundation"
[ 3083.855] được biên dịch cho 1.20.1, phiên bản mô-đun = 0.5.0
[ 3083.855] Lớp mô-đun: Trình điều khiển video X.Org
[ 3083.855] Lớp ABI: Trình điều khiển video X.Org, phiên bản 24.0
[ 3083.855] (II) LoadModule: "vesa"
[ 3083.855] (II) Đang tải /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 3083.856] (II) Mô-đun vesa: vendor="X.Org Foundation"
[ 3083.856] được biên dịch cho 1.20.4, phiên bản mô-đun = 2.4.0
[ 3083.856] Lớp mô-đun: Trình điều khiển video X.Org
[ 3083.856] Lớp ABI: Trình điều khiển video X.Org, phiên bản 24.0
[ 3083.856] (II) Trình điều khiển NVIDIA dlloader X 470.82.01 Thứ tư ngày 27 tháng 10 21:23:16 UTC 2021
[ 3083.856] (II) Trình điều khiển hợp nhất NVIDIA cho tất cả các GPU NVIDIA được hỗ trợ
[ 3083.856] (II) cài đặt chế độ: Trình điều khiển dành cho cài đặt chế độ Kernel Trình điều khiển: km
[ 3083.856] (II) FBDEV: trình điều khiển cho bộ đệm khung: fbdev
[ 3083.856] (II) VESA: trình điều khiển cho chipset VESA: vesa
[ 3083.856] (WW) xf86OpenConsole: setpgid không thành công: Thao tác không được phép
[ 3083.856] (WW) xf86OpenConsole: setsid không thành công: Thao tác không được phép
[ 3083.856] (WW) Quay lại phương pháp thăm dò cũ để cài đặt chế độ
[ 3083.856] (WW) Quay lại phương pháp thăm dò cũ cho fbdev
[ 3083.856] (WW) Quay lại phương pháp thăm dò cũ để cài đặt chế độ
[ 3083.856] (WW) Quay lại phương pháp thăm dò cũ cho fbdev
[ 3083.856] (EE) Không phát hiện thấy thiết bị nào.
[ 3083.856] (EE) 
Lỗi máy chủ nghiêm trọng:
[ 3083.856] (EE) không tìm thấy màn hình nào(EE) 
[ 3083.856] (EE) 
Vui lòng tham khảo hỗ trợ của The X.Org Foundation 
         tại http://wiki.x.org
  • Nếu tôi loại bỏ xorg.conf, X khởi động bình thường, nhưng không có hai màn hình X (chỉ Màn hình 0), như được hiển thị bởi đầu ra của xrandr:
~$ sudo xrandr -q
Màn hình 0: tối thiểu 8 x 8, hiện tại 4160 x 1440, tối đa 16384 x 16384
VGA-0 sơ cấp bị ngắt kết nối (bình thường đảo trái phải trục x trục y)
DVI-D-0 được kết nối 1600x1200+0+0 (bình thường đảo trái phải trục x trục y) 367mm x 275mm
   1600x1200 60.00*+
   1280x1024 75,02 60,02  
   1152x864 75,00  
   1024x768 75,03 60,00  
   800x600 75,00 60,32  
   640x480 75,00 59,94  
HDMI-0 được kết nối 2560x1440+1600+0 (bình thường đảo trái phải trục x trục y) 597mm x 336mm
   2560x1440 59,95*+
   2048x1152 60,00  
   1920x1440 60,00  
   1920x1200 59,88  
   1920x1080 60,00 59,94 50,00 60,05 60,00 50,04  
   1680x1050 59,95  
   1440x900 59,89  
   1440x576 50,00  
   1440x480 59,94  
   1280x1024 75,02 60,02  
   1280x720 60,00 59,94 50,00  
   1024x768 75,03 70,07 60,00  
   800x600 75,00 72,19 60,32 56,25  
   720x576 50.00  
   720x480 59,94  
   640x480 75,00 72,81 59,94 59,93 

lần thử đầu tiên

  • tôi đã làm của tôi xorg.conf dựa vào cái này: https://download.nvidia.com/XFree86/Linux-x86_64/304.137/README/configmultxscreens.html
  • Tôi nghi ngờ có thứ gì đó tôi cần hơn trong phần màn hình của xorg.conf, nhưng tôi không chắc nó là gì.
  • Tôi cảm thấy như màn hình nên tham khảo Màn hình các định nghĩa theo một cách nào đó, nhưng những phỏng đoán ngẫu nhiên của tôi về cách thực hiện điều đó đã không có kết quả.
  • Tôi cảm thấy khó thích ứng với xorg.conf ví dụ tôi đã tìm thấy cho hoàn cảnh cụ thể của tôi. Tôi không biết điều gì là bắt buộc dựa trên phần cứng hoặc bản phân phối/phiên bản của mình.
  • /etc/X11/xorg.conf:
Mục "Thiết bị"
    Mã định danh "nvidia0"
    Trình điều khiển "nvidia"
    BusID "PCI:44:00:0"
    Màn hình 0
phần cuối

Mục "Thiết bị"
    Mã định danh "nvidia1"
    Trình điều khiển "nvidia"
    BusID "PCI:44:0:0"
    Màn hình 1
phần cuối


Phần "Màn hình"
    Mã định danh "Screen0"
    Thiết bị "nvidia0"
    Giám sát "Monitor0"
    Độ sâu mặc định 24
    Tiểu mục "Hiển thị"
        Độ sâu 24
        Chế độ "1600x1200" "1024x768" "800x600" "640x480"
    Cuối tiểu mục
phần cuối

Phần "Màn hình"
    Mã định danh "Screen1"
    Thiết bị "nvidia1"
    Giám sát "Monitor1"
    Độ sâu mặc định 24
    Tiểu mục "Hiển thị"
        Độ sâu 24
        Chế độ "1600x1200" "1024x768" "800x600" "640x480"
    Cuối tiểu mục
phần cuối

Phần "Giám sát"
        Mã định danh "Màn hình0"
phần cuối

Phần "Giám sát"
        Mã định danh "Màn hình1"
        Tùy chọn "LeftOf" "HDMI-1"
phần cuối

Phần "ServerLayout"
    Mã định danh "Bố cục chính"
    Màn hình 0 "Màn hình0"
    Màn hình 1 "Screen1" leftOf "Screen0"
phần cuối

Cập nhật - thành công một phần:

  • cấu hình lại xorg.conf sử dụng nvidia-xconfig.
  • Bây giờ tôi có thể bắt đầu X
  • Không có niềm vui nào khi thực sự nhận được Màn hình X cho mọi màn hình.
  • Hiện tại của tôi xorg.conf:
# nvidia-xconfig: Tệp cấu hình X được tạo bởi nvidia-xconfig
# nvidia-xconfig: phiên bản 470.82.01


Phần "ServerLayout"
    Mã định danh "Bố cục0"
    Màn hình 0 "Màn hình0" 0 0
    Thiết bị đầu vào "Bàn phím0" "Bàn phím chính"
    Thiết bị đầu vào "Mouse0" "CorePulum"
phần cuối

Phần "Tệp"
phần cuối

Phần "Thiết bị đầu vào"

    # được tạo từ mặc định
    Định danh "Chuột0"
    Tài xế "chuột"
    Tùy chọn "Giao thức" "tự động"
    Tùy chọn "Thiết bị" "/dev/psaux"
    Tùy chọn "Thi đua3Buttons" "không"
    Tùy chọn "ZAxisMapping" "4 5"
phần cuối

Phần "Thiết bị đầu vào"

    # được tạo từ mặc định
    Mã định danh "Bàn phím0"
    Trình điều khiển "kbd"
phần cuối

Phần "Giám sát"
    Mã định danh "Màn hình0"
    Tên nhà cung cấp "Không xác định"
    ModelName "Không xác định"
    Tùy chọn "DPMS"
phần cuối

Mục "Thiết bị"
    Mã định danh "Thiết bị0"
    Trình điều khiển "nvidia"
    Màn hình 0
    Tên nhà cung cấp "Tập đoàn NVIDIA"
    Tùy chọn "Màn hình-DVI-D-0" "DVI"
phần cuối

Phần "Màn hình"
    Mã định danh "Screen0"
    Thiết bị "Thiết bị0"
    Giám sát "Monitor0"
    Độ sâu mặc định 24
    Mục "Hiển thị"
        Độ sâu 24
    EndSubSection
phần cuối

Phần "Giám sát"
    Mã định danh "Màn hình1"
    Tên nhà cung cấp "Không xác định"
    ModelName "Không xác định"
    Tùy chọn "DPMS"
phần cuối

Mục "Thiết bị"
    Mã định danh "Thiết bị1"
    Trình điều khiển "nvidia"
    Màn hình 1
    Tên nhà cung cấp "Tập đoàn NVIDIA"
    Tùy chọn "Màn hình-HDMI-0" "HDMI"
phần cuối

Phần "Màn hình"
    Mã định danh "Screen1"
    Thiết bị "Thiết bị1"
    Giám sát "Monitor1"
    Độ sâu mặc định 24
    Mục "Hiển thị"
    Độ sâu 24
    EndSubSection
phần cuối


  • Nhưng mà xrandr vẫn chỉ hiển thị Màn hình0
~$ sudo xrandr -q
Màn hình 0: tối thiểu 8 x 8, hiện tại 4160 x 1440, tối đa 16384 x 16384
VGA-0 sơ cấp bị ngắt kết nối (bình thường đảo trái phải trục x trục y)
DVI-D-0 được kết nối 1600x1200+0+0 (bình thường đảo trái phải trục x trục y) 367mm x 275mm
   1600x1200 60.00*+
   1280x1024 75,02 60,02  
   1152x864 75,00  
   1024x768 75,03 60,00  
   800x600 75,00 60,32  
   640x480 75,00 59,94  
HDMI-0 được kết nối 2560x1440+1600+0 (bình thường đảo trái phải trục x trục y) 597mm x 336mm
   2560x1440 59,95*+
   2048x1152 60,00  
   1920x1440 60,00  
   1920x1200 59,88  
   1920x1080 60,00 59,94 50,00 60,05 60,00 50,04  
   1680x1050 59,95  
   1440x900 59,89  
   1440x576 50,00  
   1440x480 59,94  
   1280x1024 75,02 60,02  
   1280x720 60,00 59,94 50,00  
   1024x768 75,03 70,07 60,00  
   800x600 75,00 72,19 60,32 56,25  
   720x576 50.00  
   720x480 59,94  
   640x480 75,00 72,81 59,94 59,93  

Chỉnh sửa: Một lưu ý bổ sung: Tôi đã thử cung cấp ID PCI trong phần "Thiết bị" như BusID "PCI:44:0:0". Điều đó thực sự có vẻ là nguyên nhân của vấn đề trước đây của tôi với X không bắt đầu bằng:

[ 229.284] (WW) xf86OpenConsole: setpgid không thành công: Thao tác không được phép
[ 229.284] (WW) xf86OpenConsole: setsid không thành công: Thao tác không được phép

Một bản cập nhật khác

Tôi đã gỡ bỏ PCI ID xe buýt đặc điểm kỹ thuật từ Thiết bị phần của xorg.conf, vì một số lý do, nó ngăn tôi bắt đầu X với xf86OpenConsole các lỗi đã đề cập ở trên. Tuy nhiên, tôi đã nhận thấy rằng tài liệu gần đây hơn của Nvidia đề xuất sử dụng Bố cục máy chủ tiết diện. Tôi đã thêm màn hình thứ hai vào phần này và nó đã thay đổi đầu ra của xrandr, nhưng không phải theo cách tôi muốn. Nó vẫn chỉ đề cập đến Screen0, nhưng hiện tại không có thông tin nào về màn hình HDMI của tôi (mặc dù tôi có một con trỏ trên đó). Đây hiện là đầu ra của xrandr:

~$ sudo xrandr -q
Màn hình 0: tối thiểu 8 x 8, hiện tại 1600 x 1200, tối đa 16384 x 16384
VGA-0 sơ cấp bị ngắt kết nối (bình thường đảo trái phải trục x trục y)
DVI-D-0 được kết nối 1600x1200+0+0 (bình thường đảo trái phải trục x trục y) 367mm x 275mm
   1600x1200 60.00*+
   1280x1024 75,02 60,02  
   1152x864 75,00  
   1024x768 75,03 60,00  
   800x600 75,00 60,32  
   640x480 75,00 59,94  

và của tôi xorg.conf hiện tại trông như thế này:

Phần "ServerLayout"
    Mã định danh "Bố cục0"
    Màn hình 0 "Màn hình0" 0 0
    Màn hình 1 "Screen1" bên phải "Screen0" 
    Thiết bị đầu vào "Bàn phím0" "Bàn phím chính"
    Thiết bị đầu vào "Mouse0" "CorePulum"
phần cuối

Phần "Tệp"
phần cuối

Phần "Thiết bị đầu vào"

    # được tạo từ mặc định
    Định danh "Chuột0"
    Tài xế "chuột"
    Tùy chọn "Giao thức" "tự động"
    Tùy chọn "Thiết bị" "/dev/psaux"
    Tùy chọn "Thi đua3Buttons" "không"
    Tùy chọn "ZAxisMapping" "4 5"
phần cuối

Phần "Thiết bị đầu vào"

    # được tạo từ mặc định
    Mã định danh "Bàn phím0"
    Trình điều khiển "kbd"
phần cuối

Phần "Giám sát"
    Mã định danh "Màn hình0"
    Tên nhà cung cấp "Không xác định"
    ModelName "Không xác định"
    Tùy chọn "DPMS" "DVI"
phần cuối

Mục "Thiết bị"
    Mã định danh "Thiết bị0"
    Trình điều khiển "nvidia"
    Màn hình 0
    Tên nhà cung cấp "Tập đoàn NVIDIA"
    Tùy chọn "Màn hình-DVI-D-0" "DVI"
phần cuối

Phần "Màn hình"
    Mã định danh "Screen0"
    Thiết bị "Thiết bị0"
    Giám sát "Monitor0"
    Độ sâu mặc định 24
    Mục "Hiển thị"
        Độ sâu 24
    EndSubSection
phần cuối

Phần "Giám sát"
    Mã định danh "Màn hình1"
    Tên nhà cung cấp "Không xác định"
    ModelName "Không xác định"
    Tùy chọn "DPMS" "HDMI"
phần cuối

Mục "Thiết bị"
    Mã định danh "Thiết bị1"
    Trình điều khiển "nvidia"
    Màn hình 1
    Tên nhà cung cấp "Tập đoàn NVIDIA"
    Tùy chọn "Màn hình-HDMI-0" "HDMI"
phần cuối

Phần "Màn hình"
    Mã định danh "Screen1"
    Thiết bị "Thiết bị1"
    Giám sát "Monitor1"
    Độ sâu mặc định 24
    Mục "Hiển thị"
    Độ sâu 24
    EndSubSection
phần cuối

Chỉnh sửa: Một điều nữa: Tôi đã thử thêm Tùy chọn "ZaphodHead" vào phần Thiết bị của tôi, nhưng điều đó không giúp được gì. Có lẽ đó không phải là điều tôi muốn hoặc có thể tôi đã không định cấu hình chính xác, tôi không biết.

WinEunuuchs2Unix avatar
lá cờ in
Thật vậy, các cài đặt có thể gây nhầm lẫn. Tôi luôn tạo nhiều bản sao của cấu hình trong khi thay đổi nó. Một điều bạn có thể thử là chạy tiện ích `nvidia-settings` và yêu cầu nó tạo tệp cấu hình cho bạn.
Stonecraft avatar
lá cờ cn
@ WinEunuuchs2Unix nhưng `nvidia-settings` có một danh sách phụ thuộc thực sự khủng khiếp.
WinEunuuchs2Unix avatar
lá cờ in
Có lẽ phần tạo cấu hình có phiên bản dòng lệnh hoặc độc lập với ít phụ thuộc hơn. Arch Linux thường có tài nguyên tốt: https://wiki.archlinux.org/title/NVIDIA
Stonecraft avatar
lá cờ cn
Ồ tuyệt, tôi thấy rằng `nvidia-xconfig` là một thứ. Điều đó ít nhất đã mang lại cho tôi một mẫu hoạt động, mặc dù chỉ cần thêm các phần Màn hình, Thiết bị và Màn hình thứ hai không giúp ích được gì, nhưng điều này ít nhất mang lại cho tôi thứ gì đó để làm việc.
lá cờ cn
Lưu ý rằng tài liệu bạn đang theo dõi đề cập đến một tính năng "mới" có tên là "TwinView" và ví dụ về độ phân giải màn hình ở định dạng 4:3. Tài liệu này cũ hơn Xrandr.
Stonecraft avatar
lá cờ cn
@SimonRichter cảm ơn, tôi đã nhận thấy điều đó, nhưng tôi không nghĩ TwinView là thứ tôi muốn. Ngoài ra, có một tài liệu gần đây hơn về cơ bản là giống nhau: https://nvidia.custhelp.com/app/answers/detail/a_id/176/~/linux---conforming-multiple-x-screens-on-one -Thẻ

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.