IPU6 Camera not recognized (Dell Precision 5490)

Hi guys, I just got a new Precision 5490 and installed Manjaro. Everything works flawlessly except for the Webcam. It is not recognized at all. Following I’ll give some info:

Currently running this kernel:

uname -r
6.10.6-10-MANJARO

Looking at the config of the kernel CONFIG_VIDEO_INTEL_IPU6=m is present.

Also the correct firmware seems to be installed:

pacman -Ql linux-firmware | grep ipu6
linux-firmware /usr/lib/firmware/intel/ipu/ipu6_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6ep_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin
linux-firmware /usr/lib/firmware/intel/ipu/ipu6se_fw.bin

and the modules are correctly loaded:

lsmod | grep ipu
intel_ipu6_isys       143360  0
videobuf2_dma_contig    28672  1 intel_ipu6_isys
videobuf2_v4l2         40960  1 intel_ipu6_isys
videobuf2_common       94208  4 videobuf2_dma_contig,videobuf2_v4l2,intel_ipu6_isys,videobuf2_memops
intel_ipu6             86016  1 intel_ipu6_isys
v4l2_fwnode            32768  2 ov01a10,intel_ipu6_isys
ipu_bridge             24576  2 intel_ipu6,intel_ipu6_isys
v4l2_async             32768  3 v4l2_fwnode,ov01a10,intel_ipu6_isys
videodev              393216  5 v4l2_async,v4l2_fwnode,videobuf2_v4l2,ov01a10,intel_ipu6_isys
mc                     90112  6 v4l2_async,videodev,videobuf2_v4l2,ov01a10,intel_ipu6_isys,videobuf2_common

But the system still does not recognize the webcam:

v4l2-ctl --all
Cannot open device /dev/video0, exiting.

LIBCAMERA_LOG_LEVELS=0 cam --list
[0:23:11.884255620] [13906] DEBUG IPAModule ipa_module.cpp:334 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:23:11.884312228] [13906] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:23:11.884343475] [13906] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:23:11.884356069] [13906] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:23:11.884377909] [13906] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
[0:23:11.884383572] [13906] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
[0:23:11.884408592] [13906]  INFO Camera camera_manager.cpp:313 libcamera v0.3.1
[0:23:11.884637030] [13907] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:23:11.884992642] [13907] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'vimc'
[0:23:11.885012709] [13907] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'uvcvideo'
[0:23:11.885030152] [13907] DEBUG Camera camera_manager.cpp:134 Found registered pipeline handler 'ipu3'
Available cameras:

The only error I could find is this one:

dmesg | grep ipu
[    5.485317] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   16.828678] pci 0000:00:05.0: deferred probe pending: intel-ipu6: IPU6 bridge init failed
[  356.695761] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0
[  356.696286] ipu6_buttress_ipc_reset: 14 callbacks suppressed
[  356.696290] intel-ipu6 0000:00:05.0: Unexpected CSR 0x0

I am at my wits end and I hope some of you can lend a hand here. Thanks in advance!

Seems you are either going to have to wait, use Unstable Branch, or consult the AUR.

Assuming its the same scenario.
Or of course I could be wrong and it could be something else entirely.
If there is some sort of hotfix to be had then all the merrier, but I dont know it. :slight_smile:

But I did some extra digging and found this Arch thread … which, while not exactly encouraging, may provide some insight and prove to house some solution in the future:

https://bbs.archlinux.org/viewtopic.php?id=297262

By the by … have you tried other kernels? Like 6.6? or 6.11?
Some of my skimmed reading seems to show some folks having problems beginning with kernel 6.10. I see other references to expected functionality with kernel 6.11.

EDIT: I also found this project. No idea of its condition, but seems to have at least been active up til a few months ago.

1 Like

Thank you so much for taking the time to investigate! Sadly, I could not post any link on my post as I had no permission apparently but I have already checked all the posts you sent.

The first link you sent basically just asks to add the CONFIG_VIDEO_INTEL_IPU6=m to the kernel config. Apparently, they added all the related drivers but they commented out this line, which prevented the driver from actually being used. On the kernel I have now, this line is no longer commented out, so the correct drivers are loaded.

I also tried the AUR packages but no luck sadly :frowning:

I also tried other kernels, exactly the ones you suggested. With 6.6 the webcam is still broken but also the audio is broken and the sound card is not even recognized anymore, while with 6.11 nothing changes.

I also checked the github you posted and it only works for 6.6 but to be honest I did not try since with 6.6 the sound card breaks. Maybe I can give it a try.

Finally, I also tried to install EndeavourOS and I remember that the camera there was actually recognized, but it still does not work for some reason.

Maybe my laptop is too new? I am using the Meteor Lake and it seems that the drivers loaded with 6.10 support it. I have no idea on what else to do :cry:

One possible avenue is to switch to unstable and do a full system sync

sudo pacman-mirrors --api --set-branch unstable --continent &&  sudo pacman -Syu

Since I don’t know it your system is using Nvidia you should sync the linux 6.11 kernel using mhwd

sudo mhwd-kernel -i linux611
1 Like

Mmm when I switched to unstable, while it was updating I noticed these loglines:

==> ERROR: Missing 4.19.321-1-MANJARO kernel modules tree for module ipu6-drivers/r165.cfb7af1e5.
==> ERROR: Missing 6.10.8-4-MANJARO kernel headers for module v4l2loopback/0.13.2.
==> ERROR: Missing 6.10.8-4-MANJARO kernel headers for module ipu6-drivers/r165.cfb7af1e5.
==> ERROR: Missing 4.19.321-1-MANJARO kernel modules tree for module v4l2loopback/0.13.2.

That can’t be good but I’m not sure what to do about it.

The same thing happened also while installing 6.11:

==> ERROR: Missing 6.11.0-rc6-4-MANJARO kernel headers for module v4l2loopback/0.13.2.
==> ERROR: Missing 6.11.0-rc6-4-MANJARO kernel headers for module ipu6-drivers/r165.cfb7af1e5.

In any case, even with switching to unstable and 6.11 the camera is still not recognized and also quite some things break in my Hyprland setup, but I would assume because of the unstable packages.

If you use mhwd-kernel you should get the headers too - that is if they are present.

Since you earlier mentioned dkms - I assumed you had kernel headers - as they are paramount for dkms to be able to generate the modules.

I also saw that you installed linux-headers - but then you have to select the correct package(s) - otherwise you get the first one listed linux419

Remove linux419 and install headers for the remaining kernels

sudo mhwd-kernel -r linux419

Then install headers by specifying

sudo pacman -Syu linux610-headers linux611-headers

Yeah I also thought it was weird I did not have headers but I think we’re getting somewhere here (thanks so much for the help btw!). Installing the headers as you suggests, actually attempts to install those missing modules but I get this error:

sudo pacman -Syu linux610-headers linux611-headers
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
warning: linux610-headers-6.10.6-10 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (2) linux610-headers-6.10.6-10  linux611-headers-6.11.0rc4-7

Total Download Size:    25,47 MiB
Total Installed Size:  247,24 MiB
Net Upgrade Size:      123,89 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 linux611-headers-6.11.0rc4-7-x86_64                             25,5 MiB  8,96 MiB/s 00:03 [######################################################] 100%
(2/2) checking keys in keyring                                                              [######################################################] 100%
(2/2) checking package integrity                                                            [######################################################] 100%
(2/2) loading package files                                                                 [######################################################] 100%
(2/2) checking for file conflicts                                                           [######################################################] 100%
(2/2) checking available disk space                                                         [######################################################] 100%
:: Running pre-transaction hooks...
(1/2) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
(2/2) Remove upgraded DKMS modules
==> dkms remove --no-depmod v4l2loopback/0.13.2 -k 6.10.6-10-MANJARO
:: Processing package changes...
(1/2) reinstalling linux610-headers                                                         [######################################################] 100%
(2/2) installing linux611-headers                                                           [######################################################] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating module dependencies...
(3/3) Install DKMS modules
==> dkms install --no-depmod ipu6-drivers/r165.cfb7af1e5 -k 6.10.6-10-MANJARO
Error! Bad return status for module build on kernel: 6.10.6-10-MANJARO (x86_64)
Consult /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/make.log for more information.
==> WARNING: `dkms install --no-depmod ipu6-drivers/r165.cfb7af1e5 -k 6.10.6-10-MANJARO' exited 10
==> dkms install --no-depmod v4l2loopback/0.13.2 -k 6.10.6-10-MANJARO
==> dkms install --no-depmod ipu6-drivers/r165.cfb7af1e5 -k 6.11.0-rc4-7-MANJARO
Error! Bad return status for module build on kernel: 6.11.0-rc4-7-MANJARO (x86_64)
Consult /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/make.log for more information.
==> WARNING: `dkms install --no-depmod ipu6-drivers/r165.cfb7af1e5 -k 6.11.0-rc4-7-MANJARO' exited 10
==> dkms install --no-depmod v4l2loopback/0.13.2 -k 6.11.0-rc4-7-MANJARO
==> depmod 6.11.0-rc4-7-MANJARO
==> depmod 6.10.6-10-MANJARO

You will have to do that

You should remember

  • I don’t have system with IPU Camera
  • I know nothing of Dell systems
  • I have no knowledge of your system
  • my suggestions are generic
  • I cannot hold your hand while you experiment
  • I don’t know the answer and me guessing is not of any help
  • You mention Hyprland - Nvidia and Hyprland is uncharted and unsupported territory

It looks like the are quite some problem with the driver source code. When trying to make it this is what I get:

sudo make
make -C /lib/modules/6.10.6-10-MANJARO/build M=/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build modules
make[1]: Entering directory '/usr/lib/modules/6.10.6-10-MANJARO/build'
  LD [M]  /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/ljca.o
  CC [M]  /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.o
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c: In function ‘ljca_spi_transfer_one’:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:220:41: error: implicit declaration of function ‘spi_master_get_devdata’; did you mean ‘spi_controller_get_devdata’? [-Wimplicit-function-declaration]
  220 |         struct ljca_spi_dev *ljca_spi = spi_master_get_devdata(master);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~
      |                                         spi_controller_get_devdata
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:220:41: error: initialization of ‘struct ljca_spi_dev *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
In file included from ./include/vdso/const.h:5,
                 from ./include/linux/const.h:4,
                 from ./include/linux/bits.h:5,
                 from ./include/linux/ioport.h:13,
                 from ./include/linux/acpi.h:12,
                 from /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:8:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:224:34: error: invalid use of undefined type ‘struct spi_master’
  224 |         div = DIV_ROUND_UP(master->max_speed_hz, xfer->speed_hz) / 2 - 1;
      |                                  ^~
./include/uapi/linux/const.h:34:40: note: in definition of macro ‘__KERNEL_DIV_ROUND_UP’
   34 | #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
      |                                        ^
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:224:15: note: in expansion of macro ‘DIV_ROUND_UP’
  224 |         div = DIV_ROUND_UP(master->max_speed_hz, xfer->speed_hz) / 2 - 1;
      |               ^~~~~~~~~~~~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c: In function ‘ljca_spi_probe’:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:250:16: error: assignment to ‘struct spi_master *’ from incompatible pointer type ‘struct spi_controller *’ [-Wincompatible-pointer-types]
  250 |         master = spi_alloc_master(&pdev->dev, sizeof(*ljca_spi));
      |                ^
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:255:18: error: assignment to ‘struct ljca_spi_dev *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  255 |         ljca_spi = spi_master_get_devdata(master);
      |                  ^
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:259:25: error: invalid use of undefined type ‘struct spi_master’
  259 |         ljca_spi->master->dev.of_node = pdev->dev.of_node;
      |                         ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:262:45: error: invalid use of undefined type ‘struct spi_master’
  262 |         ACPI_COMPANION_SET(&ljca_spi->master->dev, ACPI_COMPANION(&pdev->dev));
      |                                             ^~
./include/linux/acpi.h:58:60: note: in definition of macro ‘ACPI_COMPANION_SET’
   58 | #define ACPI_COMPANION_SET(dev, adev)   set_primary_fwnode(dev, (adev) ? \
      |                                                            ^~~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:264:15: error: invalid use of undefined type ‘struct spi_master’
  264 |         master->bus_num = -1;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:265:15: error: invalid use of undefined type ‘struct spi_master’
  265 |         master->mode_bits = SPI_CPHA | SPI_CPOL;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:266:15: error: invalid use of undefined type ‘struct spi_master’
  266 |         master->prepare_message = ljca_spi_prepare_message;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:267:15: error: invalid use of undefined type ‘struct spi_master’
  267 |         master->transfer_one = ljca_spi_transfer_one;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:268:15: error: invalid use of undefined type ‘struct spi_master’
  268 |         master->auto_runtime_pm = false;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:269:15: error: invalid use of undefined type ‘struct spi_master’
  269 |         master->max_speed_hz = LJCA_SPI_BUS_MAX_HZ;
      |               ^~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:271:15: error: implicit declaration of function ‘devm_spi_register_master’; did you mean ‘devm_spi_register_controller’? [-Wimplicit-function-declaration]
  271 |         ret = devm_spi_register_master(&pdev->dev, master);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
      |               devm_spi_register_controller
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:280:9: error: implicit declaration of function ‘spi_master_put’; did you mean ‘spi_dev_put’? [-Wimplicit-function-declaration]
  280 |         spi_master_put(master);
      |         ^~~~~~~~~~~~~~
      |         spi_dev_put
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c: In function ‘ljca_spi_dev_remove’:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:286:37: error: implicit declaration of function ‘spi_master_get’; did you mean ‘spi_dev_get’? [-Wimplicit-function-declaration]
  286 |         struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
      |                                     ^~~~~~~~~~~~~~
      |                                     spi_dev_get
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:286:37: error: initialization of ‘struct spi_master *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:287:41: error: initialization of ‘struct ljca_spi_dev *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  287 |         struct ljca_spi_dev *ljca_spi = spi_master_get_devdata(master);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c: In function ‘ljca_spi_dev_suspend’:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:298:16: error: implicit declaration of function ‘spi_master_suspend’; did you mean ‘spi_controller_suspend’? [-Wimplicit-function-declaration]
  298 |         return spi_master_suspend(master);
      |                ^~~~~~~~~~~~~~~~~~
      |                spi_controller_suspend
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c: In function ‘ljca_spi_dev_resume’:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.c:305:16: error: implicit declaration of function ‘spi_master_resume’; did you mean ‘spi_controller_resume’? [-Wimplicit-function-declaration]
  305 |         return spi_master_resume(master);
      |                ^~~~~~~~~~~~~~~~~
      |                spi_controller_resume
make[3]: *** [scripts/Makefile.build:244: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/spi/spi-ljca.o] Error 1
make[2]: *** [/usr/lib/modules/6.10.6-10-MANJARO/build/Makefile:1934: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.10.6-10-MANJARO/build'
make: *** [Makefile:78: all] Error 2

After some digging, it seems that the names of these struct were changed from spi_master_* to spi_controller_*.

Changing them resolves those issues but more arise regarding using vmalloc. It seems that that this one is also deprecated and I just replaced it with kmalloc. With this change, also this problem is gone but only one is left:

sudo make
make -C /lib/modules/6.10.6-10-MANJARO/build M=/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build modules
make[1]: Entering directory '/usr/lib/modules/6.10.6-10-MANJARO/build'
  CC [M]  /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6/../ipu.o
In file included from /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6/../ipu-buttress.h:9,
                 from /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6/../ipu.c:19:
/var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6/../ipu.h:75:29: error: field ‘buttress’ has incomplete type
   75 |         struct ipu_buttress buttress;
      |                             ^~~~~~~~
make[5]: *** [scripts/Makefile.build:244: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6/../ipu.o] Error 1
make[4]: *** [scripts/Makefile.build:485: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel/ipu6] Error 2
make[3]: *** [scripts/Makefile.build:485: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build/drivers/media/pci/intel] Error 2
make[2]: *** [/usr/lib/modules/6.10.6-10-MANJARO/build/Makefile:1934: /var/lib/dkms/ipu6-drivers/r165.cfb7af1e5/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.10.6-10-MANJARO/build'
make: *** [Makefile:78: all] Error 2

This ipu_buttress seems to be an incomplete type but to be honest I have no clue why. It seems a simple struct with nothing to it. Maybe some of the types used inside the struct are incomplete or maybe they’re again using something that is deprecated:

struct ipu_buttress {
	struct mutex power_mutex, auth_mutex, cons_mutex, ipc_mutex;
	struct ipu_buttress_ipc cse;
	struct ipu_buttress_ipc ish;
	struct list_head constraints;
	struct ipu_buttress_fused_freqs psys_fused_freqs;
	unsigned int psys_min_freq;
	u32 wdt_cached_value;
	u8 psys_force_ratio;
	bool force_suspend;
	u32 ref_clk;
};

It seems to me that these drivers are quite out of date. I’m not sure there is something I can do here but then I would assume this is why the camera is not working.

Possibly the best avenue right now is to remove/undo everything you have tried.

If the kernel has support for it - I think some of your comments indicated such - you should be able to list the device using lspci or lsusb.

Then install v4l-utils and v4l2loopback-utils plus a simple viewer guvcview comes to mind. This should really be all you need.

guvcview may not be a fantastic app but for testing a camera it is great.

I reverted all the changes that I’ve made, but the problem is still there. As you can see both lspci and lsusb do not show the webcam:

❯ lspci
0000:00:00.0 Host bridge: Intel Corporation Device 7d01 (rev 04)
0000:00:01.0 PCI bridge: Intel Corporation Device 7ecc (rev 10)
0000:00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Arc Graphics] (rev 08)
0000:00:04.0 Signal processing controller: Intel Corporation Meteor Lake-P Dynamic Tuning Technology (rev 04)
0000:00:05.0 Multimedia controller: Intel Corporation Meteor Lake IPU (rev 04)
0000:00:06.0 PCI bridge: Intel Corporation Device 7e4d (rev 20)
0000:00:07.0 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 10)
0000:00:07.1 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #1 (rev 10)
0000:00:07.2 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 10)
0000:00:07.3 PCI bridge: Intel Corporation Meteor Lake-P Thunderbolt 4 PCI Express Root Port #3 (rev 10)
0000:00:08.0 System peripheral: Intel Corporation Meteor Lake-P Gaussian & Neural-Network Accelerator (rev 20)
0000:00:0a.0 Signal processing controller: Intel Corporation Meteor Lake-P Platform Monitoring Technology (rev 01)
0000:00:0b.0 Processing accelerators: Intel Corporation Meteor Lake NPU (rev 04)
0000:00:0d.0 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 USB Controller (rev 10)
0000:00:0d.2 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #0 (rev 10)
0000:00:0d.3 USB controller: Intel Corporation Meteor Lake-P Thunderbolt 4 NHI #1 (rev 10)
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller Intel Corporation
0000:00:12.0 Serial controller: Intel Corporation Meteor Lake-P Integrated Sensor Hub (rev 20)
0000:00:14.0 USB controller: Intel Corporation Meteor Lake-P USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
0000:00:14.2 RAM memory: Intel Corporation Device 7e7f (rev 20)
0000:00:15.0 Serial bus controller: Intel Corporation Meteor Lake-P Serial IO I2C Controller #0 (rev 20)
0000:00:15.3 Serial bus controller: Intel Corporation Meteor Lake-P Serial IO I2C Controller #3 (rev 20)
0000:00:16.0 Communication controller: Intel Corporation Meteor Lake-P CSME HECI #1 (rev 20)
0000:00:1c.0 PCI bridge: Intel Corporation Device 7e3f (rev 20)
0000:00:1f.0 ISA bridge: Intel Corporation Device 7e02 (rev 20)
0000:00:1f.3 Multimedia audio controller: Intel Corporation Meteor Lake-P HD Audio Controller (rev 20)
0000:00:1f.4 SMBus: Intel Corporation Meteor Lake-P SMBus Controller (rev 20)
0000:00:1f.5 Serial bus controller: Intel Corporation Meteor Lake-P SPI Controller (rev 20)
0000:01:00.0 3D controller: NVIDIA Corporation AD107GLM [RTX 2000 Ada Generation Laptop GPU] (rev a1)
0000:02:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
0000:ab:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01)
10000:e0:06.0 System peripheral: Intel Corporation RST VMD Managed Controller
10000:e0:06.1 PCI bridge: Intel Corporation Device 7eca (rev 10)
10000:e1:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal]
❯ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8086:0b63 Intel Corp. USB Bridge
Bus 003 Device 003: ID 27c6:634c Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint USB Device
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

I wonder why I can’t build the drivers though. Is it a kernel problem? Is it a driver problem? Clearly the driver source code has something wrong with it.

I feel your frustration - I do … I would probably have reached a point where I would do one last search on internet - see if there is something I missed - often the search phrase need to be phrased more specifically - the first words is the most significant.

It asked for IPU6 camera support for Linux

Please see if any of these answers provides something you have not seen before.

What is important for me when I troubleshoot any given piece of hardware

  1. make notes on every change I make
  2. undo the changes if they do not work
  3. repeat

The reason for undoing is so you do not clutter your experiments with remnants of the previous experiment as this leads to XY problems where you strayed for the original goal

I am using a private instance of searxNG - and I have much success with it - it does not clutter like Bing and Google

To find what camera specifically is in your system you could use hwinfo

hwinfo --help

Did some searching - found the same topic as @cscs

Then I checked the Manjaro kernel config - the config is enabled - all the flags mentioned in #1074441 - linux-image-amd64: Please enable several CONFIG_ options required for IPU6/MIPI cameras - Debian Bug report logs is enabled in manjaro 6.10 kernel.

I see you are active on the very thread referenced by @cscs

You should remember the rules you accepted upon registration. No derivatives allowed - so your comment may be deleted and your user banned.

There are friendly members at Arch but moderators may be very strict.