Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qubes-video-companion: MIPI camera support #9713

Open
DemiMarie opened this issue Jan 15, 2025 · 3 comments
Open

qubes-video-companion: MIPI camera support #9713

DemiMarie opened this issue Jan 15, 2025 · 3 comments
Labels
C: Qubes Video Companion hardware support P: minor Priority: minor. The lowest priority, below "default."

Comments

@DemiMarie
Copy link

How to file a helpful issue

The problem you're addressing (if any)

Newer laptops often come with MIPI cameras that can only be handled by libcamera. They cannot be used directly by v4l2 as this will only get raw Bayer data, which is useless. In practice, the supported way to use these cameras is via PipeWire. Furthermore, sensor power management is handled by ACPI, so it is not possible to assign these cameras to a VM. They can only be used in dom0.

The solution you'd like

Support these cameras.

The value to a user, and who that user might be

Users with MIPI cameras will be able to use them.

Completion criteria checklist

(This section is for developer use only. Please do not modify it.)

@DemiMarie DemiMarie added T: enhancement P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Jan 15, 2025
@DemiMarie
Copy link
Author

This is tricky because sensor power management requires ACPI support, so it will only work in dom0 out of the box, and only on systems that do not use a USB GPIO expander. Worse, some of the ACPI tables might refer to GPIOs and other interfaces that are behind a USB expander, which causes problems with sys-usb. Furthermore, optimal image quality will likely require a proprietary Intel blob.

@jwrdegoede What would be needed to use the IPU6 and IPU7 on systems where USB controllers are attached to a separate VM? If the USB GPIO expander is on a separate PCI device, it could be kept in dom0 (the host) while the other USB controllers are attached to a guest, but I’m concerned that Qubes OS users aren’t going to be this lucky. Do the relevant ACPI tables only require access to the USB GPIO controller or the host GPIO pins but not both, or do they require access to both? What damage could one do with access to the USB GPIO expander?

@marmarek
Copy link
Member

Newer laptops often come with MIPI cameras

Citation needed.

Quick search on our forum shows a single Dell laptop model from 2 years ago. None of the recent HCL submissions have such camera either.

IOW, this is very low priority.

@marmarek marmarek added P: minor Priority: minor. The lowest priority, below "default." and removed P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. labels Jan 26, 2025
@DemiMarie
Copy link
Author

@marmarek I’m not surprised that there are not many users of Qubes OS with MIPI cameras, but I do wonder if this is due to selection bias: users whose camera does not work might give up on Qubes OS, and users who know that MIPI cameras are problematic might avoid buying machines that have them. If selection bias is a significant factor, then this could be more important than the low numbers suggest.

Is there a way to check for this? Maybe ask on linux-media?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Qubes Video Companion hardware support P: minor Priority: minor. The lowest priority, below "default."
Projects
None yet
Development

No branches or pull requests

3 participants