เปิดใช้งานการแสดงผลภายนอกบนคอนโซล FreeBSD


17

tl; dr ฉันต้องการใช้จอแสดงผลภายนอกกับ FreeBSD 10.0 บน HP Pavilion g7-2270us ไม่สนใจว่าจะเป็นมิเรอร์หรือฉันต้องเลือกอย่างใดอย่างหนึ่ง

นี่คืออาการ:

  • เมื่อเสียบจอแสดงผลเข้ากับพอร์ตจอแสดงผล VGA ภายนอกทั้งจอแสดงผลที่เชื่อมต่อและจอแสดงผลภายนอกจะทำงานบนหน้าจอ BIOS
  • เมื่อ FreeBSD เริ่มบูตจอแสดงผล VGA ภายนอกจะไม่ทำงานอีกต่อไป
  • เมื่อบูตเครื่องแล้วการfnF4กดแป้นพิมพ์ที่คาดไว้เพื่อสลับการแสดงผลเริ่มต้นจะไม่มีผลกระทบ (หรือไม่ทำงานF4คนเดียว) โดยไม่คำนึงถึงสถานะของ "คีย์การกระทำ" ใน BIOS นั่นคือต้องใช้ตัวแก้ไขหรือไม่

หมายเหตุอื่น ๆ :

  • ไม่มีตัวเลือกใน BIOS ที่จะเกี่ยวข้องกับสถานการณ์นี้
  • ไม่มีการติดตั้งเซิร์ฟเวอร์กราฟิกดังนั้น X / Wayland / etc ไม่มีความเกี่ยวข้องกับคำถามนี้ (เช่นxrandr)
  • กราฟิกแบบรวม Intel Core i3-3110M ดูเหมือนจะได้รับการสนับสนุนในเวอร์ชัน≤ 9.1

grepping รอบ ๆ ในpciconfฉันค้นหา:

vgapci0@pci0:0:2:0:     class=0x030000 card=0x1843103c chip=0x01668086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '3rd Gen Core processor Graphics Controller'
    class      = display
    subclass   = VGA
    bar   [10] = type Memory, range 64, base 0x52000000, size 4194304, enabled
    bar   [18] = type Prefetchable Memory, range 64, base 0x80000000, size 268435456, enabled
    bar   [20] = type I/O Port, range 32, base 0x4000, size 64, enabled
    cap 05[90] = MSI supports 1 message 
    cap 01[d0] = powerspec 2  supports D0 D3  current D0
    cap 13[a4] = PCI Advanced Features: FLR TP

และนี่คือสิ่งที่มีประโยชน์มากกว่าจากdmesg:

vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0x52000000-0x523fffff irq 16 at device 2.0 on pci0
agp0: <IvyBridge mobile GT2 IG> on vgapci0
agp0: aperture size is 256M, detected 65532k stolen memory
vgapci0: Boot video device
pci0: <simple comms> at device 22.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0

เห็นได้ชัดว่าvgapci0เป็นหน้าจอที่แนบมา ดูเหมือนว่าvga0จะเป็นผู้ร้ายที่เราพยายามจะทำงาน มันอยู่บนisa0รถบัสซึ่งมีisab0สะพาน ISA-PCI เชื่อมต่ออยู่ให้pci0บริการ อันที่จริงdevinfoเราพบว่าการขุดไปรอบ ๆ:

        isab0 pnpinfo vendor=0x8086 device=0x1e59 subvendor=0x103c subdevice=0x1843 class=0x060100 at slot=31 function=0 handle=\_SB_.PCI0.LPCB
          isa0
            sc0
            vga0
                I/O ports:
                    0x3c0-0x3df
                I/O memory addresses:
                    0xa0000-0xbffff

dmesgซึ่งสอดคล้องกับข้างต้นจาก อุปกรณ์นี้อธิบายโดยpciconf:

isab0@pci0:0:31:0:      class=0x060100 card=0x1843103c chip=0x1e598086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HM76 Express Chipset LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
    cap 09[e0] = vendor (length 12) Intel cap 1 version 0
                 features: AMT, 4 PCI-e x1 slots

dmidecode แสดงรายการตัวเชื่อมต่อพอร์ตที่เป็นปัญหา:

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: CN5001
        Internal Connector Type: None
        External Reference Designator: CRT
        External Connector Type: DB-15 female
        Port Type: Video Port

และกราฟิกมาตรฐาน 0x0166:

Handle 0x001D, DMI type 41, 11 bytes
Onboard Device
        Reference Designation: Intel(R) Graphics 4000
        Type: Video
        Status: Enabled
        Type Instance: 1
        Bus Address: 0000:00:02.0

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


4
ดูเหมือนว่าจะทิ้งจอมอนิเตอร์ภายนอกเมื่อเปลี่ยนจากไดรเวอร์ทั่วไปไปเป็นการ์ดที่เฉพาะเจาะจง ฉันเดาว่าคุณจะต้องค้นหาและติดตั้งไดรเวอร์สำหรับการ์ดแสดงผลที่ใช้อินเตอร์เฟส VGA ภายนอก จากdmesgบันทึกของคุณดูเหมือนว่าอุปกรณ์ที่สงสัยคือvga0: <Generic ISA VGA>...จุดเริ่มต้นที่นั่น
David King

คำตอบ:


1

เมื่อดูที่ปัญหานี้คุณพูดถึงสิ่งต่อไปนี้:

เมื่อเสียบจอแสดงผลเข้ากับพอร์ตจอแสดงผล VGA ภายนอกทั้งจอแสดงผลที่เชื่อมต่อและจอแสดงผลภายนอกจะทำงานบนหน้าจอ BIOS เมื่อ FreeBSD เริ่มบูตจอแสดงผล VGA ภายนอกจะไม่ทำงานอีกต่อไป

/boot/loader.confนี้โดยทั่วไปหมายความว่าคุณจะต้องแก้ไขของคุณ

ฉันจะลองทำสิ่งต่อไปนี้ใน/boot/loader.conf:

i915kms_load="YES" 
kern.vt.fb.default_mode="1024x768"

สมมติว่า "1024x768" เป็นความละเอียดที่คุณต้องการ

แหล่งที่มา: ฟอรัม freebsd.orgบางบล็อกแบบสุ่ม - ฉันไม่ได้ 100% สำหรับชื่อ / การสะกดคำของโมดูลและFreeBSD vt man page

Ahhh ปุ่ม Fn ไม่ทำงานเกือบลืมไปว่า ... คุณไม่สามารถตรวจพบการกดปุ่ม Fn ได้อย่างไรก็ตามแป้นพิมพ์ของคุณจะตีความมันและใช้เป็นตัวปรับเปลี่ยนคีย์ ดังนั้นเมื่อคุณตี, พูดFn+F4, FreeBSD จะได้รับค่าFnหรือF5เหตุการณ์สำคัญ แต่อีกหนึ่งสำหรับเปิด / ปิดหน้าจอภายนอกซึ่ง AFAIK ขึ้นอยู่กับชนิดของแป้นพิมพ์ที่คุณใช้ เศร้า FreeBSD ไม่ได้มีโปรแกรมควบคุมที่เหมาะสมโหลดสำหรับแป้นพิมพ์ของคุณดังนั้นคุณจะต้องไปหาโมดูลที่เหมาะสมและโหลดในทางเดียวกันกับข้างต้นใน<mod>_load="TRUE" /boot/loader.confฉันมีข้อมูลไม่เพียงพอบนแป้นพิมพ์ของคุณเพื่อให้สามารถช่วยเหลือได้มากขึ้น

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