crtc คืออะไรและฉันสามารถเปิดใช้งานเอาต์พุตจำนวนเท่าใดโดยใช้ xrandr


19

ฉันใช้ Lenovo x220i thinkpad ใช้งาน crunchbang linux (ซึ่งใช้ตัวจัดการหน้าต่าง openbox) แล็ปท็อปมีปลั๊ก DP และ VGA ที่ด้านข้าง

การต่อสายเคเบิล DP และ VGA และใช้งานxrandrฉันสังเกตว่าผลลัพธ์ต่อไปนี้พร้อมใช้งาน / ใช้งาน:

VGA1
DP1
LVDS1  <- the laptop screen

ถ้าฉันพยายามเปิดใช้งานมากกว่านั้น 2 (โดยใช้ชุดค่าผสมใด ๆ ) ฉันได้รับข้อผิดพลาด "ไม่พบ crtc สำหรับเอาท์พุทสำหรับ [VGA1 / DP1 / LVDS1]"

Crtc คืออะไร ฉันจะทราบได้อย่างไรว่ามีจำนวนเท่าใด เป็นไปได้หรือไม่ที่จะเพิ่มซอฟต์แวร์หรือผ่านการ์ด PCI?

ขอบคุณ

คำตอบ:


30

CRTC ย่อมาจาก "Cathode Ray Tube Controller" แต่วิกิพีเดียชอบ " Video Display Controller "

พวกเขามักจะเรียกว่า CRTCs - ข้อกำหนดทางเทคนิคอาจเปลี่ยนแปลงได้ช้าในบางครั้ง

มีคำอธิบายที่ซับซ้อนมากขึ้นอยู่เสมอ แต่ข้อสรุปที่เพียงพอคือ CRTC แต่ละตัวสอดคล้องกับบัฟเฟอร์วิดีโอบนการ์ดวิดีโอที่ถูกกำหนดเป็นเอาท์พุท ฉันเลือกข้อความเฉพาะนี้เพื่อเน้นความแตกต่าง:

  • หน้าจอซอฟต์แวร์เช่นหน้าจอที่ใช้สำหรับเซิร์ฟเวอร์ VNC แบบไม่ใช้หัวจะใช้ RAM สำหรับหน่วยความจำวิดีโอและไม่มีอะไรเกี่ยวข้องกับการ์ดแสดงผลหรือเร่งความเร็วฮาร์ดแวร์จากหน้าจอเดียว ไม่จำเป็นต้องใช้ CRTCc เนื่องจากไม่ได้อยู่ในการ์ดแสดงผล
  • หากคุณใช้การ์ดวิดีโอในการสร้างฉากแล้วนำบัฟเฟอร์สุดท้ายของผลลัพธ์กลับสู่หน่วยความจำ / ดิสก์จะไม่มี CRTC ที่เกี่ยวข้องเนื่องจากไม่ได้ถูกผูกไว้กับเอาต์พุตแม้จะใช้หน่วยความจำของการ์ดวิดีโอก็ตาม
  • การ์ดแสดงผลอาจรองรับการแสดงผลหนึ่ง CRTC ไปยังจอแสดงผลหลายจอ พวกเขาจะต้องมีความละเอียดเดียวกันและอาจมีหรือไม่มีความถี่เดียวกัน เพียงแค่ใช้การตั้งค่าการแสดงผลเพื่อ "แสดงหน้าจอเดียวกัน" บนจอแสดงผลตั้งแต่สองจอขึ้นไปมีแนวโน้มว่าจะไม่ใช้ประโยชน์จากสิ่งนี้และทำการสะท้อนบัฟเฟอร์สุดท้ายของ CRTC สองตัว ตรวจสอบให้แน่ใจว่า CRTC เดียวถูกโคลนบนจอแสดงผลสองเครื่องจนถึงตอนนี้เกินกว่าความสามารถด้านเทคนิคของฉัน

ดังนั้นเพื่อตอบคำถามอื่นของคุณ:

ฉันจะรู้ได้อย่างไรว่ามี [CRTCs] ให้บริการจำนวนเท่าใด

$ xrandr --listproviders Providers: number : 1 Provider 0: id: 0x4d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 10 associated providers: 0 name:Intel

โปรดสังเกตว่าเช่นเดียวกับคุณฉันมีเอาต์พุตมากกว่า CRTCs: crtcs: 4 outputs: 10มีเหตุผลที่ดีที่เอาต์พุตมีจำนวนมากซึ่งส่วนใหญ่ลงมาที่พอร์ตวิดีโอที่มีความสะดวกสบายมากอบใน:

  • ตัวเชื่อมต่อ DisplayPort อาจมี 2 หรือ 3 เอาท์พุทที่เกี่ยวข้องกับมันถ้าผูกได้รับการสนับสนุน
  • ต่อ DVI-Iอาจจะแยกออกเป็นชิ้นส่วนแบบดิจิตอลและอนาล็อกในการทำงานอย่างหนึ่งจอของแต่ละประเภท วิธีแก้ขี้เกียจเก่าคือการโคลนเหล่านี้ในฮาร์ดแวร์ แต่ตอนนี้มันเป็นเรื่องธรรมดาสำหรับอุปกรณ์วิดีโอที่จะมี DVI และเอาท์พุท VGA ที่เกี่ยวข้องกับพอร์ตดังกล่าว
  • แท่นวางแล็ปท็อปสามารถเพิ่มจำนวนเอาท์พุทได้สองเท่าและอย่างง่ายดายเพราะพวกมันต้องการที่จะให้ความสะดวกสบายในการเชื่อมต่อที่มากขึ้นบนตัวเชื่อมต่อ
  • อุปกรณ์วิดีโออาจมีตัวเชื่อมต่อที่ไม่ได้ใช้งานเพราะถูกนำไปใช้ในการผลิตหรือเพราะเป็นการใช้งานอีกครั้งของอุปกรณ์อื่น แต่ไม่มีการเชื่อมต่อบางอย่าง

เป็นไปได้หรือไม่ที่จะเพิ่ม [CRTCs] ในซอฟต์แวร์หรือผ่านการ์ด PCI?

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


ป.ล. ฉันกำลังเรียนรู้สิ่งนี้มากมายในวันนี้และสะดุดกับคำถามของคุณในระหว่างการวิจัยของฉันเอง


2

crtcย่อมาจากแคโทดควบคุมหลอดรังสี ในสมัยโบราณจอภาพที่ใช้ในการCRT(อุปกรณ์หนักที่ทำจากแก้ว) มากกว่าLCDจอแสดงผลของวันนี้


2
+1 สำหรับการรู้เกี่ยวกับ 'สมัยโบราณ' อย่างไรก็ตามเหตุใดข้อความแสดงข้อผิดพลาดที่กล่าวถึงจะปรากฏขึ้นหาก crt IS เชื่อมต่อจริง ฉันได้รับข้อความนี้เฉพาะเมื่อฉันพยายามเปิดใช้งานเอาต์พุตที่ 3 แก้ไข: อ๊ะฉันต้อง 15 คะแนนเพื่อ upvote: /
neildaemond

1

ฉันว่ามันเป็นข้อ จำกัด ของฮาร์ดแวร์ในอุปกรณ์แสดงผลของคุณ ฉันมีสถานการณ์ที่เหมือนกัน - แล็ปท็อป (t430) พร้อมแท่นวาง ฉันสามารถใช้จอภาพ 3 คู่ขนาน - 2 * DP และ LVDS หรือ 3 * DP หรือ LVDS และ DP และ HDMI .. แต่การเปิดใช้งานจอภาพใด ๆ ก็ยิ่งแสดงข้อผิดพลาดเช่นเดียวกับคุณ

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