NetBSD 9.2 und i915 Grafiktreiber: Problem

berni51

Open-Net-FreeBSD user
Auf einen nicht mehr ganz taufrischen Intel NUC 6CAYB mit Celeron soll ein NetBSD 9.2. Nach problemloser Installation fällt mir beim ersten Booten folgende Meldung unangenehm auf: i915 preliminary hardware support disabled

Und beim ersten Start von X kommts dann auch: Der Treiber ist disabled und Xorg fällt auf Vesa zurück: Maximal 1024x768.
Das ist selbst auf einem 19"er zu mies.

Hier läuft ja NetBSD auf mehreren Maschinen und die haben teilweise auch Intel-Grafik on Board. Da klappts aber mit dem I915-Treiber, nur auf dem NUC nicht. Oder OpenBSD läuft auf dem NUC ebenfalls einwandfrei, auch mit dem i915-Treiber, Linux (natürlich) auch.

Hab versucht, per sysctl den Status des Treibers zu verändern - ohne Erfolg.

Hier mal Meldungen zum I915-Treiber, einmal für den NUC und einmal für ein Lenovo ThinkCentre:

Code:
thinky (Lenovo ThinkCentre M73)
#################################
dmesg:
[     1,038099] i915drmkms0 at pci0 dev 2 function 0: vendor 8086 product 0402 (rev. 0x06)
[     5,711616] i915drmkms0: interrupting at ioapic0 pin 16 (i915drmkms0)
[     5,831669] kern info: [drm] GMBUS [i915 gmbus dpd] timed out, falling back to bit banging on pin 6
[     5,901698] intelfb0 at i915drmkms0

modstat:
i915drmkms                 driver   builtin  -        0       - drmkms,drmkms_pci

sysctl:
hw.drm2.i915.guc_log_level = -1
hw.drm2.i915.enable_guc_submission = 0
hw.drm2.i915.edp_vswing = 0
hw.drm2.i915.nuclear_pageflip = 0
hw.drm2.i915.verbose_state_checks = 1
hw.drm2.i915.mmio_debug = 0
hw.drm2.i915.use_mmio_flip = 0
hw.drm2.i915.enable_cmd_parser = 1
hw.drm2.i915.disable_vtd_wa = 0
hw.drm2.i915.disable_display = 0
hw.drm2.i915.invert_brightness = 0
hw.drm2.i915.load_detect_test = 0
hw.drm2.i915.prefault_disable = 0
hw.drm2.i915.fastboot = 0
hw.drm2.i915.enable_ips = 1
hw.drm2.i915.disable_power_well = 1
hw.drm2.i915.preliminary_hw_support = 0
hw.drm2.i915.enable_psr = 0
hw.drm2.i915.enable_execlists = 0
hw.drm2.i915.enable_ppgtt = 1
hw.drm2.i915.enable_hangcheck = 1
hw.drm2.i915.reset = 1
hw.drm2.i915.vbt_sdvo_panel_type = -1
hw.drm2.i915.panel_use_ssc = -1
hw.drm2.i915.lvds_channel_mode = 0
hw.drm2.i915.enable_fbc = -1
hw.drm2.i915.enable_rc6 = 1
hw.drm2.i915.semaphores = -1
hw.drm2.i915.panel_ignore_lid = 1
hw.drm2.i915.modeset = -1


nuc2 (Intel NUC 6CAYB, Celeron)
#####################################
dmesg:
[     1,015551] i915drmkms: preliminary hardware support disabled

modstat:
i915drmkms                 driver   builtin  -        0       - drmkms,drmkms_pci

sysctl:
hw.drm2.i915.guc_log_level = -1
hw.drm2.i915.enable_guc_submission = 0
hw.drm2.i915.edp_vswing = 0
hw.drm2.i915.nuclear_pageflip = 0
hw.drm2.i915.verbose_state_checks = 1
hw.drm2.i915.mmio_debug = 0
hw.drm2.i915.use_mmio_flip = 0
hw.drm2.i915.enable_cmd_parser = 1
hw.drm2.i915.disable_vtd_wa = 0
hw.drm2.i915.disable_display = 0
hw.drm2.i915.invert_brightness = 0
hw.drm2.i915.load_detect_test = 0
hw.drm2.i915.prefault_disable = 0
hw.drm2.i915.fastboot = 0
hw.drm2.i915.enable_ips = 1
hw.drm2.i915.disable_power_well = -1
hw.drm2.i915.preliminary_hw_support = 1
hw.drm2.i915.enable_psr = 0
hw.drm2.i915.enable_execlists = -1
hw.drm2.i915.enable_ppgtt = -1
hw.drm2.i915.enable_hangcheck = 1
hw.drm2.i915.reset = 1
hw.drm2.i915.vbt_sdvo_panel_type = -1
hw.drm2.i915.panel_use_ssc = -1
hw.drm2.i915.lvds_channel_mode = 0
hw.drm2.i915.enable_fbc = -1
hw.drm2.i915.enable_rc6 = -1
hw.drm2.i915.semaphores = -1
hw.drm2.i915.panel_ignore_lid = 1
hw.drm2.i915.modeset = -1

Irgendeine Idee, wo ich mal dran schrauben könnte?

Ratlos im Vogelsberg
Berni
 
Hab 10 Tage für die Lösung gebraucht, aber es klappt jetzt alles! Dazu war folgendes notwendig:

1. Der i915drmkms kommt mit der Intel GPU meines NUC nicht zurecht. Also hab ich den als erstes deaktiviert, und zwar mit einem Eintrag in der /boot.cfg. Der wsfb Treiber brachte mir aber auch nur eine maximale Auflösung von 1024x768. Musste also, ebenfalls in der /boot.cfg, den GOP Mode auf 0 setzen.
Damit hatte ich die maximal mögliche Auflösung für xorg erreicht.
2. So weit, so schlecht. Denn als Nebeneffekt war jetzt die wscons Auflösung auf der Console unter aller Würde. Sah aus wie ein alter CGA-Bildschirm. Trotz vieler Versuche ist es mir nicht gelungen, mittels wsconsctl einen anderen Font zu laden. Letzendlich habe ich dann einen Kernel gebaut, der für die Console einen anderen Font lädt. Nach einigen Misserfolgen und Verschlimmbesserungen bin ich dann bei spleen8x16 gelandet. Wo ich schon beim Kernel-Bauen war, hab ich dann direkt den i915drmkms disabled.

Jetzt ist alles so, wie ich es haben will: 80x50 auf der Console und 1280x1024 unter xorg. Mühsam, aber so kann NetBSD auf dem alten NUC weiter laufen.

Der Eintrag in der /boot.cfg sieht jetzt so aus:
menu=Boot High Resolution:gop 0;rndseed /var/db/entropy-file;boot netbsd

Der entsprechende Hinweis kam in daemonforums.com.

Das war's, was ich euch kurz mitteilen wollte.

Berni, zufrieden.
 
Zurück
Oben