I assert xf86-video-intel problems due to 2 bugs SIX characters total
David Shao
davshao at gmail.com
Fri Mar 17 02:02:49 UTC 2017
My testing using pkgsrc merged with FreeBSD ports patches on
FreeBSD 11-release, 11-stable, and 12-current has shown that only
2 bugs, a total of SIX characters, were preventing proper functioning
of xf86-video-intel, one of those bugs not even in xf86-video-intel but
instead in libdrm. The xf86-video-intel was instantly patched minutes
after I submitted a bug report. I also submitted the libdrm bug report:
https://bugs.freedesktop.org/show_bug.cgi?id=100077
"libdrm atomic_add_unless() may reverse return value meaning"
--- xf86atomic.h.orig 2015-09-22 04:34:51.000000000 +0000
+++ xf86atomic.h
@@ -111,7 +111,7 @@ static inline int atomic_add_unless(atom
c = atomic_read(v);
while (c != unless && (old = atomic_cmpxchg(v, c, c + add)) != c)
c = old;
- return c == unless;
+ return c != unless;
}
I am curious what exactly people are successfully running. Are they
even using xf86-video-intel?
I am using libdrm 2.4.75, mesa 17.0.1, xorg-server 1.19.2, and
xf86-video-intel up through the 2017-02-28 patch for the above bug.
For mesa 17.0.1 I am using --enable-glx-tls in full awareness that
FreeBSD does not match what Linux's glibc does.
For an Intel IvyBridge machine with an i3-3225 CPU, Xorg.0.log has
entries similar to:
[ 240.791] intel: card at 0:2:0 is claimed by a Device section
[ 240.792] (II) intel(0): Using Kernel Mode Setting driver: i915,
version 1.6.0 20080730
[ 240.792] (II) intel(0): SNA compiled with assertions enabled
...
[ 240.827] (WW) Falling back to old probe method for vesa
[ 240.827] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 240.828] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD
Graphics 4000
...
[ 240.901] (II) intel(0): SNA initialized with Ivybridge (gen7, gt2) backend
[ 240.901] (==) intel(0): Backing store enabled
[ 240.901] (==) intel(0): Silken mouse enabled
[ 240.902] (II) intel(0): HW Cursor enabled
[ 240.902] (II) intel(0): RandR 1.2 enabled, ignore the following
RandR disabled message.
[ 240.904] (==) intel(0): DPMS enabled
[ 240.919] (II) intel(0): [DRI2] Setup complete
[ 240.919] (II) intel(0): [DRI2] DRI driver: i965
[ 240.919] (II) intel(0): [DRI2] VDPAU driver: va_gl
[ 240.919] (II) intel(0): direct rendering: DRI2 enabled
[ 240.919] (II) intel(0): hardware support for Present enabled
[ 240.919] InitOutput - xf86Screens[0]->pScreen = 0x803538400
[ 240.919] xf86Screens[0]->pScreen->CreateWindow = 0x805a5a230
[ 240.919] (--) RandR disabled
[ 240.926] XFree86VidModeExtensionInitVidModeAddExtension
[ 241.156] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 241.156] (II) AIGLX: enabled GLX_ARB_create_context
[ 241.156] (II) AIGLX: enabled GLX_ARB_create_context_profile
[ 241.156] (II) AIGLX: enabled GLX_EXT_create_context_es{,2}_profile
[ 241.156] (II) AIGLX: enabled GLX_INTEL_swap_event
etc. So SNA with dri2.
For Firefox 52, I use:
LD_PRELOAD=/usr/pkg/lib/libGL.so firefox &
In about:config I set
layers.acceleration.force-enabled true
If you try and follow this, know how to edit the local prefs.js!
Then in about:support I obtain:
Graphics
Features
Compositing OpenGL
Asynchronous Pan/Zoom none
WebGL Renderer Intel Open Source Technology Center -- Mesa DRI
Intel(R) Ivybridge Desktop
WebGL2 Renderer Intel Open Source Technology Center -- Mesa DRI
Intel(R) Ivybridge Desktop
Hardware H264 Decoding No
Audio Backend oss
GPU #1
Active Yes
Description Intel Open Source Technology Center -- Mesa DRI
Intel(R) Ivybridge Desktop
Vendor ID Intel Open Source Technology Center
Device ID Mesa DRI Intel(R) Ivybridge Desktop
Driver Version 3.0 Mesa 17.0.1
Diagnostics
AzureCanvasAccelerated 0
AzureCanvasBackend skia
AzureContentBackend skia
AzureFallbackCanvasBackend none
CairoUseXRender 0
Decision Log
HW_COMPOSITING
blocked by default: Acceleration blocked by platform
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING
force_enabled by user: Force-enabled by pref
I am then able to go to sites such as
https://www.chromeexperiments.com/webgl
to view the webgl demos. Again before trying these demos
know how to edit prefs.js!
Now for the sake of full disclosure, on the IvyBridge machine
running FreeBSD 12-current, after a while there have been
lockup problems with WebGL Water
http://madebyevan.com/webgl-water/
(Same pkgsrc code on NetBSD current lower tier Radeon card
on another amd cpu machine very smoothly runs webgl-water.)
To summarize, applications such as glxgears and Firefox with
webgl and hardware acceleration enabled work for me with the
ONE CHARACTER patch to libdrm in atomic_add_unless, using
xf86-video-intel. I'm writing this right now in the same Firefox 52 on
FreeBSD xxxxxx.xxx 12.0-CURRENT FreeBSD 12.0-CURRENT
#2 r314974+16bf7dd2d06(svn_head): Wed Mar 15 20:52:59 PDT 2017
xxxxxx at xxxxxx.xxx:/usr/obj/usr/src/sys/GENERIC amd64
More information about the freebsd-x11
mailing list