Testing drm-i915-update-38 (c6d9af5) with patched i915_gem.c, encouraging results.

Arto Pekkanen isoa at kapsi.fi
Mon Feb 8 03:09:14 UTC 2016


Hi again.

I realized that previously the  drm-i915-update-38 (c6d9af5) kernel 
crashed because of a BUG_ON trap in i915_gem.c, not because of actual 
code fault.

Then I found the following discussion in GitHub: 
https://github.com/freebsd/freebsd-base-graphics/issues/2

There the user myfreeweb "McGyver'd" the BUG_ON trap away by replacing 
it with WARN_ON -macro. I wanted to see if the driver would work, so I 
did the same.

Attached is the diff that replaces BUG_ON with WARN_ON in i915_gem.c and 
thus makes the kernel not crash while playing games/openarena.

The results:
- kernel boots
- vt console works
- LVDS + 2 monitors on HDMI2 and HDMI3, all work with native 
resolutions,
   NOTE: this is an IMPROVEMENT! Previously X.org would HANG if I enabled 
more than 2 monitors!
- video playback is perfect, no tearing, minimal CPU use, tested with
   - www/chromium
   - multimedia/mpv (with VAAPI enabled in multimedia/mpv and 
multimedia/ffmpeg)
- games/openarena works just fine

In fact, I can actually run games/openarena at the same time with 
www/chromium wathing https://www.youtube.com/watch?v=5xkNy9gfKOg (full 
HD tearing test video), with some stuttering on both ... but this is to 
be expected, because the kernel has to serve 2 OpenGL pipes at the same 
time which is problematic.

And because I can now use 3 outputs at the same time, I am very 
impressed.

I see many warnings like this in dmesg:
Feb  8 04:33:15 leno kernel: error: 
[drm:pid1073:i915_gem_object_move_to_inactive] *ERROR* WARN ON: 
obj->base.write_domain & ~I915_GEM_GPU_DOMAINS

The frequency between these errors is about one second when I run 
games/openarena. With www/chromium I do not see these warnings.

The only real gripe I have is that the FreeBSD 11 -based kernel does not 
detect my Intel Wifi chip, yet stock FreeBSD 10.2 was able to do that. 
Should I report this as a regression somewhere? The problem with 
reporting this is that I am running FreeBSD 10.2 userland, and I feel 
like the developers might not want to deal with that.

I will leave the laptop on while I sleep, leave it running the Tearing 
Test -video mentioned above. If it crashes I will post core dump etc.

-- 
Arto Pekkanen


More information about the freebsd-x11 mailing list