tl; dr, eu gostaria de usar o monitor externo com o FreeBSD 10.0 em um HP Pavilion g7-2270us. Não me importo se é espelhado ou eu tenho que selecionar um ou outro.
Veja os sintomas:
- Quando uma exibição é conectada à porta de vídeo VGA externa, tanto a tela conectada quanto a externa estão ativas nas telas da BIOS.
- Uma vez que o FreeBSD começa a inicializar, o monitor VGA externo não está mais ativo.
- Uma vez inicializado, o pressionamento de tecla esperado fn F4 para alternar a exibição padrão não tem efeito (nem F4 sozinho), independentemente do estado das "teclas de ação" no BIOS, ou seja, se é necessário usar o modificador.
Outras notas:
- Não há opções no BIOS que seriam relevantes para essa situação.
- Nenhum servidor gráfico instalado, portanto X / Wayland / etc. não tem relevância para essa questão (por exemplo,
xrandr
).
- Os gráficos integrados Intel Core i3-3110M parecem ser suportados em versões ≤ 9.1.
grep
ping em pciconf
eu encontro:
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
e aqui estão algumas coisas mais úteis de 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
Obviamente vgapci0
é a tela anexada. Parece então que vga0
é o culpado que estamos tentando fazer funcionar. Está no barramento isa0
que está sendo atendido pela ponte isab0
ISA-PCI conectada a pci0
. De fato, cavando em torno de devinfo
encontramos:
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
, que é consistente com o acima, de dmesg
. Este dispositivo é descrito por pciconf
como tal:
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
lista o conector da porta física em questão:
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 os gráficos padrão 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
mas nada sobre a ponte PCI-ISA. Então, talvez, como sugere o David King , o problema é que não há driver sendo carregado para o dispositivo ISA VGA . Isso explica por que não vemos isso como uma entrada none
na listagem pciconf
- não é um dispositivo PCI. O que eu não sei é como obter mais informações sobre este dispositivo para descobrir qual driver usar, se esse é o problema em questão.