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

mpv-build: NVIDIA cuda support rpm제작을 위한 spec 파일

게시판 자료실 mpv-build: NVIDIA cuda support rpm제작을 위한 spec 파일

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

    원래 negativo17 저장소의 ffmpeg와 mpv가 cuda를 지원 했지만
    근래 들어 지원 부분을 ffmpeg-3.4 버전이 나올때 까지 유보한 것 같습니다.

    이유는 모르겠지만 저는 cuda가 필요해서 mpv-build 스크립트를 이용하여
    rpm 제작에 필요한 spec 파일을 만들어 보았습니다.

    copr 저장소에 빌드하려 했으나 ffmpeg의 저작권 문제로 인해 copr 저장소를 이용할 수 없군요!
    이점 유감스럽게 생각 합니다.

    파일을 이용하여 nvidia 사용자분 중 필요한 경우 빌드하여 이용하시기 바랍니다.

    몇 가지 주의해야 할 점이 있는 데 빌드 과정을 설명하면서 말씀 드리겠습니다.
    spec 파일을 다운르 후 다운로드 받은 곳에서 아래와 같이 작업 하시기 바랍니다.

    # sudo dnf install rpm-build
    # rpmbuild -ba mpv-build.spec (에러 발생, 홈 디렉토리에 rpmbuild 디렉토리를 만들기 위한 명령)

    일차로 에러가 나지만 홈에 보면 rpmbuild 디렉토리가 생성됩니다.
    참고로 인터넷 팁을 보면 거의 root 디렉토리에 rpmbuild 디렉토리를 생성하게 합니다.

    그렇게 하지 마시기 바랍니다. 이유는 수정시 매우 귀찮기 때문입니다.
    물론 저의 기준입니다.

    mpv-build.spec 파일을 SPECS 디렉토리로 복사해 넣습니다.

    # cp mpv-build ~/rpmbuild/SPECS
    # cd ~/rpmbuild/SPECS
    # sudo dnf builddep mpv-build.spec
    # rpmbuild -ba mpv-build.spec

    이후 빌드가 완성되면 ~/rpmbuild/RPMS 디렉토리에 패키지가 생성됩니다.
    생성된 rpm을 설치 하시면 됩니다.

    필요한 경우 spec 파일에 지정된 옵션을 변경하여 사용하시기 바랍니다.

    설치 후 필요한 조치가 있습니다.
    cuda를 사용하기 위해선 nvidia_uvm 모듈이 필요합니다.

    이 모듈을 사용하기 위해선 modprobe 명령을 사용하면 되지만 일회성이므로 다음과 같이 조치하시기 바랍니다.

    negativo17 저장소를 이용하는 경우 nvidia-modprobe 패키지를 설치하시면 nvidia_uvm 모듈이 자동으로 로딩됩니다.
    spec 파일에서 require 처리 하였으므로 따로 설치하지 않아도 의존성에 의해 설치됩니다.

    그러나 rpmfusion에서 nvidia 드라이버를 설치한 경우엔
    spec 파일의 내용을 다음과 같이 수정해야 합니다.

    왜냐하면 패키지 명이 다르기 때문입니다.

    negativo17 :
    BuildRequires:  nvidia-driver-cuda-libs
    BuildRequires:  nvidia-driver-devel

    rpmfusion:
    BuildRequires:  xorg-x11-drv-nvidia-cuda
    BuildRequires:  xorg-x11-drv-nvidia-devel

    위와 같이 변경 하시고 Requires: nvidia-modprobe (110번 라인) 부분은 주석 처리 하시기 바랍니다.

    의존 패키지 중 nvenc와 cuda-devel의 경우 nvidia가 제공하는 run 파일에서 설치시와 negativo17 저장소
    또는 unitedrpms, rpmfusion 저장소에서 패키지명이 상이할 수 있으므로 spec 파일을 적절히 수정하시기 바랍니다.

    이후 nvidia_uvm 모듈을 로딩 하기 위해 다음과 같이 조치 하시기 바랍니다.

    # sudo modprobe nvidia_uvm
    # sudo vi /usr/lib/modules-load.d/nvidia_uvm.conf
    nvidia_uvm

    저장 후 mpv 옵션에서 hwdec="cuda"(~/.config/mpv/mpv.conf)를 적용하여 사용하시면 됩니다.
    nvidia_uvm 모듈이 로딩되지 않으면 cuda를 이용할 수 없으므로 유의하시기 바랍니다.

    따로 debian/rule이 필요하신 경우 요청 하시면 메일등으로 보내 드리도록 하겠습니다.

    도움이 되길 희망합니다.

    Attachments:
  • 답변은 로그인 후 가능합니다.