“ - ขนาด 2x2” ใน xrandr ทำให้จอภาพไม่แสดงผลใด ๆ


11

ฉันมีจอมอนิเตอร์ภายนอก 4k และฉันพยายามเชื่อมต่อจอภาพภายนอก 1680x1050 ทางด้านซ้ายของมัน

ฉันได้ลองใช้:

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

ซึ่งดูเหมือนว่ามันจะทำงานได้และเมื่อฉันดูสิ่งที่คอมพิวเตอร์คิดว่าเกิดขึ้นใน nvidia-settings มันจะแสดงจอภาพ 3200x2160 ทางด้านซ้ายของ 4k ของฉันอย่างถูกต้อง

อย่างไรก็ตามบนจอภาพภายนอกของฉันจะแสดงสีดำด้วยเส้นกะพริบที่ด้านบนสุดของมัน

วิธีเดียวที่ฉันสามารถแก้ไขสิ่งนี้คือการตั้งค่าการปรับกลับเป็น 1x1 ที่จุดภาพกลับมา (ในขณะที่รักษาขนาด X-server ซึ่งหมายความว่ามีเพียง deadspace ที่ฉันต้องเลื่อนผ่านเพื่อให้ได้ระหว่างจอภาพของฉัน)

ดังนั้นฉันคิดว่าปัญหานี้เกี่ยวกับการปรับขนาด 2x2 ใน xrandr โดยเฉพาะ ฉันไม่แน่ใจว่าจะทำอย่างไร?

คอมพิวเตอร์ทำงานเป็น 14.04 และมี nvidia GTX960 อยู่ในนั้นพร้อมไดรเวอร์ที่แนะนำ (352.63)

นี่คือผลลัพธ์ xrandr ของฉัน:

  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  

ฉันมีปัญหาเดียวกัน ดูเหมือนว่าจะทำงานได้ถึงระดับ 1.71x1.71 ทุกสิ่งที่ใหญ่ขึ้นทำให้จอแสดงผลขนาดเล็กลงจึงว่างเปล่า
Maciej Wozniak

น่าเสียดายที่ฉันไม่สามารถแก้ไขได้ ฉันกำลังพยายามเรียกใช้จอภาพสองจอจอหนึ่งปรับขนาดและอีกจอไม่มี หากคุณเพียงแค่พยายามที่จะทำงานที่การปรับขนาด 2x แล้วมันเป็นเรื่องง่ายมากที่มี Cinammon ฉันเชื่อว่ามีวิธีที่จะทำให้ Unity ทำเช่นนั้นได้เช่นกัน
m4p85r

คำตอบ:


5

แค่อยากจะเพิ่มว่านี่คือสิ่งที่ฉันต่อสู้มานานและทุกครั้งที่ฉันยอมแพ้ - จนกระทั่งฉันตัดสินใจที่จะคิดออกครั้งแล้วครั้งเล่า วิธีแก้ปัญหาด้านล่างนี้เหมาะกับฉันหวังว่าจะเป็นประโยชน์กับคุณเช่นกัน

tl; dr: กำหนดค่า ForceFullCompositionPipeline=On

พื้นหลัง

บางส่วนนี้ก็หวังที่จะให้คำหลักเพิ่มเติมในกรณีที่คนที่มีปัญหาที่คล้ายกันจบลงด้วยการมองหาวิธีแก้ปัญหา

การตั้งค่าของฉันคือ:

  • ThinkPad P50 พร้อมจอแสดงผล 4K ในตัวที่ 3840 × 2160 (หลัก)
  • จอภาพภายนอกเป็นจอแสดงผลรอง - Dell U2412M - 1920 × 1200

ฉันใช้ Ubuntu Gnome 16.04 LTS

เมื่อฉันเสียบจอภาพด้วยสาย HDMI + ตัวแปลง HDMI เป็น DVI (เนื่องจากจอภาพไม่มีอินพุต HDMI) ทุกอย่างก็ใหญ่เกินไป บทความต่าง ๆ ทางออนไลน์ที่แนะนำให้ใช้xrandrในการกำหนดค่า--scale 2x2บนจอแสดงผลซึ่งส่งผลให้มันเกือบดำสนิทโดยมีเพียงเส้นบาง ๆ ที่ปรากฏอยู่ด้านบน

ฉันชนกับคำถามนี้และในขณะที่2x2.001โซลูชันการปรับสเกลเปิดใช้งานจอภาพเพื่อแสดงเนื้อหาจริง ๆ มันก็เพิ่มพิกเซลพิเศษด้านล่างหน้าจอ X ซึ่งทำให้เลื่อนขึ้น / ลงเล็กน้อยเมื่อเคอร์เซอร์ถึงด้านบน / ล่างของหน้าจอ

หลังจาก Googling เป็นจำนวนมากซึ่งส่วนใหญ่ให้ปัญหาและไม่มีวิธีแก้ปัญหาฉันสะดุดเมื่อ: https://devtalk.nvidia.com/default/topic/891207/-355-11-358-09-viewportin-on-2nd -monitor ผลลัพธ์ในการอ่านไม่ออกจอแสดงผลสำหรับค่า-over-3211x1800

ดังนั้นเพื่อทดสอบมันฉันกำหนดค่านี้โดยใช้คำสั่งต่อไปนี้ - สมมติว่าxrandrยังไม่ได้กำหนดค่าด้วยการปรับขนาด

$ 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}

นี่แสดงCurrentMetaModeค่าและนี่คือที่ฉันเพิ่มForceFullCompositionPipeline=Onตัวเลือกให้กับจอแสดงผลทั้งสอง โปรดทราบว่าDPY-4เป็นจอแสดงผลแล็ปท็อปในตัวของฉันในขณะที่DPY-1เป็นจอภาพภายนอก

สตริงจริงที่จำเป็นต้องกำหนดค่าเป็นหนึ่ง::ในการส่งออกของคำสั่งนั้น

$ 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}"

หลังจากนี้ฉันก็วิ่ง:

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

ในที่สุดความละเอียดจอแสดงผลภายนอกก็ใช้ได้โดยไม่มีการเลื่อนหรือปัญหาอื่น ๆ

โปรดทราบว่าหลังจากเรียกใช้คำสั่งเหล่านั้นCurrentMetaModeบิตจะแตกต่างจากสิ่งที่ได้รับมอบหมายอาจเป็นเพราะการปรับใช้:

$ 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}

หวังว่านี่จะช่วยแก้ปัญหาสำหรับคนอื่นด้วย!


4

ฉันมีปัญหาเดียวกันทั้งหมด --scale 2x2.001ผมได้รับมันแก้ไขได้ด้วย ผิดปกติพอ--scale 2x1.999หรือ2x2.0001ไม่ได้ผลดังนั้นอย่าลืมลองตัวเลขหลาย ๆ รอบประมาณ 2


ฉันมีปัญหานี้เช่นกัน ... กำลังดุร้ายทำงานออกมาเพื่อนาย
juggernauthk108

คุณกำลังดุร้ายอะไร ค่า 2 หรือไม่
m4p85r

และมันแปลกมาก! ขอบคุณสำหรับการโพสต์ ท้ายที่สุดฉันก็ยอมแพ้ ตอนนี้ฉันมีคอมพิวเตอร์เครื่องที่สองเชื่อมต่อกันแล้วผ่านการทำงานร่วมกัน ทำงานได้ค่อนข้างดีเมื่อฉันต้องการแอพพลิเคชั่น windows (คอมพิวเตอร์เครื่องที่สองชนะ)
m4p85r

1
มันใช้งานได้จริง ควรมีคนรายงานว่า ... ขอบคุณมาก!
Columbo

2

ขอบคุณ Milos สำหรับวิธีแก้ปัญหาที่ยอดเยี่ยมของคุณซึ่งใช้งานได้ดีสำหรับฉัน!

ฉันยังเล็ก ๆ น้อย ๆ นอกเหนือจากการใช้บรรทัดคำสั่งคุณสามารถตั้งค่าForceFullCompositionPipelineใน UI การตั้งค่า UI ได้อย่างสะดวกสบาย สำหรับสิ่งนี้คุณต้องไปที่ "X Server Display Configuration" คลิกที่ "Advanced" และเพียงแค่เปิดใช้งานตัวเลือก "Pipeline Composition แบบเต็ม" โปรดดูhttps://imgur.com/a/3jE78สำหรับตัวอย่าง


PS: ฉันกำลังใช้การตั้งค่าสามหัวพร้อมจอภาพภายนอกสองตัว (1920x1080; 1680x1050) และจอภาพ 3k ภายใน (3840x2160) เพื่อให้ทำงานได้ฉันใช้ xrandr-config ต่อไปนี้:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.