rvp b) patch the kernel binary to enable that knob.
Well, I don't recommend patching the kernel now. There are 2 things that need to be changed: one is straight-forward, but the other involves fiddling with a bitfield (sandwiched between other bitfields). And, bitfields are critically dependent on the compiler used, the optimizations performed, the arch, ...very tricky to binary patch correctly.
I've done it for the latest 9.0_STABLE
kernel, but, I would suggest compiling from source with the patches given further on.
Patched kernel here.
Rename the old one away. Run xz -d netbsd.xz
to decompress.
Check if:
a) the i915drmkms: preliminary hardware support disabled
message goes away, and
b) sysctl hw.drm2.i915.preliminary_hw_support
is 1
.
Patch follows:
diff -urN a/usr/src/sys/arch/amd64/conf/GENERIC b/usr/src/sys/arch/amd64/conf/GENERIC
--- a/usr/src/sys/arch/amd64/conf/GENERIC 2020-07-07 10:29:05.000000000 +0000
+++ b/usr/src/sys/arch/amd64/conf/GENERIC 2020-09-02 11:10:36.768518334 +0000
@@ -419,6 +419,7 @@
# DRMKMS drivers
i915drmkms* at pci? dev ? function ?
intelfb* at intelfbbus?
+options CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT
radeon* at pci? dev ? function ?
radeondrmkmsfb* at radeonfbbus?
diff -urN a/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c b/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c
--- a/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c 2019-12-12 21:00:32.000000000 +0000
+++ b/usr/src/sys/external/bsd/drm2/dist/drm/i915/i915_drv.c 2020-09-02 11:11:04.177233238 +0000
@@ -394,7 +394,6 @@
};
static const struct intel_device_info intel_broxton_info = {
- .is_preliminary = 1,
.gen = 9,
.need_gfx_hws = 1, .has_hotplug = 1,
.ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING,
WARNING: consider Intel "Broxton" GPU support experimental. If your card goes up in flames...well, look in the nearest mirror for the culprit.