Mùi --scale 2x2 trong xrandr khiến màn hình không hiển thị gì cả


11

Tôi đã có một màn hình chính bên ngoài 4k và tôi đang cố gắng kết nối một màn hình ngoài 1680x1050 ở bên trái của nó.

Tôi đã thử sử dụng:

 xrandr --output HDMI-0 --scale 2x2 --pos 0x0 --fb 7200x2160 --output DP-4 --pos 3360x0

có vẻ như nó sẽ hoạt động và khi tôi nhìn vào những gì máy tính nghĩ đang diễn ra trong cài đặt nvidia, nó sẽ hiển thị chính xác màn hình 3200x2160 ở bên trái chiếc 4k của tôi.

Tuy nhiên, trên màn hình ngoài của tôi chỉ hiển thị màu đen với một đường nhấp nháy ở trên cùng của nó.

Cách duy nhất tôi có thể sửa điều này là đặt lại tỷ lệ trở lại 1x1 tại điểm mà hình ảnh trả về (trong khi duy trì kích thước máy chủ X. Điều này có nghĩa là chỉ có khoảng trống mà tôi phải cuộn qua giữa các màn hình của mình).

Vì vậy, tôi nghĩ rằng vấn đề cụ thể là phải làm với tỷ lệ 2x2 trong xrandr. Tôi không biết phải làm gì?

Máy tính đang chạy 14.04 và có nvidia GTX960 trong đó với trình điều khiển được đề xuất (352.63)

Đây là đầu ra xrandr của tôi:

  Screen 0: minimum 8 x 8, current 7200 x 2160, maximum 16384 x 16384
  DVI-I-0 disconnected (normal left inverted right x axis y axis)
  DVI-I-1 disconnected (normal left inverted right x axis y axis)
  DP-0 disconnected (normal left inverted right x axis y axis)
  DP-1 disconnected (normal left inverted right x axis y axis)
  DP-2 disconnected (normal left inverted right x axis y axis)
  DP-3 disconnected (normal left inverted right x axis y axis)
  HDMI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
     1680x1050      59.9*+   60.0  
     1280x1024      75.0     60.0  
     1280x960       60.0  
     1152x864       75.0  
     1024x768       75.0     70.1     60.0  
     800x600        75.0     72.2     60.3     56.2  
     640x480        75.0     72.8     59.9  
  DP-4 connected primary 3840x2160+3360+0 (normal left inverted right x axis y axis) 527mm x 296mm
     3840x2160      60.0*+   30.0  
     2560x1440      60.0  
     2048x1280      60.0  
     1920x1200      59.9  
     1920x1080      60.0     60.0     59.9     50.0     24.0     60.0     50.0  
     1600x1200      60.0  
     1600x900       60.0  
     1280x1024      75.0     60.0  
     1280x720       60.0     59.9     50.0  
     1152x864       75.0  
     1024x768       75.0     60.0  
     800x600        75.0     60.3  
     720x576        50.0     50.1  
     720x480        59.9     60.1  
     640x480        75.0     59.9     59.9  

Tôi có cùng một vấn đề. Nó dường như đang làm việc với quy mô 1,71x1,71. Mọi thứ lớn hơn khiến màn hình nhỏ hơn bị trống
Maciej Wozniak

Thật không may, tôi không bao giờ quản lý để sửa lỗi này. Tôi đã cố gắng để chạy hai màn hình, một màn hình có tỷ lệ và một màn hình không có. Nếu bạn chỉ cố chạy ở tỷ lệ gấp đôi thì Cinammon rất dễ dàng. Tôi tin rằng có một cách để khiến Unity cũng làm điều đó.
m4p85r

Câu trả lời:


5

Chỉ muốn nói thêm rằng đây là điều mà tôi đã chiến đấu trong một thời gian dài và mỗi lần tôi bỏ cuộc - cho đến khi tôi quyết định tìm ra nó một lần và mãi mãi. Các giải pháp dưới đây làm việc cho tôi, hy vọng nó cũng làm cho bạn.

tl; dr: Cấu hình ForceFullCompositionPipeline=On

Lý lịch

Một số điều này cũng có hy vọng cung cấp nhiều từ khóa hơn trong trường hợp ai đó có vấn đề tương tự kết thúc tìm kiếm giải pháp.

Thiết lập của tôi là:

  • ThinkPad P50 với màn hình 4K tích hợp ở 3840 × 2160 (chính)
  • Một màn hình ngoài làm màn hình phụ - Dell U2412M - 1920 × 1200

Tôi sử dụng Ubuntu Gnome 16.04 LTS.

Khi tôi cắm màn hình qua cáp HDMI + bộ chuyển đổi HDMI sang HDMI (vì màn hình không có đầu vào HDMI), mọi thứ đều quá lớn. Nhiều bài viết trực tuyến đề xuất sử dụng xrandrđể định cấu hình --scale 2x2trên màn hình đó, dẫn đến nó gần như hoàn toàn màu đen, chỉ có một dòng mỏng hiển thị trên đầu.

Tôi đã gặp phải câu hỏi này và trong khi 2x2.001giải pháp chia tỷ lệ cho phép màn hình thực sự hiển thị nội dung, nó cũng thêm một pixel phụ bên dưới màn hình X dẫn đến cuộn lên / xuống nhẹ khi con trỏ chạm tới đỉnh / đáy màn hình.

Sau rất nhiều lần Googling, phần lớn mang lại vấn đề và không có giải pháp, tôi tình cờ phát hiện ra điều này: https://devtalk.nvidia.com/default/topic/891207/-355-11-358-09-viewportin-on-2nd -monitor-results-in-garbled-display-for-value-over-3211x1800

Vì vậy, để kiểm tra, tôi đã cấu hình nó bằng các lệnh sau - giả sử xrandrchưa được cấu hình với tỷ lệ.

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}

Điều này sẽ hiển thị CurrentMetaModegiá trị và đây là nơi tôi đã thêm ForceFullCompositionPipeline=Ontùy chọn cho cả hai màn hình. Lưu ý rằng đó DPY-4là màn hình máy tính xách tay tích hợp của tôi, trong khi đó DPY-1là màn hình ngoài.

Chuỗi thực tế cần được cấu hình là chuỗi sau ::trong đầu ra của lệnh đó.

$ nvidia-settings --assign CurrentMetaMode="DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0, ForceFullCompositionPipeline=On}"

Sau này, tôi chạy:

$ xrandr --output DP-1 --scale=2x2

Cuối cùng, độ phân giải màn hình ngoài vẫn ổn, không bị cuộn hay có vấn đề gì khác.

Lưu ý rằng sau khi chạy các lệnh đó, CurrentMetaModecó một chút khác biệt so với những gì được gán, có thể là do tỷ lệ được áp dụng:

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @3840x2400 +3840+0 {Transform=(2.000000,0.000000,0.000000,0.000000,2.000000,0.000000,0.000000,0.000000,1.000000), ViewPortIn=3840x2400, ViewPortOut=1920x1200+0+0, ResamplingMethod=Bilinear, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}

Hy vọng điều này cũng giải quyết vấn đề cho người khác!


4

Tôi đã có cùng vấn đề y hệt. Tôi đã giải quyết nó với --scale 2x2.001. Đủ kỳ lạ, --scale 2x1.999hoặc 2x2.0001không hoạt động, vì vậy hãy chắc chắn thử một vài số khoảng 2.


tôi cũng gặp vấn đề này ... lực lượng vũ phu đã làm việc cho mr
juggernauthk108

Những gì bạn đã vũ phu? Giá trị của 2?
m4p85r

Và thật lạ! Cảm ơn vì bài đăng. Tôi đã kết thúc chỉ từ bỏ. Tôi thực sự đã có một máy tính thứ hai bây giờ được kết nối thông qua sức mạnh tổng hợp. Hoạt động khá tốt khi tôi thỉnh thoảng cần các ứng dụng windows (máy tính thứ hai là win)
m4p85r

Điều này thực sự hoạt động. Ai đó nên báo cáo rằng ... dù sao đi nữa, cảm ơn bạn rất nhiều!
Columbo

2

Cảm ơn Milos vì giải pháp tuyệt vời của bạn, đã làm việc tốt cho tôi!

Tôi có một bổ sung nhỏ. Bên cạnh việc sử dụng dòng lệnh, bạn cũng có thể thoải mái ForceFullCompositionPipelineđặt giao diện người dùng Nvidia-Settings. Đối với điều này, bạn đã đi đến "Cấu hình hiển thị máy chủ X", nhấp vào "Nâng cao" và chỉ cần kích hoạt tùy chọn "Buộc toàn bộ đường ống thành phần". Vui lòng xem https://imgur.com/a/3jE78 để biết ví dụ.


PS: Tôi đang sử dụng thiết lập ba đầu với hai màn hình ngoài (1920x1080; 1680x1050) và màn hình 3k bên trong (3840x2160). Để làm việc này, tôi áp dụng xrandr-config sau đây:

xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --scale 2x2 --above eDP-1-1 --output DP-1 --auto --scale 2x2 --rotate left --right-of eDP-1-1
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.