Lost HW OpenGL on intel

Bengt Ahlgren bengt.ahlgren at ri.se
Fri Jun 16 18:18:37 UTC 2017


Bengt Ahlgren <bengt.ahlgren at ri.se> writes:

> Bengt Ahlgren <bengt.ahlgren at ri.se> writes:
>
>> HW OpenGL stopped working for me - I think it was after the last mesa
>> update (17.1.1).  This is with 10.3-STABLE (r316723) and intel ironlake
>> graphics.
>>
>> Xorg log says:
>>
>> [    18.061] (II) intel(0): DRI2: Enabled
>> [    18.061] (II) intel(0): DRI3: Disabled
>> [    18.069] (--) RandR disabled
>> [    18.110] (EE) AIGLX error: Calling driver entry point failed
>> [    18.111] (EE) AIGLX: reverting to software rendering
>> [    18.470] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
>> [    18.471] (II) AIGLX: Loaded and initialized swrast
>> [    18.471] (II) GLX: Initialized DRISWRAST GL provider for screen 0
>>
>> I have these packages:
>>
>> mesa-dri-17.1.1                OpenGL hardware acceleration drivers for DRI2+
>> mesa-libs-17.1.1               OpenGL libraries that support GLX and EGL clients
>> xf86-video-intel-2.99.917.20170228_1 Driver for Intel integrated graphics chipsets
>> xorg-server-1.18.4_1,1         X.Org X server and related programs
>>
>> Any advice?
>
> Some more information about this system:
>
> * Lenovo X201 with Core i7 M620
> * "Intel(R) HD Graphics" (Ironlake - fifth gen):
>
> vgapci0 at pci0:0:2:0:     class=0x030000 card=0x215a17aa chip=0x00468086 rev=0x02 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = 'Core Processor Integrated Graphics Controller'
>     class      = display
>     subclass   = VGA
>     bar   [10] = type Memory, range 64, base 0xf2000000, size 4194304, enabled
>     bar   [18] = type Prefetchable Memory, range 64, base 0xd0000000, size 268435456, enabled
>     bar   [20] = type I/O Port, range 32, base 0x1800, size 8, enabled
>     cap 05[90] = MSI supports 1 message enabled with 1 message
>     cap 01[d0] = powerspec 2  supports D0 D3  current D0
>     cap 13[a4] = PCI Advanced Features: FLR TP
>
> * no xorg.conf - xorg selects intel driver
> * i915kms.ko is loaded when Xorg starts (but it
>   does not make any difference if it's loaded from /boot/loader.conf)
> * VT console (kern.vty="vt" in loader.conf)
>
> I'd be happy to provide more information and do some debugging, but will
> need instructions.

I got a lead by running:

$ LIBGL_DEBUG=verbose glinfo|more
libGL: OpenDriver: trying /usr/local/lib/dri/i965_dri.so
[intel_init_bufmgr: 1317] Kernel 3.6 required.
libGL error: failed to create dri screen
libGL error: failed to load driver: i965

Looking into that function (intel_init_bufmgr() in port graphics/libdrm,
mesa-17.1.1/src/mesa/drivers/dri/i965/intel_screen.c) reveals that it
tries this:

   if (!intel_get_boolean(screen, I915_PARAM_HAS_WAIT_TIMEOUT)) {
      fprintf(stderr, "[%s: %u] Kernel 3.6 required.\n", __func__, __LINE__);
      return false;
   }

But, I915_PARAM_HAS_WAIT_TIMEOUT does not exist on 10.x!

It is missing in src/sys/dev/drm2/i915/i915_drm.h, so it fails, and
resorts to sw rendering.

Bengt


More information about the freebsd-x11 mailing list