PS5 Camera на Linux
Сегодня мы будем прошивать и запускать камеру под любым линуксом и на ПК с USB 3.0.
Включаем камеру в порт ПК, лучше в материнку, а не на выведенные USB. Открываем консоль и пишем:
lsusb
там будет адрес порта в котором торчит камера, называется она OmniVision что-то там.
а в gmesg видим что-то типа:
[140510.292062] usb 6-1: Product: USB Boot
[140510.292064] usb 6-1: Manufacturer: OmniVision Technologies, Inc.
Далее нам надо создать группу plugdev и добавиться в нее:
sudo groupadd plugdev
sudo usermod -aG plugdev MY_USERNAME
Далее качаем:
mkdir ps5 && cd ps5
git clone https://github.com/Hackinside/PS5_camera_files
git clone https://github.com/raleighlittles/PS5-Camera-Firmware-Loader
Оттуда нам надо udev файл (100-playstation-camera.rules):
cd ps5/PS5-Camera-Firmware-Loader
cp 100-playstation-camera.rules /etc/udev/rules.d/
Потом ребутаем ПК или:
udevadm control --reload ; udevadm trigger
Для прошивки нам потребуется rust. Ставим (потом после всех дел удаляем сами ибо 500мб на дороге не валяются) чем угодно в зависимости от вашего дистрибьютива, у меня arch, поэтому pacman:
sudo pacman -S rust
Проверяем что всё окей:
cargo --version
rustc --version
и погнали:
сd ~./ps5
cargo build --manifest-path=Cargo.toml
После сборки бинарники появятся тут:
target/debug/ps5_camera_firmware_loader
firmware.bin это наша прошивка, она скачивается ранее и лежит по пути: ~./ps5/PS5_camera_files/firmware.bin
для удобства можно её предварительно скопировать в
./target/debug/
Запускаем прошивалку:
./target/debug/ps5_camera_firmware_loader firmware.bin
ГОТОВО!
lsusb покажет теперь её так:
Bus 002 Device 002: ID 05a9:058c OmniVision Technologies, Inc. USB Camera-OV580
Камера верно определяется и её можно добавлять в OBS и вообще куда угодно как вебку. Не без проблем конечно, так как у нее 2 камеры то стоит выбирать разрешения либо 1920х1080 но 30fps либо 950х520, либо 1280х800 но будут 60fps
А если картинка слишком темная, в свойствах камеры пощелкайте это:
Ваще гайды есть в инете и всегда можно спросить ИИ, но если будет еще один на русском - не помешает. Всем спасибо.