Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jun 2017 19:15:50 +0200
From:      Bengt Ahlgren <bengt.ahlgren@ri.se>
To:        <x11@freebsd.org>
Subject:   Re: Lost HW OpenGL on intel
Message-ID:  <uh71sqiilh5.fsf@P142s.sics.se>
In-Reply-To: <uh7efujpzz9.fsf@P142s.sics.se> (Bengt Ahlgren's message of "Fri,  16 Jun 2017 20:08:26 %2B0200")
References:  <uh7k24j3h6t.fsf@P142s.sics.se> <uh7vao2gvrm.fsf@P142s.sics.se> <uh7efujpzz9.fsf@P142s.sics.se>

next in thread | previous in thread | raw e-mail | index | archive | help
For the record: applying the patch for intel_screen.c from
https://reviews.freebsd.org/D11148 to graphics/mesa-dri also works for
the current Mesa 17.1.1, i.e., restores HW OpenGL for intel graphics on
10.x.

Bengt

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

> Bengt Ahlgren <bengt.ahlgren@ri.se> writes:
>
>> Bengt Ahlgren <bengt.ahlgren@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?uh71sqiilh5.fsf>