Abilita la visualizzazione esterna sulla console di FreeBSD


17

tl; dr, mi piacerebbe usare il display esterno con FreeBSD 10.0 su un HP Pavilion g7-2270us. Non importa se è speculare o devo selezionare l'uno o l'altro.

Ecco i sintomi:

  • Quando uno schermo è collegato alla porta dello schermo VGA esterno, sia lo schermo collegato che lo schermo esterno sono attivi sulle schermate del BIOS.
  • Una volta che FreeBSD inizia ad avviarsi, il display VGA esterno non è più attivo.
  • Una volta avviato, la fnF4combinazione di tasti prevista per attivare / disattivare la visualizzazione predefinita non ha alcun effetto (né funziona F4da sola), indipendentemente dallo stato dei "Tasti azione" nel BIOS, ovvero se è necessario utilizzare il modificatore.

Altre note:

  • Non ci sono opzioni nel BIOS che sarebbero rilevanti per questa situazione.
  • Nessun server grafico installato, quindi X / Wayland / ecc. non ha rilevanza per questa domanda (ad es xrandr.).
  • La grafica integrata Intel Core i3-3110M sembra essere supportata nelle versioni ≤ 9.1.

grepping in giro pciconftrovo:

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

ed ecco alcune cose più utili di 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

Ovviamente vgapci0è la schermata allegata. Sembra quindi che vga0sia il colpevole che stiamo cercando di far funzionare. È sul isa0bus che viene servito dal isab0ponte ISA-PCI collegato pci0. In effetti, scavando in giro devinfotroviamo:

        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

che è coerente con quanto sopra da dmesg. Questo dispositivo è descritto pciconfcome tale:

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 elenca il connettore della porta fisica in questione:

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

e la grafica standard 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

ma nulla del bridge PCI-ISA. Quindi, forse come suggerisce David King , il problema è che non è stato caricato alcun driver per il dispositivo VGA ISA. Questo spiega perché non lo vediamo come una nonevoce pciconfnell'elenco - non è un dispositivo PCI. Quello che non so è come ottenere maggiori informazioni su questo dispositivo al fine di capire anche quale driver utilizzare, se questo è il problema a portata di mano.


4
Sembra che stia lasciando cadere il monitor esterno quando passa da driver generici a driver specifici per schede. Suppongo che dovrai trovare e installare i driver per la scheda video che esegue l'interfaccia VGA esterna. Dal tuo dmesgregistro sembra che il dispositivo in questione sia l' vga0: <Generic ISA VGA>...inizio guardando lì
David King,

Risposte:


1

Guardando questo problema, menzioni quanto segue:

Quando uno schermo è collegato alla porta dello schermo VGA esterno, sia lo schermo collegato che lo schermo esterno sono attivi sulle schermate del BIOS. Una volta che FreeBSD inizia ad avviarsi, il display VGA esterno non è più attivo.

Questo in pratica significa che devi modificare il tuo /boot/loader.conf.

Vorrei provare qualcosa di simile nel seguente /boot/loader.conf:

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

Supponendo che "1024x768" sia la risoluzione che stai cercando.

Fonti: forum di freebsd.org , alcuni blog casuali - non ero al 100% per il nome / l'ortografia del modulo e la pagina man di FreeBSD vt

Ahhh, i tasti Fn non funzionano, quasi dimenticavo quello ... di solito non è possibile rilevare la pressione dei tasti Fn, tuttavia, la tastiera li interpreta e lo utilizza come modificatore di tasti. Quindi quando premi, diciamo Fn+F4, FreeBSD non otterrà né Fn, né F5eventi chiave, ma un altro, quello per abilitare / disabilitare lo schermo esterno, che a seconda del caso, dipende dal tipo di tastiera che usi. Sfortunatamente, FreeBSD non ha il driver corretto caricato per la tua tastiera, quindi dovresti trovare il modulo giusto e caricarlo come sopra <mod>_load="TRUE"in /boot/loader.conf. Tuttavia, non ho abbastanza informazioni sulla tastiera per poter aiutare di più.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.