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.