FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

opengl 라이브러리를 nvidia와 mesa 중 디폴트로 지정하는 방법?

게시판 질문게시판 opengl 라이브러리를 nvidia와 mesa 중 디폴트로 지정하는 방법?

  • This topic has 2개 답변, 1명 참여, and was last updated 5 years, 5 months 전에 by 난해주님. This post has been viewed 26 times
  • 만든이
    게시글
  • #13647
    난해주님
    참가자
    • 게시글114
    • 댓글337
    • 총합451
    • ★★
    @workman729

    이번에 페도라 22에서 xorg 패키지 중 일부 드라이버가 업데이트 되어
    libglx.so 파일의 링크가 해제되어 그래픽 드라이버에 에러가 발생하는 일이 있었습니다.

    페도라는 왜인지 모르겠으나 nvidia 드라이버를 rpmfusion에서 설치를 하더라도
    libGL.so와 libEGL.so, libGLESv2.so 파일의 심볼릭 링크가 생성되지 않아 src 패키지에서 링크를 생성하도록 spec 파일을 수정하여
    재빌드하여 사용하거나 수동으로 링크를 생성, 귀찮으면 메뉴얼 설치를 하곤 합니다.

    문제는 mesa 패키지가(mesa-libgl 또는 mesa-libegl) 업데이트 되거나
    오픈소스 드라이버가 업데이트 되면 부팅 후 그놈 로딩시 oopsie 화면이 나오는 경우가 꽤 많이 발생합니다.

    그래서 문의 드리지만 위의 opengl 라이브러리를 nvidia 것으로 디폴트로 지정하는 방법이 없을까요?

    우분투에서 힌트를 얻을 수도 있겠다 싶었으나 흉내를 내봐도 별무 소용입니다.

    페도라도 우분투 처럼 opengl 라이브러를 고정하여 사용할수 없을까요?

    뭔가 ld.so.conf.d를 활용하면 될 것 같은 데 말이지요....^^

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #15469
      난해주님
      참가자
      참가자
      • 게시글114
      • 댓글337
      • 총합451
      • ★★
      @workman729

      현재까지는 alternative 설정이 nvidia와 mesa 라이브러리를 둘 중 하나를 선택하는 방법으론 가장 나은 것 같은데
      mesa가 업데이트시 alternative 설정한 것을 보호할 수 있는 방법이 없나 보군요...!

    • #15470
      난해주님
      참가자
      참가자
      • 게시글114
      • 댓글337
      • 총합451
      • ★★
      @workman729

      일단은 우분투에서의 nvidia 설치 과정과 페도라의 설치 과정을 분석하여 방법을 찾은 것 같습니다.

      opengl
      라이브러리는 상당히 많은 프로그램에서 컴파일시 필요로 하는 라이브러리이므로 저는 때로는 mesa가 때로는 nvidia의
      라이브러리리가 교차적으로 필요하여 심볼릭 링크를 상대적으로 걸었다 링크를 해제했다 하는 과정을 되풀이 하였습니다.

      위에서 처럼 하면 한번 셋팅한 결과가 업데이트나 재설치에 의해 오작동을 할수 있습니다. 그래서 뭔가 추가적인 초지 없이 이과정을 쉽게 처리할수 없을까를 고민하였습니다.

      우분투를 잘 보면 ld.so.conf.d에서 x86_64-gnu-gl.conf 파일을 선택적으로 사용함으로서 링크할 필요가 없도록 되어 있습니다. 페도라는 그렇치 않고 ldconfig를 해줘도 mesa 패키지를 사용하더군요!

      어째든 이리저리 살펴본 결과 다음과 같은 조치를 통해 선택적으로 사용할 수 있는 방법을 찾은 것 같습니다.

      # sudo vi /usr/lib64/mesa/ld.so.conf
      /usr/lib64
      /usr/lib
      # sudo vi /usr/lib64/nvidia/ld.so.conf
      /usr/lib64/nvidia
      /usr/lib/nvidia

      # sudo alternatives --install "/etc/ld.so.conf.d/x86_64-gl.conf" "x86_64-gl-conf" "/usr/lib64/nvidia/ld.so.conf" 500
      # sudo alternatives --install "/etc/ld.so.conf.d/x86_64-gl.conf" "x86_64-gl-conf" "/usr/lib64/mesa/ld.so.conf" 500
      # sudo alternatives --config x86_64-gl-conf
      2 개의 프로그램이 'x86_64-gl-conf'를 제공합니다.

        선택    명령
      -----------------------------------------------
      *+ 1           /usr/lib64/nvidia/ld.so.conf
         2           /usr/lib64/mesa/ld.so.conf

      현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:

      위에서와 같이 1번을 선택하고 마지막으로 sudo ldconfig 명령을 실행 합니다.

      이렇게 하면 nvidia와 mesa 패키지를 선택적으로 활용하실 수 있으며 프로그래밍 과정에서 따로 옵션을 활용하여 처리할 필요도 없더군요! 물론 업데이트 과정에서 오작동도 없더군요!

      따로 그래픽 드라이버를 메뉴얼로 설치하시면 위의 과정은 무시해도 됩니다. mesa를 물리치고 자신의 라이브러리만 등록하므로 따로 처리하실 필요가 없습니다.

      그러나 rpmfusion을 통해 드라이버를 설치하신 경우 위의 과정을 수행하는 것이 필요하지 않을까 합니다.

      물론 적절한 수행 결과를 확인하시려면 재부팅 과정이 수반되어야 할 것 입니다.

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.