tl;dr,我想在 HP Pavilion g7-2270us 上使用带有 FreeBSD 10.0 的外部显示器。不在乎它是否镜像,否则我必须选择其中之一。
症状如下:
- 当显示器插入外部 VGA 显示端口时,连接的显示器和外部显示器都会在 BIOS 屏幕上处于活动状态。
- 一旦 FreeBSD 开始启动,外部 VGA 显示器就不再活动。
- 启动后,无论 BIOS 中“操作键”的状态如何,即是否需要使用修改器,fnF4用于切换默认显示的预期击键都不起作用(单独也不起作用)。F4
其他注意事项:
- BIOS 中没有与这种情况相关的选项。
- 没有安装图形服务器,所以 X/Wayland/etc。与这个问题无关(例如
xrandr
)。 - Intel Core i3-3110M 集成显卡似乎是支持的版本 ≤ 9.1。
grep
我发现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
就是我们试图让工作发生的罪魁祸首。它位于由连接到 的 ISA-PCI 桥isa0
提供服务的总线上。事实上,深入挖掘我们发现:isab0
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 桥的信息。所以也许作为大卫·金表明,问题是没有为 ISA VGA 设备加载驱动程序。这解释了为什么我们没有将其视为列表none
中的条目——pciconf
它不是 PCI 设备。我不知道如何获取有关该设备的更多信息,以便找出要使用的驱动程序(如果这是手头的问题)。
答案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 手册页
啊啊,Fn 键不起作用,差点忘了……您通常无法检测到 Fn 键按下,但是,您的键盘会解释它们并将其用作按键修饰符。因此,当您点击 时Fn+F4
,FreeBSD 既不会收到Fn
,也不会收到F5
按键事件,而是收到另一个事件,即用于启用/禁用外部屏幕的事件,据我所知,这取决于您使用的键盘类型。遗憾的是,FreeBSD 没有为您的键盘加载正确的驱动程序,因此您必须找到正确的模块并以与上述相同的方式加载<mod>_load="TRUE"
它/boot/loader.conf
。不过,我在您的键盘上没有足够的信息,无法提供更多帮助。