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

Alexander Mishurov alexander.m.mishurov at gmail.com
Mon Feb 8 05:51:16 UTC 2016


This is a bug actually, seems to be related to some kind of race condition.
Original Intel driver from Linux even in later versions uses BUG_ON for 
this expression.

On 08/02/16 06:09, Arto Pekkanen wrote:
> 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.
>



More information about the freebsd-x11 mailing list