-
Notifications
You must be signed in to change notification settings - Fork 52
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
Please upstream modules into mainline kernel #22
Comments
Fedora (and I think a lot of other distos) also will not include them, if not upstreamed. Please do it. |
the new Dell XPS 13 Plus (9320) also requires this driver for the webcam, but building it fails on linux kernel 5.18.7 (arch linux) due to the issues in #13 (missing headers, and unresolved symbols after manually copying headers) |
I also have a Dell XPS 13 plus, and just stumbled upon this issue. Also failed to build. |
Dell XPS 13 Plus too, building error on modpost with message 'undefined!' on ov02c10.ko and ov01a10.ko |
I notified the Linux upstream folks about the issue. The current recommendation is to not buy such devices. From Greg KH:
It also sounds like, that it won’t be easily be solved. Those of you who can, I can only suggest to return the device to not further support vendors screwing up Linux support in this case, and save time fiddling with Linux driver issues. No idea, who dropped the ball here, but the ChromiumOS/ChromeOS and Ubuntu/Canonical/Dell/Lenovo should have started the discussion with the upstream folks much earlier. It’s a very sad situation for the GNU/Linux ecosystem. |
We can certainly help over at https://libcamera.org if anyone from Intel wants to contact us. |
@paulmenzel I share your disappointment, but I'd like to focus on how we could improve the situation instead of generating bad PR, as I'm sure the latter doesn't need my help :-) I won't comment on what happened at Google, Canonical, Dell or Lenovo, as only them have a full picture. All I can say is that it's fairly common for discussions to start in private to decide how to support new product, especially before they are released. I have no reason to believe those discussions didn't start, but they obviously didn't bear fruits so far. The problem isn't easy to solve, and I do understand how development teams can be pressured with product deadlines. Still, this may explain the situation, but not excuse it. Another point I'd like to make is that we have received technical support from multiple Intel developers when developing IPU3 support in libcamera. There are people with goodwill in their teams, I don't think it would be fair blaming all the developers for the lack of a high-level upstreaming strategy. We won't be able to fix the mistakes that were made without a clear commitment from Intel, they need to engage directly with the Linux kernel and libcamera upstream developers. Given the amount of work that lies ahead, this has to happen now. My door is fully open. |
hey, in the mean time I managed to create a patch for pure DKMS building in my AUR package |
Doesn't appear there are any new updates regarding this ipu6 mipi camera issue. I just got my new XPS 9320 in the mail and noticed this issue immediately. Hopefully Intel fixes this ASAP. |
I can only recommend to return the system to not support such products. Otherwise vendors won’t change as long as they can sell such devices. Additionally, Jonathan Corbet summarized the topic in the LWN article The growing image-processor unpleasantness. |
I'm also stuck with a Dell XPS 13 with this issue. don't have a chance to return it unfortunately, although I do agree returning sends the more forceful message to vendors. FYI @Thesola10 I tried your kernel module (although I'm not 100% sure what it would achieve) on my Manjaro installation. The boot hanged for a few minutes but ended up booting in the end. Stilll no working though, so I removed it again to fix the boot process |
The lengthened boot process is due to including the |
This might be already known, but I still want to mention it. Canonical provides prebuilt packages for some Dell systems that enable the camera: https://wiki.ubuntu.com/Dell |
@cjechlitschek those packages are completely useless if someone isn't running a Debian based distro. Also, see the previous comments which explain why those packages are flawed. |
I also miss the webcam under Fedora, pleas fix who can! |
This is crazy, I just bought the XPS 13 Plus because it was certified by Ubuntu 😩 and even under a Debian based distro, the drivers are not working on 5.17.0-1018-oem kernel. |
@githubtefo For what it's worth, I've been running Ubuntu smoothly for a while now, with snapd and all the bloatware removed will happily switch back to Arch once possible. But all things considered, I'm quite happy with the performance of the laptop, including the webcam |
Hello, I would like also point out the need for camera drivers for the newest Lenovo Carbon X10 laptop. For 6 version of Linux kernel where are compilable and still lacking in the upstream. |
for my new job I was picking from Thinkpad X1 gen10 and Dell XPS Plus. Was afraid that I made a wrong choice. But from what you wrote I see I would have ended up in this thread regardless 😅 |
Hi, I've picked up the XPS 13 Plus 5 months ago, been using it with Fedora since then. Mostly good, except the webcam still not working after all that time :( Please add the webcam drivers to the mainline kernel since it's a bummer needing to use an external usb webcam with such a great and expensive machine. Thanks! |
We are from RealSense working on a "webcam" support for IPU6. The work is in progress - we estimate work done by endo of the year, you can observe PR's update. |
@dmipx that sounds like great news. Hopefully you can improve the README as well, so that there are clear build instructions, instead of the current outdated confusing mess. |
Are you planning to upstream this work, or just merge it in the out-of-tree IPU6 driver ? |
For now we have dispute about it with ipu6 team so we started to implement it as out-of-tree. |
Please contact the Linux (subsystem) kernel mailing list with the involved developers in Cc notifying them about your efforts. This GitHub issue is not the right forum for this. |
Hi, any updates regarding this topic? Is it possible to have this included in mainline kernel or people with alder lake laptops will be left with not working webcam on linux? |
Engineer release on 2022-08-10
Please upstream the module , people are suffering from lack of support. |
Hey is there any update? I bought a new X1Gen10 and, working in a remote setting without a camera, this machine is a bit of a very expensive paperweight. |
Small question / reminder, first post of this issue was on Jun 21, 2022 that is now over a year and a half ago. What has happened in the meantime? Any update from intel? |
There is ongoing upstreaming efforts for various parts of the webcam driver stack:
jwrdegoede will also have a talk at fosdem about it. See also their recent blog post. |
Thank you Red Hat and Linaro, and, therefore, to all organizations buying RHEL licenses and not being parasites by using CentOS or other clones. Unfortunately that’s often banks and insurance companies. I am curious, if Dell or Google ChromeOS participated in this effort. Anyway, big kudos again to Red Hat (@jwrdegoede) and Linaro. |
I have good hopes that the ISYS driver will land upstream in a reasonably near future. The PSYS is a different story. It seems much more likely to me that IPU6-based platforms will be supported by libcamera using a software-based ISP (possibly GPU-accelerated at some point). That will incur some performance and power consumption costs, but should provide decent-enough images for basic video conferencing needs. |
What is the reason for this? Is it because Linux has no framework for PSYS drivers, or because Intel is not willing to provide a driver or documentation, and therefore extensive reverse engineering would be required? |
Only Intel can officially answer that question. You may be able to form your personal opinion on the matter by looking at how much information the existing PSYS driver exposes (or doesn't expose) about the parameters the ISP receives, the statistics it produces, and how it operates in general. |
Ah, so this is a situation where the actual driver runs in userspace, with the kernel driver just being a pipe between userspace and the on-device firmware. |
Slide 7 of the FOSDEM 2024 presentation slides says:
Doesn’t that contradict Intel’s pledge to openness in 2021? |
Does that mean that for those who need high-quality images or good battery life, an external high-end USB webcam will be needed for the forseeable future? |
For those who need high-quality images and good battery life with upstream drivers, yes. That is my understanding, but I would be very happy if Intel proved me wrong :-) |
See here for discussion and status on kernel mailing list: |
The v6 of the patch was posted for review two days ago: https://lwn.net/ml/linux-media/[email protected]/ |
Also, v8 of the softisp patch has been posted recently https://lists.libcamera.org/pipermail/libcamera-devel/2024-April/041448.html the patches I've linked above have made it into Linux 6.8. |
the driver upstreamed in linux 6.10. https://lore.kernel.org/lkml/[email protected]/ EDIT: relative commit which contains codes & documentation about how driver works: |
My for-sure-last Intel-based NTB will have a working webcam in 2024, yay. |
While it's an important part of the puzzle, the ISYS driver alone isn't enough. The PSYS driver is still missing, and that will take more time. In the meantime, libcamera has a software-based ISP implementation (contributed by Redhat and Linaro, kudos to them) that will be usable as a stop-gap measure.
You will also need a driver for the camera sensor in your device. With some luck, there will already be one in the kernel. It may also need integration in libcamera, if not done yet. TL;DR: Avoiding the extra CPU and power consumption of the software ISP will have to wait for next year, but the good news is that there's a chance you'll get images out of your camera in 2024 :-) |
Does this mean that a PSYS driver is at least planned? I thought it was completely blocked by Intel not being willing to release any userspace for the PSYS and upstream (rightly) refusing to take a driver with no working userspace. (...)
Does Linux have drivers for the sensors most commonly found in laptops? |
I'm not sure I would say "planned". The effort isn't dead, but the relevant upstream kernel communities have not blessed any architecture and technical solution yet. Whether or not a driver could land upstream, and at what time, are not questions that can be answered with a complete guarantee at this point.
Some of them are supported. Intel has upstreamed sensor drivers in the past few of years, so I would say they have done work in that area, but I don't know what shares of the Intel-based laptops that would cover, or what models. |
I know that drivers for other ISPs have been accepted upstream. Is the lack of an open userspace for the PSYS still the main blocker, or are there other problems that also need to be resolved? |
Is there any talk of backporting the driver to 6.9? I'm aware that the PSYS driver would still be needed, but with 6.9 being so new, it makes sense to me to try supporting it. |
I've updated my Debian Sid to latest, which brought in kernel 6.10.6. There is no binary kernel module for IPU6 (but I can see the ipu6-fw in the firmware package). Any idea why the driver could be missing from the distro? |
I'm running Fedora 40 with 6.10.6 - same here.. |
IPU6 was enabled in the More information on the next steps required to have support in Debian available in this bug: #1074441. |
I'll keep waiting, thanks for the update! |
For reference, vanilla Debian kernel 6.11.6 on
I can capture frames using libcamera's tool but not got around to get a video stream yet. Doesn't look like there is an upstream Debian package for UPDATE: I got the camera working as a source in OBS, qcam, cheese via |
Would PSYS support be sufficient for high image quality, or would that also require a lot of platform-specific tuning? Is this tuning something that could be automated so that it could easily be done by the community, or will Linux always lag behind the platform (Windows) driver? |
"PSYS support" means both a kernel driver and userspace ISP control algorithms (in libcamera) to compute the ISP parameters. The algorithms require a set of per-camera module data commonly called tuning data or calibration data. The nature and representation of the tuning data depends on the implementation of the ISP hardware and of the userspace algorithms. Two different algorithms implementations (for instance an open-source version in libcamera and a closed-source version from Intel) would both express similar data in different ways, and also use different data.
Tuning is a manual process performed with a tuning tool. libcamera has a tuning tool infrastructure that would need to be extended to support the open-source PSYS ISP control algorithms. IPU6-based machines supported by Intel (both running Windows and Chrome OS) ship a tuning data file produced by a closed-source tuning tool (that is not available publicly even in binary form to the best of my knowledge). This tuning data file uses an undocumented binary format. Part of the parameters it contains could be reused by open-source ISP control algorithms, if the file format were to be documented. |
I recently discovered that my ThinkPad X1 Carbon needs an out-of-tree driver (this one) for my camera. That seems atypical for Intel hardware, which is typically well supported upstream.
I've tried with both Debian sid's 5.18.0-2-amd64 and Ubuntu jammy's 5.15, but the driver is included in neither distro, probably because it isn't upstream. Since this hardware is considered important for most people who use an Alder Lake laptop, could you consider upstreaming this driver (and any dependent pieces) into the mainline kernel relatively soon, even if only in the staging area?
I did try to build this myself with DKMS, but due to #13 (both the missing header and then the modpost error), it's not possible to do so, so there is presently no way to make this hardware work on Debian.
The text was updated successfully, but these errors were encountered: