웹캠 Intel Realsense가 Fedora에서 작동하지 않습니다.

웹캠 Intel Realsense가 Fedora에서 작동하지 않습니다.

내 노트북에는 Fedora에서 제대로 작동하지 않는 Intel RealSense F200 웹캠이 장착되어 있습니다. 웹캠을 시작하면 출력 이미지가 내 실루엣과 함께 녹색으로 표시됩니다. 온라인에서 검색해서 이 도서관을 찾았어요https://github.com/IntelRealSense/librealsense그런데 설치 가이드가 우분투용이라 당황스럽네요.

일부 종속성을 설치하고 uvcvideo 모듈을 로드하는 스크립트(patch-uvcvideo-fc23.sh)가 있습니다. 하지만 그 후에도 웹캠은 여전히 ​​녹색입니다. 의 출력은 sudo dmesg | tail -n 50다음과 같습니다

332.078253] Hardware name: LENOVO 80NV/Allsparks 5A, BIOS CDCN35WW 03/29/2016
[  332.078259]  0000000000000286 0000000015ae496a ffff88006cc27bc0 ffffffff813dbcff
[  332.078266]  ffff88006cc27c10 0000000000000000 ffff88006cc27c00 ffffffff810a740b
[  332.078274]  0000050300000246 ffff88006cc27d88 0000000000000000 0000000000000000
[  332.078282] Call Trace:
[  332.078296]  [<ffffffff813dbcff>] dump_stack+0x63/0x84
[  332.078302]  [<ffffffff810a740b>] __warn+0xcb/0xf0
[  332.078309]  [<ffffffff810a748f>] warn_slowpath_fmt+0x5f/0x80
[  332.078320]  [<ffffffffc119186c>] ? uvc_ioctl_enum_fmt+0x9c/0xb0 [uvcvideo]
[  332.078334]  [<ffffffffc06597d4>] v4l_enum_fmt+0xe24/0x1190 [videodev]
[  332.078346]  [<ffffffffc065a3a1>] __video_do_ioctl+0x291/0x310 [videodev]
[  332.078351]  [<ffffffff81269f14>] ? mntput+0x24/0x40
[  332.078358]  [<ffffffff81258026>] ? path_openat+0x376/0x15b0
[  332.078384]  [<ffffffffc0659e60>] video_usercopy+0x320/0x5b0 [videodev]
[  332.078400]  [<ffffffffc065a110>] ? video_ioctl2+0x20/0x20 [videodev]
[  332.078411]  [<ffffffff8125a4a5>] ? do_filp_open+0xa5/0x100
[  332.078430]  [<ffffffffc065a105>] video_ioctl2+0x15/0x20 [videodev]
[  332.078446]  [<ffffffffc06556ac>] v4l2_ioctl+0xdc/0xf0 [videodev]
[  332.078455]  [<ffffffff8125d4a3>] do_vfs_ioctl+0xa3/0x5d0
[  332.078464]  [<ffffffff8125da49>] SyS_ioctl+0x79/0x90
[  332.078476]  [<ffffffff817dd3f2>] entry_SYSCALL_64_fastpath+0x1a/0xa4
[  332.078482] ---[ end trace 84debfce61a27ff0 ]---
[  332.078496] ------------[ cut here ]------------
[  332.078540] WARNING: CPU: 1 PID: 1961 at drivers/media/v4l2-core/v4l2-ioctl.c:1283 v4l_enum_fmt+0xe24/0x1190 [videodev]
[  332.078544] Unknown pixelformat 0x00000000
[  332.078547] Modules linked in: rfcomm ccm fuse arc4 nf_conntrack_netbios_ns nf_conntrack_broadcast ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 xt_conntrack ip_set nfnetlink ebtable_nat ebtable_broute bridge ip6table_security ip6table_raw ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle iptable_security iptable_raw iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle ebtable_filter ebtables ip6table_filter ip6_tables nvidia(POE) bnep bbswitch(OE) vfat fat snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel intel_rapl x86_pkg_temp_thermal snd_hda_codec ath10k_pci coretemp kvm_intel kvm uvcvideo ath10k_core snd_hda_core snd_hwdep videobuf2_vmalloc videobuf2_memops snd_seq videobuf2_v4l2 videobuf2_core mac80211 videodev
[  332.078622]  snd_seq_device media snd_pcm btusb irqbypass hci_uart btrtl crct10dif_pclmul ath snd_timer crc32_pclmul btbcm btqca cfg80211 snd btintel ghash_clmulni_intel bluetooth soundcore i2c_i801 mei_me ideapad_laptop joydev mei sparse_keymap rfkill pinctrl_sunrisepoint shpchp pinctrl_intel intel_lpss_acpi intel_lpss tpm_crb tpm_tis acpi_pad tpm nfsd auth_rpcgss nfs_acl lockd grace sunrpc vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) i915 8021q i2c_algo_bit crc32c_intel garp drm_kms_helper stp llc mrp sdhci_pci sdhci drm r8169 serio_raw mmc_core mii wmi video i2c_hid fjes [last unloaded: nvidia]
[  332.078710] CPU: 1 PID: 1961 Comm: AudioThread Tainted: P        W  OE   4.6.3-300.fc24.x86_64 #1
[  332.078714] Hardware name: LENOVO 80NV/Allsparks 5A, BIOS CDCN35WW 03/29/2016
[  332.078717]  0000000000000286 0000000015ae496a ffff88006cc27bc0 ffffffff813dbcff
[  332.078722]  ffff88006cc27c10 0000000000000000 ffff88006cc27c00 ffffffff810a740b
[  332.078727]  0000050300000246 ffff88006cc27d88 0000000000000000 0000000000000000
[  332.078733] Call Trace:
[  332.078745]  [<ffffffff813dbcff>] dump_stack+0x63/0x84
[  332.078754]  [<ffffffff810a740b>] __warn+0xcb/0xf0
[  332.078763]  [<ffffffff810a748f>] warn_slowpath_fmt+0x5f/0x80
[  332.078777]  [<ffffffffc119186c>] ? uvc_ioctl_enum_fmt+0x9c/0xb0 [uvcvideo]
[  332.078797]  [<ffffffffc06597d4>] v4l_enum_fmt+0xe24/0x1190 [videodev]
[  332.078817]  [<ffffffffc065a3a1>] __video_do_ioctl+0x291/0x310 [videodev]
[  332.078826]  [<ffffffff81269f14>] ? mntput+0x24/0x40
[  332.078834]  [<ffffffff81258026>] ? path_openat+0x376/0x15b0
[  332.078851]  [<ffffffffc0659e60>] video_usercopy+0x320/0x5b0 [videodev]
[  332.078868]  [<ffffffffc065a110>] ? video_ioctl2+0x20/0x20 [videodev]
[  332.078877]  [<ffffffff8125a4a5>] ? do_filp_open+0xa5/0x100
[  332.078895]  [<ffffffffc065a105>] video_ioctl2+0x15/0x20 [videodev]
[  332.078909]  [<ffffffffc06556ac>] v4l2_ioctl+0xdc/0xf0 [videodev]
[  332.078918]  [<ffffffff8125d4a3>] do_vfs_ioctl+0xa3/0x5d0
[  332.078926]  [<ffffffff8125da49>] SyS_ioctl+0x79/0x90
[  332.078934]  [<ffffffff817dd3f2>] entry_SYSCALL_64_fastpath+0x1a/0xa4

이 시스템에서 웹캠이 작동하도록 하는 방법이 있습니까?

답변1

해결책은 아니지만 누군가에게 도움이 될 수도 있습니다. Fedora 25에서는 올바르게 컴파일하려면 다음이 필요합니다:

dnf install numactl-devel pesign

videodev2.h 패치가 실패했습니다. realsense-camera-formats.path 파일을 열고 파일 끝의 152행을 삭제한 후 다음을 추가하고 파일을 저장합니다.

diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index a0e87d1..7e00be4 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
629a630,647
> #define V4L2_PIX_FMT_Y8I      v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
> #define V4L2_PIX_FMT_Y12I     v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
> #define V4L2_PIX_FMT_Z16      v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
> #define V4L2_PIX_FMT_Y8       v4l2_fourcc('Y', '8', ' ', ' ') /* Greyscale 8-bit */
> #define V4L2_PIX_FMT_Y10      v4l2_fourcc('Y', '1', '0', ' ') /* Greyscale 10-bit */
> #define V4L2_PIX_FMT_Y12      v4l2_fourcc('Y', '1', '2', ' ') /* Greyscale 12-bit */
> #define V4L2_PIX_FMT_Y16      v4l2_fourcc('Y', '1', '6', ' ') /* Greyscale 16-bit */
> #define V4L2_PIX_FMT_RAW8     v4l2_fourcc('R', 'A', 'W', '8') /* Raw data 8-bit */
> #define V4L2_PIX_FMT_RW16     v4l2_fourcc('R', 'W', '1', '6') /* Raw data 16-bit */
> #define V4L2_PIX_FMT_INVZ     v4l2_fourcc('I', 'N', 'V', 'Z') /* 16 Depth */
> #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* 24 Depth/IR 16:8 */
> #define V4L2_PIX_FMT_INVR     v4l2_fourcc('I', 'N', 'V', 'R') /* 16 Depth */
> #define V4L2_PIX_FMT_INRI     v4l2_fourcc('I', 'N', 'R', 'I') /* 24 Depth/IR 16:8 */
> #define V4L2_PIX_FMT_INVI     v4l2_fourcc('I', 'N', 'V', 'I') /* 8 IR */
> #define V4L2_PIX_FMT_RELI     v4l2_fourcc('R', 'E', 'L', 'I') /* 8 IR alternating on off illumination */
> 
> 
>

이제 librealsense 폴더로 이동하여 실행합니다 scripts/patch-uvcvideo-fc23.sh(scripts 폴더의 스크립트를 실행하지 말고 이전 디렉터리로 이동).

이 스크립트를 루트로 실행할 필요는 없으며 필요에 따라 sudo를 사용합니다(사용자는 sudo를 사용해야 함). 이제 컴파일되어야 합니다. 치즈는 여전히 녹색으로 보이지만 xawtv는 작동합니다.

관련 정보