모든 Intel GPU는 소프트웨어 렌더링(Mesa)만 사용합니까?

모든 Intel GPU는 소프트웨어 렌더링(Mesa)만 사용합니까?

내가 찾고 있어요:-

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.7
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

위에서 보면 이렇습니다 -

OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile

소프트웨어 렌더링이 사용되는 것 같습니다. 필요한 경우 하드웨어 렌더링을 활성화하는 방법은 무엇입니까?

답변1

하드웨어 렌더링을 사용 중일 수 있습니다. 다음을 확인하십시오.

$ glxinfo | fgrep direct
direct rendering: Yes

위의 "직접 렌더링"은 다음과 같이 설명됩니다.위키피디아처럼:

이것직접 렌더링 인프라(DRI)X Window System 아래의 그래픽 하드웨어에 안전하고 효율적인 방식으로 직접 액세스할 수 있는 프레임워크입니다. DRI의 주요 목적은 OpenGL의 Mesa 구현을 위한 하드웨어 가속을 제공하는 것입니다.

@Ruslan이 지적했듯이 Mesa에는 그래픽 하드웨어 가속기를 사용할 수 없을 때 대체 수단으로 사용할 수 있는 소프트웨어 렌더러가 포함되어 있습니다. 그것은 알려져있다갈륨존재하다 OpenGL renderer string. 그러나 출력에는 소프트웨어 렌더러가 아닌 Intel 렌더러가 사용되고 있음이 표시됩니다.

답변2

하드웨어 렌더링을 사용해야 합니다. 소프트웨어 렌더러에는 또 다른 이름이 있습니다.

$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo|grep '\<renderer\>'
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)

쉽게 확인하려면 위 명령의 출력을 none 과 비교해 보면 됩니다 LIBGL_ALWAYS_SOFTWARE=1. 동일한 출력이 나오면 기본적으로 소프트웨어 렌더러를 사용하고 있는 것입니다. 그렇지 않으면 하드웨어 가속일 가능성이 높습니다.

관련 정보