From ec81a3d58febf7166bdeb0431ed1449e47c641c8 Mon Sep 17 00:00:00 2001 From: brotoskyj Date: Fri, 3 Jan 2025 13:47:58 -0500 Subject: [PATCH] Initial Commit --- .gitignore | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 16 ++++++++++++++++ README.md | 21 +++++++++++++++++++++ src/main.rs | 10 ++++++++++ 5 files changed, 55 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..db442ea --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "obs_fix" +version = "2025.1.3" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..9e8d274 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "obs_fix" +version = "2025.1.3" +edition = "2021" + +[dependencies] + +[profile.release] +opt-level = "z" +lto = "fat" +debug = false +codegen-units = 1 +panic = 'abort' +strip = true +debug-assertions = false +overflow-checks = false \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..db7de77 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ + +![Rust](https://img.shields.io/badge/rust-%23000000.svg?style=for-the-badge&logo=rust&logoColor=white) + +# OBS Flatpak Virtual Camera Fix + +A simple Rust binary to turn on the v4l2loopback interface for OBS + + +## Run Locally + +Make binary executable + +```bash + chmod +x obs_fix +``` + +Execute with sudo permissions + +```bash + sudo ./obs_fix +``` diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..1e1fa11 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,10 @@ +use std::process::Command; + +fn main() { + Command::new("/usr/sbin/modprobe") + .arg("v4l2loopback") + .arg("exclusive_caps=1") + .arg("card_label='OBS Virtual Camera'") + .spawn() + .expect("Modprobe command has failed"); +} \ No newline at end of file