요약
이 문서에서는 Linux에서 VR 헤드셋을 활성화하는 방법에 대한 지침을 제공합니다. 여기에는 Nuke 및 CaraVR 과 작동하도록 최신 Nvidia 드라이버를 구성하는 방법과 Nuke sudo/root로 실행하지 않고도 작동하도록 헤드셋을 구성하는 방법이 포함됩니다.
추가 정보
HTC Vive 및 Oculus Rift CV1과 같은 Linux의 헤드셋에는 Nuke / CaraVR 설치 프로세스의 일부로 설치되는 OpenHMD 타사 라이브러리와 같은 드라이버가 필요합니다. 그러나 Nvidia 드라이버가 기본적으로 설정되는 방식으로 인해 헤드셋을 모니터 출력 디스플레이 장치 로 사용하려면 Nvidia용 구성 파일을 조정해야 합니다 .
참고: CaraVR 플러그인은 이제 Nuke 버전 12.0+에 포함되어 있습니다.
구성 파일을 조정하기 전에 Nvidia GPU 드라이버가 최신 상태인지 확인하세요. 업데이트하려면 아래 링크된 Nvidia 웹사이트를 확인하세요.
https://www.nvidia.com/Download/index.aspx?lang=en-in
NVIDIA 드라이버 구성
다음은 구성 파일을 조정하기 위해 따라야 하는 단계입니다.
1) sudo 또는 root로 텍스트 편집기에서 다음 파일을 엽니다.
/etc/X11/xorg.conf
참고: xorg.conf 파일이 없으면 다음 명령을 사용하여 생성할 수 있습니다.
sudo nvidia-xconfig
2) 구성 파일에서 "장치" 섹션을 찾습니다.
3) 아래 예시 이미지와 같이 섹션에 다음 줄을 추가합니다.
Option "AllowHMD" "yes"
4) 업데이트된 파일을 저장하고 헤드셋 장치를 연결하세요.
5) 머신을 재부팅합니다.
이제 Nvidia 구성 파일이 조정되었으므로 Nuke 및 CaraVR 을 실행하여 VR 헤드셋이 작동하는지 테스트할 수 있습니다. Nuke sudo 또는 root로 시작해야 하며 이제 헤드셋 사용 옵션이 모니터 출력 고급 설정의 장치 노브에 표시되어야 합니다.
Viewer Monitor Out 패널을 열려면 창을 마우스 오른쪽 버튼으로 클릭하고 Windows > Viewer Monitor Out을 선택하여 추가합니다. 그런 다음 톱니바퀴를 클릭하세요. Viewer Monitor Out 패널 왼쪽에 있는 아이콘 을 클릭 하면 아래 이미지와 같이 속성 패널의 고급 설정이 표시됩니다.
참고: CaraVR 과 함께 헤드셋을 사용하는 방법에 대한 자세한 내용은 다음 링크에서 설명서를 확인할 수도 있습니다. 작업 검토
NUKE 루트 또는 SUDO로 실행하지 않고 헤드셋 사용
sudo/root 없이 Nuke 시작하고 뷰어 노드에서 헤드셋을 활성화하려고 하면 헤드셋이 작동하지 않을 수 있으며 아래 메시지가 표시됩니다.
이 문제는 Linux가 시스템에 연결된 USB 장치에 대한 권한을 관리하는 방식으로 인해 발생합니다. 이 문제를 극복하는 가장 간단한 방법은 모든 권한이 부여되므로 Nuke 루트/sudo로 시작하는 것입니다. 그러나 Nuke 루트/sudo로 실행하면 기존 파이프라인을 방해할 수 있습니다.
Nuke sudo 또는 루트로 실행하지 않고도 헤드셋을 사용할 수 있지만 이를 위해서는 아래에 자세히 설명된 추가 설정이 필요합니다.
ROO T 또는 SUDO 없이 OCULUS RIFT CV1 사용
다음 단계에서는 Oculus Rift CV1을 83-hmd.rules udev 파일에 추가해야 합니다. 이렇게 하면 "Rift(CV1)"가 이미 사용 중입니다 메시지가 발생하지 않도록 해야 합니다.
참고 : 이 단계를 수행하기 전에 CV1 헤드셋을 연결하거나 Nuke 시작하지 마십시오.
1) 헤드셋을 사용하려는 사용자의 사용자 ID가 Plugdev 그룹에 속하는지 확인하고 필요한 경우 Plugdev라는 권한 그룹을 만듭니다. 권한 그룹을 생성하고 그룹에 사용자 ID를 추가하는 방법에 대한 자세한 내용은 Linux 배포 문서를 검토하세요.
2) sudo 또는 루트로 텍스트 편집기에서 /etc/udev/rules.d/83-hmd.rules를 열거나 생성하고 엽니다 .
3) 파일에 다음 줄을 추가합니다.
SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0666", GROUP="plugdev"
4) 파일 저장
5) sudo 또는 Root로 아래 명령을 실행합니다.
sudo udevadm control --reload-rules
6) 기계를 다시 시작하십시오.
7) CV1 헤드셋을 연결하고 Nuke 시작합니다.
참고 : Linux에서 CV1 헤드셋을 사용하는 경우 모니터 출력 고급 설정 장치 노브에서 활성화될 때까지 CV1이 검은색으로 표시된다는 점에 유의하십시오.
ROOT 또는 SUDO 없이 HTC VIVE 사용
다음 단계에서는 HTC Vive를 83-hmd.rules udev 파일에 추가해야 합니다. 이렇게 하면 "HTC Vive"가 이미 사용 중입니다 메시지가 발생하지 않습니다.
1) 사용자 ID가 Plugdev 그룹에 속하는지 확인하고 필요한 경우 Plugdev라는 그룹을 만듭니다. 그룹을 생성하고 그룹에 사용자 ID를 추가하는 방법에 대한 자세한 내용은 Linux 배포판의 설명서를 검토하십시오.
2) sudo 또는 루트로 텍스트 편집기에서 /etc/udev/rules.d/83-hmd.rules를 열거나 생성하고 엽니다.
3) SteamVR GitHub 페이지( https://github.com/ValveSoftware/SteamVR-for-Linux#usb-device-requirements )에서 파생된 아래 코드 줄을 파일에 추가합니다 .
# HTC Vive HID Sensor naming and permissioning
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1043", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", MODE="0666", GROUP="plugdev"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", MODE="0666", GROUP="plugdev"
# HTC Camera USB Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8328", MODE="0666", GROUP="plugdev"
# HTC Mass Storage Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8200", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8a12", MODE="0666", GROUP="plugdev"
4) 파일 저장
5) sudo 또는 Root로 아래 명령을 실행합니다.
sudo udevadm control --reload-rules
6) 기계를 다시 시작하십시오.
7) 헤드셋을 연결합니다. 이미 연결되어 있는 경우 헤드셋에서 바탕 화면 배경을 보려면 다시 연결해야 할 수도 있습니다.
8) Nuke 실행하고 "HTC Vive"가 이미 사용 중이라는 메시지 없이 헤드셋을 사용할 수 있는지 테스트합니다.
"HTC Vive"가 이미 사용 중이라는 메시지가 계속 표시되면 헤드셋에 다른 장치/공급업체 ID가 있을 수 있으므로 해당 ID에 대한 사용자 정의 규칙을 83-hmd.rules 파일에 추가해야 합니다. 이 작업은 아래 단계를 사용하여 수행할 수 있습니다.
1) 터미널을 열고 다음을 실행합니다.
lsusb
2) 그러면 아래와 같은 결과가 나옵니다.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bda:0181 Realtek Semiconductor Corp.
Bus 002 Device 055: ID 0bb4 : 2744 HTC (High Tech Computer Corp.)
Bus 002 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 002 Device 056: ID 0bb4 : 0306 HTC (High Tech Computer Corp.)
Bus 002 Device 057: ID 0424:274d Standard Microsystems Corp.
Bus 002 Device 058: ID 0bb4 : 2134 HTC (High Tech Computer Corp.)
Bus 002 Device 007: ID 0d3d:0040 Tangtop Technology Co., Ltd PS/2 Adapter
Bus 002 Device 059: ID 0bb4:2c87 HTC (High Tech Computer Corp.)
Bus 002 Device 060: ID 28de:2101
Bus 002 Device 061: ID 28de:2101
Bus 002 Device 062: ID 28de:2000
Bus 002 Device 063: ID 0bb4:2c87 HTC (High Tech Computer Corp.)
Bus 002 Device 036: ID 0c45:6340 Microdia Camera
ID 섹션은 idVendor:idProduct 로 읽을 수 있으며, 이러한 값을 사용하면 /etc/udev/rules.d/83-hmd.rules 파일에 대한 추가 규칙을 생성할 수 있습니다.
3) sudo 또는 루트로 텍스트 편집기에서 /etc/udev/rules.d/83-hmd.rules 를 엽니다.
4) 아래 줄을 추가하고 <missingVendor> 및 <missingProduct>를 lsusb 결과에 나열된 장치(아직 83-hmd.rules 파일에 없음)로 바꿉니다.
SUBSYSTEM=="usb", ATTRS{idVendor}=="<missingVendor>", ATTRS{idProduct}=="<missingProduct>", MODE="0666", GROUP="plugdev"
이 예에서는 Nuke 및 CaraVR 권한을 허용하기 위해 아래 세 줄이 추가되었습니다.
# Extra rules
SUBSYSTEM=="usb", ATTRS{idVendor}==" 0bb4 ", ATTRS{idProduct}==" 0306 ", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}==" 0bb4 ", ATTRS{idProduct}==" 2134 ", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}==" 0bb4 ", ATTRS{idProduct}==" 2744 ", MODE="0666", GROUP="plugdev"
5) 파일 저장
6) sudo 또는 Root로 아래 명령을 실행합니다.
sudo udevadm control --reload-rules
7) 기계를 다시 시작하십시오.
8) 헤드셋을 연결합니다. 이미 연결되어 있는 경우 헤드셋에서 데스크탑 배경을 보려면 다시 연결해야 할 수도 있습니다.
9) Nuke 실행하면 이제 Viewer Monitor Out 고급 설정 장치 노브에서 헤드셋을 활성화할 때 헤드셋을 사용할 수 있습니다.
추가 문제 해결
1) 다른 버전의 OpenHMD를 설치하면 CaraVR 과 함께 제공되는 버전과 충돌할 수 있습니다. 헤드셋에 문제가 발생하면 다른 버전의 OpenHMD나 컴퓨터에 설치되어 있는 다른 헤드셋 드라이버를 제거해 보세요.
2) 경우에 따라 AllowHMD 프로세스가 자동으로 작동하지 않습니다. 이 경우 Nuke 에서 헤드셋이 감지되지 않는 것을 수정하려면 헤드셋이 두 번째 모니터로 감지되지만 비활성화된 NVidia 설정을 연 다음 활성화하십시오. 이렇게 하면 이 문제가 해결되고 Nuke 다시 시작할 때 헤드셋이 Viewer Monitor Out 고급 설정 장치 노브에 나타나야 합니다.
OCULUS RIFT CV1에 대한 추가 참고 사항
- Oculus CV1은 내부에서 전원을 켤 때까지 검은색으로 표시됩니다. Nuke 의 뷰어 설정.
- CV1은 Gnome/Kde의 사용 가능한 화면 목록에 나타나지 않으며 뷰어 모니터 출력 장치 노브에 지원되는 장치와 함께 표시됩니다.
- 뷰어 모니터 출력을 처음 켜면 OS가 새 구성에 맞춰 조정되면서 사용 가능한 모든 모니터가 몇 초 동안 검은색으로 표시됩니다.
- CV1은 닫을 때까지 계속 켜져 있습니다. Nuke - OS가 새 구성에 맞춰 조정될 때 사용 가능한 모든 모니터가 몇 초 동안 검은색으로 표시됩니다.
추가 읽기
OpenHMD 대신 Linux에서 SteamVR을 헤드셋 드라이버로 사용할 수도 있습니다. 그러나 Valve는 CentOS 7에서 SteamVR을 제한적으로 지원 합니다. 또한 소프트웨어를 실행하려면 특정 드라이버 버전이 필요합니다. 해당 버전은 아래에서 확인할 수 있습니다.
엔비디아:
- NVIDIA 카드에는 NVIDIA 드라이버 버전 430.26 이상이 필요하며 SteamVR 베타를 사용합니다.
AMD:
- SteamVR에는 Vulkan 지원 및 Linux 커널 4.13으로 컴파일된 최소 Mesa 17.3이 필요합니다.
드라이버에 대한 추가 정보는 Linux용 SteamVR 설명서 에서 찾을 수 있습니다.
Centos 7 이외의 Linux 배포판에 CaraVR , Nuke 및 Steam VR을 설치할 수 있는 경우 아래 단계를 사용하면 헤드셋이 작동할 수 있습니다.
- SteamVR 애플리케이션이 성공적으로 실행될 때까지 SteamVR에서 필요한 모든 구성 단계를 수행하여 SteamVR이 설치 및 업데이트되었는지 확인하세요.
- Steam 설치 파일은 여기에서 찾으실 수 있습니다. - SteamVR을 닫고 Steam을 계속 실행하세요.
- 터미널을 열고 동일한 세션에서 아래 두 줄을 실행하여 시스템의 특정 설치에 필요에 따라 조정합니다.
/home/username/.steam/steam/ubuntu20_04/steam-runtime/run.sh
/usr/local/ Nuke 14.0v6/ Nuke 14.0
참고: Nuke / CaraVR 및 SteamVR에서 공식적으로 지원하는 단일 Linux 배포판이 없기 때문에 SteamVR과 함께 Nuke 사용하는 것은 완전히 테스트되지 않았으며 예상대로 작동하지 않을 수 있습니다. 그러나 OpenHMD보다 SteamVR 지원 헤드셋의 프레임 속도, 왜곡 보정 및 시야 설정 측면에서 더 나은 성능을 제공할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요