Mesa 재설치 후 OpenGL 응용 프로그램이 끔찍한 오류 메시지를 표시함

Mesa 재설치 후 OpenGL 응용 프로그램이 끔찍한 오류 메시지를 표시함

Lenovo Ideapad의 Linux Mint 17.3 KDE에서 Mesa 드라이버를 업그레이드하기 위해 몇 가지 PPA를 시도한 후 모든 것이 다시 제대로 작동하는 것 같습니다. 그러나 이제 OpenGL 프로그램을 실행하려고 할 때마다 다음과 같은 결과가 나타납니다.

$ glxgears
libGL error: pci id for fd 4: 8086:1916, driver (null)   
i965_dri.so does not support the 0x1916 PCI ID.
libGL error: failed to create dri screen
libGL error: failed to load driver: i965

종료 후 다음과 같은 일이 발생합니다(또는 내 자신의 알레그로 관련 프로젝트에서 특이한 세그폴트).

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
  after 13936 requests (13934 known processed) with 0 events remaining.

그리고 그 프로그램은 분명히 잘 작동하는 것 같습니다. (이 외에도 glxgears는 더 이상 이전처럼 60fps로 제한되지 않는 것 같습니다.)

다음은 관련성이 있을 것으로 예상되는 출력입니다.

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)
$ dpkg -l | grep mesa
ii  libegl1-mesa:amd64                          10.1.3-0ubuntu0.6                                 amd64        free implementation of the EGL API -- runtime  
ii  libegl1-mesa-dev                            10.1.3-0ubuntu0.6                                 amd64        free implementation of the EGL API -- development files
ii  libegl1-mesa-drivers:amd64                  10.1.3-0ubuntu0.6                                 amd64        free implementation of the EGL API -- hardware drivers
rc  libegl1-mesa-lts-vivid:amd64                10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the EGL API -- runtime
ii  libgl1-mesa-dev                             10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenGL API -- GLX development files
ii  libgl1-mesa-dri:amd64                       10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenGL API -- DRI modules
rc  libgl1-mesa-dri-lts-vivid:amd64             10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the OpenGL API -- DRI modules
rc  libgl1-mesa-dri-lts-vivid:i386              10.5.9-2ubuntu1~trusty2                           i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                       10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenGL API -- GLX runtime
ii  libgl1-mesa-glx:i386                        10.1.3-0ubuntu0.6                                 i386         free implementation of the OpenGL API -- GLX runtime
rc  libgl1-mesa-glx-lts-vivid:amd64             10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the OpenGL API -- GLX runtime
rc  libgl1-mesa-glx-lts-vivid:i386              10.5.9-2ubuntu1~trusty2                           i386         free implementation of the OpenGL API -- GLX runtime
ii  libglapi-mesa:amd64                         10.1.3-0ubuntu0.6                                 amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                          10.1.3-0ubuntu0.6                                 i386         free implementation of the GL API -- shared library
rc  libglapi-mesa-lts-vivid:amd64               10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the GL API -- shared library
rc  libglapi-mesa-lts-vivid:i386                10.5.9-2ubuntu1~trusty2                           i386         free implementation of the GL API -- shared library
rc  libgles1-mesa-lts-vivid:amd64               10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the OpenGL|ES 1.x API -- runtime
ii  libgles2-mesa:amd64                         10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenGL|ES 2.x API -- runtime
ii  libgles2-mesa-dev                           10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenGL|ES 2.x API -- development files
rc  libgles2-mesa-lts-vivid:amd64               10.5.9-2ubuntu1~trusty2                           amd64        free implementation of the OpenGL|ES 2.x API -- runtime
ii  libglu1-mesa:amd64                          9.0.0-2                                           amd64        Mesa OpenGL utility library (GLU)
ii  libglu1-mesa:i386                           9.0.0-2                                           i386         Mesa OpenGL utility library (GLU)
ii  libglu1-mesa-dev                            9.0.0-2                                           amd64        Mesa OpenGL utility library -- development files
ii  libmirclientplatform-mesa:amd64             0.1.8+14.04.20140411-0ubuntu1                     amd64        Display server for Ubuntu - client platform library for Mesa
ii  libopenvg1-mesa:amd64                       10.1.3-0ubuntu0.6                                 amd64        free implementation of the OpenVG API -- runtime
ii  libwayland-egl1-mesa:amd64                  10.1.3-0ubuntu0.6                                 amd64        implementation of the Wayland EGL platform -- runtime
rc  libwayland-egl1-mesa-lts-vivid:amd64        10.5.9-2ubuntu1~trusty2                           amd64        implementation of the Wayland EGL platform -- runtime
ii  mesa-common-dev                             10.1.3-0ubuntu0.6                                 amd64        Developer documentation for Mesa
ii  mesa-utils                                  8.1.0-2                                           amd64        Miscellaneous Mesa GL utilities

편집: lspci -v는 "사용 중인 커널 드라이버"가 "i915_bpo"임을 보여줍니다. 이게 i965로 되어있나요?

편집: 다음은 일부 정리된 glxinfo 출력입니다.

name of display: :0
libGL error: pci id for fd 4: 8086:1916, driver (null)
i965_dri.so does not support the 0x1916 PCI ID.
libGL error: failed to create dri screen
libGL error: failed to load driver: i965
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
...
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
...
GLX version: 1.4
GLX extensions: 
...
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
...

편집: 다음은 형식이 지정된 inxi 출력입니다.

$ inxi -Gi
Graphics:  
Card: Intel Sky Lake Integrated Graphics
Display Server: X.Org 1.15.1 drivers: intel (unloaded: fbdev,vesa)
Resolution: [email protected]
GLX Renderer: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits) 
GLX Version: 2.1 Mesa 10.1.3

편집: 더 관련성이 높은 출력

$ lsmod | grep 'i9' 
i915_bpo             1138688  3 
intel_ips              20480  1 i915_bpo
i2c_algo_bit           16384  1 i915_bpo
drm_kms_helper        126976  1 i915_bpo
drm                   344064  4 i915_bpo,drm_kms_helper
video                  20480  1 i915_bpo

$ modinfo i915_bpo
filename:       /lib/modules/3.19.0-32-generic/kernel/ubuntu/i915/i915_bpo.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
firmware:       i915/skl_dmc_ver1.bin
srcversion:     55E14C24236445DE1BF5F67

편집: 실제로 모든 GL 관련 응용 프로그램은 특히 김프에서 오작동합니다. 이것은 확실히 내 이전 드라이버가 아닙니다. ppa 파일을 수동으로 삭제했지만 ppa-purge도 도움이 되지 않았습니다.

관련 정보