FreeBSDコンソールで外部ディスプレイを有効にする


17

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以降でサポートされているようです。

greppingの周りのpciconfI見つけます:

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接続されているisab0ISA-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>...がそこを探し始めているように見えます
デビッドキング

回答:


1

この問題を見て、次のことに言及します。

ディスプレイを外部VGAディスプレイポートに接続すると、接続されたディスプレイと外部ディスプレイの両方がBIOS画面でアクティブになります。FreeBSDの起動が開始されると、外部VGAディスプレイはアクティブではなくなります。

これは基本的に、あなたがあなたのを編集する必要があることを意味します/boot/loader.conf

私は次のようなものを試します/boot/loader.conf

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

「1024x768」が後の解像度であると仮定します。

ソース:freebsd.orgフォーラム、いくつかのランダムなブログ-モジュールの名前/綴り、およびFreeBSD vtのマニュアルページが100%ではありませんでした

Ahhh、Fnキーが機能しないため、ほとんど忘れてしまいました。通常、Fnキーの押下を検出することはできませんが、キーボードはそれらを解釈し、キー修飾子として使用します。したがって、たとえばFn+F4、FreeBSDがを取得したFn場合、F5キーイベントは取得しませんが、外部スクリーンを有効化/無効化するイベントは、使用するキーボードのタイプに依存します。悲しいことに、FreeBSDは、適切なドライバがキーボードのためにロードされていないので、あなたは適切なモジュールを検索し、上記と同じ方法でそれをロードしなければならない<mod>_load="TRUE"の中で/boot/loader.conf。しかし、キーボードの情報が足りないので、もっと助けてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.