Aktivieren Sie die externe Anzeige auf der FreeBSD-Konsole

17

Ich möchte das externe Display mit FreeBSD 10.0 auf einem HP Pavilion g7-2270us verwenden. Es ist mir egal, ob es gespiegelt ist oder ich das eine oder andere auswählen muss.

Hier sind die Symptome:

  • Wenn ein Bildschirm an den externen VGA-Bildschirmanschluss angeschlossen ist, sind sowohl der angeschlossene Bildschirm als auch der externe Bildschirm auf den BIOS-Bildschirmen aktiv.
  • Sobald FreeBSD zu booten beginnt, ist das externe VGA-Display nicht mehr aktiv.
  • Nach dem Booten hat der erwartete fnF4Tastendruck zum Umschalten der Standardanzeige keine Auswirkung (und tut dies auch nicht F4alleine), unabhängig vom Status der "Aktionstasten" im BIOS, dh ob der Modifikator verwendet werden muss oder nicht.

Weitere Hinweise:

  • Es gibt keine Optionen im BIOS, die für diese Situation relevant wären.
  • Keine Grafikserver installiert, daher X / Wayland / etc. hat keine Relevanz für diese Frage (zB xrandr).
  • Die Intel Core i3-3110M integrierte Grafik angezeigt werden unterstützt in Versionen ≤ 9.1.

grepHerumstöbern in pciconffinde ich:

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

und hier noch ein paar nützliche Sachen von 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

Offensichtlich vgapci0ist der angehängte Bildschirm. Es scheint, dass dies vga0der Schuldige ist, den wir versuchen, Arbeit zu schaffen. Es befindet sich auf dem isa0Bus, der von der isab0ISA-PCI-Bridge bedient wird, an die es angeschlossen ist pci0. Tatsächlich devinfofinden wir beim Herumgraben:

        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

was im Einklang mit dem oben aus dmesg. Dieses Gerät wird folgendermaßen beschrieben 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 listet den betreffenden physischen Port-Connector auf:

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

und die Standard-0x0166-Grafik:

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

aber nichts über die PCI-ISA-Brücke. Vielleicht liegt das Problem, wie David King vorschlägt, darin, dass für das ISA-VGA-Gerät kein Treiber geladen wird. Dies erklärt, warum wir es nicht als noneEintrag in der pciconfListe sehen - es ist kein PCI-Gerät. Was ich nicht weiß, ist, wie ich weitere Informationen zu diesem Gerät erhalten kann, um herauszufinden, welchen Treiber ich verwenden soll, wenn dies das Problem ist.

wxl
quelle
4
Es hört sich so an, als würde der externe Monitor gelöscht, wenn von generischen Treibern auf kartenspezifische umgeschaltet wird. Ich vermute, Sie müssen die Treiber für die Grafikkarte finden und installieren, auf der die externe VGA-Schnittstelle ausgeführt wird. Aus Ihrem dmesgProtokoll geht hervor, dass es sich bei dem fraglichen Gerät um den ersten vga0: <Generic ISA VGA>...Blick handelt
David King,

Antworten:

1

Bei diesem Problem erwähnen Sie Folgendes:

Wenn ein Bildschirm an den externen VGA-Bildschirmanschluss angeschlossen ist, sind sowohl der angeschlossene Bildschirm als auch der externe Bildschirm auf den BIOS-Bildschirmen aktiv. Sobald FreeBSD zu booten beginnt, ist das externe VGA-Display nicht mehr aktiv.

Dies bedeutet im Grunde, dass Sie Ihre bearbeiten müssen /boot/loader.conf .

Ich würde folgendes ausprobieren /boot/loader.conf:

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

Angenommen, "1024x768" ist die Auflösung, nach der Sie suchen.

Quellen: freebsd.org-Foren , ein zufälliges Blog - ich war nicht zu 100% für den Namen / die Schreibweise des Moduls und die FreeBSD vt-Manpage

Ahhh, die Fn-Tasten funktionieren nicht, haben fast vergessen, dass eine ... Sie können Fn-Tastendrücke normalerweise nicht erkennen, Ihre Tastatur interpretiert sie jedoch und verwendet sie als Tastenmodifikator. Wenn Sie also beispielsweise drücken Fn+F4, erhält FreeBSD weder Tastenereignisse Fnnoch F5Ereignisse, sondern nur ein anderes, das zum Aktivieren / Deaktivieren des externen Bildschirms dient. Dies hängt von der Art der Tastatur ab, die Sie verwenden. Leider hat FreeBSD nicht den richtigen Treiber für Ihre Tastatur geladen, so dass Sie das richtige Modul finden und es auf die gleiche Weise wie oben <mod>_load="TRUE"in laden müssten /boot/loader.conf. Ich habe jedoch nicht genügend Informationen auf Ihrer Tastatur, um mehr helfen zu können.

thecarpy
quelle