다양한 버전의 애플리케이션은 다양한 OpenGL 렌더러를 사용합니다.

다양한 버전의 애플리케이션은 다양한 OpenGL 렌더러를 사용합니다.

어떤 이유로든 서로 다른 OpenGL 렌더러를 사용하는 두 가지 버전의 동일한 애플리케이션(동일한 소스 코드, 서로 다른 버전의 wxWidgets 라이브러리로 구축됨)이 있습니다. 나는 그들을 달리는 데 사용한다

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia ./wxTest_XX

OpenGL 공급업체, 렌더러 및 버전 문자열을 인쇄합니다. 버전 1(를 통해 설치된 wxWidgets 버전 3.0.4를 사용하여 빌드됨 sudo apt install libwxgtk3.0-gtk3-dev) 인쇄

Vendor: NVIDIA Corporation, Renderer: NVIDIA RTX A5000/PCIe/SSE2, Version: 4.6.0 NVIDIA 525.60.13

버전 2(소스에서 빌드된 wxWidgets 3.2.1을 사용하여 빌드됨)가 인쇄되는 동안

libEGL warning: DRI2: failed to authenticate
Vendor: Mesa/X.org, Renderer: llvmpipe (LLVM 12.0.0, 256 bits), Version: 3.1 Mesa 21.2.6

(애플리케이션 시작 시 출력되는 경고 메시지에 유의하세요)

NVidia GPU를 사용하려면 애플리케이션이 필요하기 때문에 한 가지 경우에는 왜 잘못된 OpenGL 렌더러를 선택하는지 이해하려고 합니다. OpenGL 렌더러 선택에 관한 다른 게시물은 대부분 을 제안하거나 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia단순히 작동하지 않는 상황을 포함합니다. 하지만 분명히 시스템은 올바른 GPU를 사용할 수 있지만 애플리케이션이 그렇게 하기를 원하지 않는 것뿐입니다. 나는 현재 지금까지 운이 없이도 왜 한 가지 경우에는 작동하지만 다른 경우에는 작동하지 않는지 이해하려고 노력하고 있습니다. 지금까지 libEGL warning: DRI2: failed to authenticate경고 메시지를 검색해봐도 유용한 결과가 나오지 않았습니다.

wxWidgets 라이브러리 포럼에 게시했습니다., 그들은 그것이 도서관 자체와는 아무 관련이 없으며 시스템의 나머지 부분을 살펴봐야 한다고 말했습니다.

간단히 말해서:다른 응용 프로그램이 이 작업을 수행하는 시스템에서 내 응용 프로그램이 전용 NVidia GPU를 OpenGL 렌더러로 사용하도록 하려면 어떻게 해야 합니까?

시스템에 대한 일부 세부정보:

  • 운영 체제: 우분투 20.04.5 LTS

  • GPU: NVidia RTX A5000(드라이버 버전 525.60.13)

  • 어디에도 화면이 연결되어 있지 않습니다. 원격 데스크톱/xrdp를 통해 연결하고 있습니다.

  • 출력 lspci | grep -i vga:

    01:00.0 VGA compatible controller: NVIDIA Corporation Device 2231 (rev a1)
    43:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 41)
    

관련 정보