요약
이 문서에서는 Linux에서 VR 헤드셋을 활성화하는 방법에 대한 지침을 제공합니다. 여기에는 Nuke 및 CaraVR 에서 작동하도록 최신 Nvidia 드라이버를 구성하는 방법과 Nuke sudo/root로 실행하지 않고도 헤드셋이 작동하도록 구성하는 방법이 포함됩니다.
더 많은 정보
HTC Vive 및 Oculus Rift CV1과 같은 Linux 기반 헤드셋에는 Nuke / CaraVR 설치 과정에서 설치되는 OpenHMD 타사 라이브러리와 같은 드라이버가 필요합니다. 그러나 Nvidia 드라이버가 기본적으로 설정되는 방식으로 인해, 헤드셋을 모니터 출력 디스플레이 장치로 사용하려면 Nvidia의 구성 파일을 조정해야 합니다 .
참고: CaraVR 플러그인은 이제 NukeX 버전 12.0+에 포함되어 있습니다.
VR 헤드셋을 활성화하기 전에 Nvidia GPU 드라이버가 최신 상태인지 확인하세요. 드라이버를 업데이트하려면 아래 링크된 Nvidia 웹사이트를 확인하세요.
https://www.nvidia.com/Download/index.aspx?lang=en-in
Rocky 9에서 VR 헤드셋 활성화
Nuke 와 CaraVR 에서 VR 헤드셋을 활성화하려면 아래 지침에 따라 EPEL 저장소 와 일부 추가 라이브러리 및 udev 규칙을 설치해야 합니다.
1) 터미널 창을 엽니다
2) sudo dnf install epel-release 명령을 실행하여 EPEL 저장소를 설치합니다. sudo dnf install epel-release
3) Nuke 장치와 상호 작용할 수 있도록 hidapi를 설치하려면 다음을 실행합니다.
sudo dnf install hidapi hidapi-devel
4) sudo dnf install cmake cmake를 실행하여 cmake를 설치합니다. sudo dnf install cmake
5) 다음으로, 터미널 창에서 다운로드 폴더를 찾아 실행하여 OpenHMD를 설치합니다.
sudo git clone --recursive https://github.com/thaytan/OpenHMD.git
6) 다운로드 폴더에서 cd OpenHMD 입력하여 OpenHMD 폴더를 열고 다음 명령을 실행하여 OpenHMD를 컴파일하고 설치합니다.
참고: 특정 드라이버로 OpenHMD를 컴파일할 수 있습니다. 사용 가능한 드라이버에 대한 자세한 내용은 공식 github 에서 확인할 수 있습니다 . 또한 cmake 명령 뒤에 ".."를 사용하여 감지된 장치를 설치할 수도 있습니다.
a. mkdir build b. cd build 다. cmake.. d. make 예. sudo make install
7) VR 헤드셋에 컨트롤러가 있는 경우, xr-hardware를 설치하여 필요한 udev 규칙을 설정하여 VR 헤드셋을 활성화할 수 있습니다. 터미널 세션에서 다운로드 폴더로 이동하여 다음을 실행하여 설치할 수 있습니다.
sudo git clone --recursive https://gitlab.freedesktop.org/monado/utilities/xr-hardware.git
8) 그런 다음 cd xr-hardware 입력하여 xr-hardware 폴더를 열고 다음 명령을 실행하여 xr-hardware를 빌드하고 설치합니다.
가. make
b. sudo make install
위 명령을 실행하면 Nuke Viewer Monitor Out Properties 드롭다운 메뉴에서 Devices에 HMD 장치가 표시됩니다. 하지만 헤드셋을 통해 출력을 보려면 아래 CentOS 7 섹션의 지침에 따라 xorg.conf 파일에서 HMD를 활성화해야 할 수도 있습니다.
CentOS 7에서 VR 헤드셋 활성화
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 권한으로 실행해야 하며, 이제 모니터 출력 고급 설정의 장치 노브에 헤드셋 사용 옵션이 표시됩니다.
뷰어 모니터 출력 패널을 열려면 원하는 창을 마우스 오른쪽 버튼으로 클릭하고 창 > 뷰어 모니터 출력을 선택하여 추가합니다. 그런 다음 톱니 바퀴 아이콘을 클릭 합니다.
아래 이미지에 표시된 대로 속성 패널 에서 고급 설정을 표시하려면 뷰어 모니터 출력 패널 왼쪽에 있는 아이콘을 클릭하세요 .
참고: CaraVR 과 함께 헤드셋을 사용하는 방법에 대한 자세한 내용은 다음 링크의 설명서를 참조하세요. 작업 검토
ROOT 또는 SUDO로 NUKE 실행하지 않고 헤드셋 사용
sudo/root 없이 Nuke 실행하고 Viewer 노드에서 헤드셋을 활성화하려고 하면 헤드셋이 작동하지 않고 아래 메시지가 표시됩니다.
이 문제는 Linux가 시스템에 연결된 USB 장치에 대한 권한을 관리하는 방식 때문에 발생합니다. 이 문제를 해결하는 가장 간단한 방법은 Nuke root/sudo 권한으로 실행하는 것입니다. 모든 권한이 부여되어 있기 때문입니다. 하지만 Nuke root/sudo 권한으로 실행하면 기존 파이프라인에 영향을 줄 수 있습니다.
헤드셋은 Nuke sudo 또는 root로 실행하지 않고도 사용할 수 있지만, 이를 위해서는 아래에 자세히 설명된 추가 설정이 필요합니다.
ROOT 또는 SUDO 없이 OCULUS RIFT CV1 사용
다음 단계를 수행하면 Oculus Rift CV1이 83-hmd.rules udev 파일에 추가되어 "Rift(CV1)"가 이미 사용 중입니다라는 메시지가 나타나지 않습니다.
참고 : 이 단계를 수행하기 전에 CV1 헤드셋을 연결하거나 Nuke 시작하지 마세요.
1) 헤드셋을 사용하려는 사용자의 사용자 ID가 plugdev 그룹에 속하는지 확인하고, 필요한 경우 plugdev라는 권한 그룹을 생성합니다. 권한 그룹을 생성하고 그룹에 사용자 ID를 추가하는 방법에 대한 자세한 내용은 Linux 배포판 설명서를 참조하십시오.
2) sudo 또는 root 권한으로 텍스트 편집기에서 /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은 검은색으로 표시됩니다.
루트나 SUDO 없이 HTC VIVE 사용하기
다음 단계를 수행하면 HTC Vive가 83-hmd.rules udev 파일에 추가되어 "HTC Vive"가 이미 사용 중입니다라는 메시지가 나타나지 않습니다.
1) 사용자 ID가 plugdev 그룹에 속하는지 확인하고, 필요한 경우 plugdev라는 그룹을 생성하세요. 그룹을 생성하고 그룹에 사용자 ID를 추가하는 방법에 대한 자세한 내용은 Linux 배포판 설명서를 참조하세요.
2) sudo 또는 root 권한으로 텍스트 편집기에서 /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 또는 root 권한으로 텍스트 편집기에서 /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 실행하면 뷰어 모니터 출력 고급 설정 장치 노브에서 활성화하면 이제 헤드셋을 사용할 수 있습니다.
추가 문제 해결
1) 다른 버전의 OpenHMD를 설치하면 CaraVR 과 함께 제공되는 OpenHMD와 충돌할 수 있습니다. 헤드셋에 문제가 발생하는 경우, 컴퓨터에 설치된 다른 버전의 OpenHMD 또는 다른 헤드셋 드라이버를 제거해 보세요.
2) AllowHMD 프로세스가 자동으로 작동하지 않는 경우가 있습니다. 이 경우 Nuke 에서 헤드셋이 인식되지 않는 문제를 해결하려면 헤드셋이 보조 모니터로 인식되지만 비활성화되어 있는 NVidia 설정을 열고 활성화하세요. 이렇게 하면 문제가 해결되고 Nuke 다시 실행하면 뷰어의 고급 설정에서 "모니터 출력"의 "장치" 노브에 헤드셋이 표시됩니다.
OCULUS RIFT CV1에 대한 추가 참고 사항
- Oculus CV1은 내부에서 켜기 전까지 검은색으로 표시됩니다. Nuke 의 뷰어 설정.
- CV1은 Gnome/Kde의 사용 가능한 화면 목록에 나타나지 않으며, 뷰어 모니터 출력 장치 노브에서 지원되는 장치와 함께 표시됩니다.
- 처음에 뷰어 모니터 출력을 켜면 OS가 새로운 구성에 적응하는 동안 사용 가능한 모든 모니터가 몇 초 동안 검은색으로 표시됩니다.
- CV1은 닫을 때까지 켜져 있습니다. Nuke OS가 새로운 구성에 적응하는 동안 사용 가능한 모든 모니터를 몇 초 동안 검은색으로 표시합니다.
추가 읽기
Linux에서는 OpenHMD 대신 SteamVR을 헤드셋 드라이버로 사용할 수도 있습니다. 하지만 Valve는 CentOS 7에서 SteamVR을 제한적으로 지원 합니다. 또한, 소프트웨어를 실행하려면 특정 드라이버 버전이 필요하며, 드라이버 버전은 아래에서 확인할 수 있습니다.
엔비디아:
- NVIDIA 카드를 사용하려면 SteamVR 베타를 사용하려면 NVIDIA 드라이버 버전 430.26 이상이 필요합니다.
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 16.0v4/ Nuke 16.0
참고: Nuke / CaraVR 및 SteamVR에서 공식적으로 지원하는 단일 Linux 배포판이 없으므로, SteamVR에서 Nuke 사용하는 것은 완전히 테스트되지 않았으며 예상대로 작동하지 않을 수 있습니다. 그러나 SteamVR 지원 헤드셋의 경우 OpenHMD보다 프레임 속도, 왜곡 보정 및 시야 설정 측면에서 더 나은 성능을 제공할 수 있습니다.
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요