#libobscura grand opening!
Libobscura is a friendly library to use cameras on Linux.
At least that's the goal.
The objectives are:
- hard to use it wrong
- get a RGB buffer in ten lines of code
- easy to add support for new devices
- no mailing list :P
I want #linuxmobile and other #photo and #video workflows to become easy, and manufacturers to spend less time adding support (hi me 2 years ago).
More info on my #blog: https://dorotac.eu/posts/libobscura/
@libcamera The actual #code is on #codeberg (error: toot too long).
@dcz I'm having some build issues. I think I got `libudev-dev` correct but now complains on "The system library `egl` required by crate `khronos-egl` was not found"
@dcz Sorry for jumping the gun. Installed `libegl-dev` so now that problem is gone.
@dcz I installed the following libraries on Debian
libudev-dev
libegl-dev
libclang-dev
libgbm-dev
So now the `cargo run --bin glium_2` command build but I get a panic.
@dcz Ah ok, so it's an application generated panic. "Only EGL supported". I'll check the code to see if I can figure out what's going on.
@rtn Are you using X11? I have only tested on Wayland, maybe build options end up dfferent.
@rtn Hm, I'm getting a different error on X11.
What Debian version?
What is your Cargo.lock?
The problem is in the choice of how the windowing library talks to the OpenGL library, and there are 2 options: EGL is not compiled in, or not present on your system.
I never expected to see either.
@dcz Not sure what you mean by "What is your Cargo.lock". It's checked into the git source no?
$ glxinfo | grep 'OpenGL version'
OpenGL version string: 4.6.0 NVIDIA 535.183.01
@rtn Cargo.lock may change after building, so the checked in version isn't necessarily so relevant.
I'll check how nvidia works.
@dcz Ah ok. Well git status doesn't show it as modified. Just fyi.
@rtn Thanks. What does it say when you run:
eglinfo -B
@dcz That's a tonne of output. Can I email you this?
@rtn You can also file an issue at libobscura https://codeberg.org/libobscura/libobscura/issues
@dcz Yeah of course. Wth am I doing discussing this here? lmao :D
@rtn Thanks. I'm not sure what's up. I pushed a new version which doesn't have a fix, but it shows more details about what went wrong. Perhaps you could try that.
@dcz https://codeberg.org/libobscura/libobscura/issues/11 so we can continue there, I'll post the log from `eglinfo` as well
@dcz Done. I'd be happy to change and try things as you see fit. At your disposal :)
@dcz Yes I'm using X. Debian 12 (bookworm).
@dcz @libcamera This is EXACTLY what I was looking for. Thanks universe!
@rtn @libcamera Don't praise the day ;)
I bumped 3 versions today just preparing for release.
The code is in FLUX
plz give feedback :3
@dcz @libcamera I'm no rust expert yet but I want to explore cameras more. Longer term goal is doing motion capture.
@jmondi I confirm, the projects are not related. I mentioned libcamera or no other reason that it was a big source of inspiration and to let the contributors know.
@dcz Thanks for taking on this initiative; it looks very promising!
I have a small suggestion to consider making the repository REUSE-compliant (https://reuse.software/); it mainly specifies that the licensing information adheres to a certain structure. There's a spec (https://reuse.software/spec/) and a tool (https://github.com/fsfe/reuse-tool) to check for compliance.
@dcz that's really exciting! Seeing pipewire integration there in the list of goals makes it feel like something more than an experiment. Looking forward to see how it develops and builds a community in the next months!!