Aktifkan tampilan eksternal pada konsol FreeBSD

17

tl; dr, saya ingin menggunakan layar eksternal dengan FreeBSD 10.0 pada HP Pavilion g7-2270us. Tidak peduli apakah itu dicerminkan atau saya harus memilih satu atau yang lain.

Berikut gejalanya:

  • Ketika layar dicolokkan ke port layar VGA eksternal, baik layar terpasang dan layar eksternal aktif di layar BIOS.
  • Setelah FreeBSD mulai mem-boot, tampilan VGA eksternal tidak lagi aktif.
  • Setelah di-boot, fnF4keystroke yang diharapkan untuk mengganti tampilan default tidak memiliki efek (juga tidak F4sendiri), terlepas dari keadaan "Tombol Aksi" di BIOS, yaitu apakah seseorang perlu menggunakan pengubah atau tidak.

Catatan lain:

  • Tidak ada opsi di BIOS yang akan relevan dengan situasi ini.
  • Tidak ada server grafis yang diinstal, jadi X / Wayland / etc. tidak memiliki relevansi dengan pertanyaan ini (misalnya xrandr).
  • Grafik terintegrasi Intel Core i3-3110M tampaknya didukung dalam versi ≤ 9.1.

grepping di pciconfsaya menemukan:

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

dan inilah beberapa hal yang lebih bermanfaat dari 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

Jelas vgapci0layar terpasang. Kelihatannya saat itulah vga0pelakunya yang kami coba buat. Ada di isa0bus yang dilayani oleh isab0jembatan ISA-PCI pci0. Memang, menggali di dalam devinfokita menemukan:

        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

yang konsisten dengan di atas dari dmesg. Perangkat ini digambarkan pciconfsebagai:

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 mencantumkan konektor port fisik yang dimaksud:

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

dan gambar standar 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

tapi tidak ada tentang jembatan PCI-ISA. Jadi mungkin seperti yang disarankan David King , masalahnya adalah tidak ada driver yang dimuat untuk perangkat VGA ISA. Ini menjelaskan mengapa kami tidak melihatnya sebagai noneentri dalam daftar — pciconfini bukan perangkat PCI. Apa yang saya tidak tahu adalah bagaimana mendapatkan informasi lebih lanjut tentang perangkat ini untuk mengetahui driver apa yang harus digunakan, jika itu masalahnya.

wxl
sumber
4
Kedengarannya seperti menjatuhkan monitor eksternal ketika beralih dari driver generik ke yang khusus kartu. Dugaan saya adalah Anda harus mencari dan menginstal driver untuk kartu video yang menjalankan antarmuka VGA eksternal. Dari dmesglog Anda , sepertinya perangkat yang dimaksud adalah vga0: <Generic ISA VGA>...mulai mencari di sana
David King

Jawaban:

1

Melihat masalah ini, Anda menyebutkan hal berikut:

Ketika layar dicolokkan ke port layar VGA eksternal, baik layar terpasang dan layar eksternal aktif di layar BIOS. Setelah FreeBSD mulai mem-boot, tampilan VGA eksternal tidak lagi aktif.

Ini pada dasarnya berarti bahwa Anda perlu mengedit /boot/loader.conf.

Saya akan mencoba sesuatu seperti yang berikut ini di /boot/loader.conf:

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

Dengan asumsi "1024x768" adalah resolusi yang Anda cari.

Sumber: forum freebsd.org , beberapa blog acak - Saya tidak 100% untuk nama / ejaan modul , dan halaman manual FreeBSD vt

Ahhh, tombol Fn tidak berfungsi, hampir lupa bahwa ... Anda biasanya tidak dapat mendeteksi penekanan tombol Fn, namun, keyboard Anda mengartikannya dan menggunakannya sebagai pengubah tombol. Jadi ketika Anda menekan, katakanlah Fn+F4, FreeBSD tidak akan mendapatkan Fn, atau F5acara kunci selain yang lain, yang untuk mengaktifkan / menonaktifkan layar eksternal, yang afaik, tergantung pada jenis keyboard yang Anda gunakan. Sayangnya, FreeBSD tidak memiliki driver yang sesuai untuk keyboard Anda, jadi Anda harus menemukan modul yang tepat dan memuatnya dengan cara yang sama seperti <mod>_load="TRUE"di atas pada /boot/loader.conf. Saya tidak memiliki cukup info di keyboard Anda untuk dapat membantu lebih banyak.

sampah
sumber