Package Details: intel-ipu6ep-camera-hal-git r103.289e645-1

Git Clone URL: https://aur.archlinux.org/intel-ipu6ep-camera-hal-git.git (read-only, click to copy)
Package Base: intel-ipu6ep-camera-hal-git
Description: Intel IPU6 camera HAL (Alder Lake)
Upstream URL: https://github.com/intel/ipu6-camera-hal
Licenses: unknown
Conflicts: intel-ipu6-camera-hal-git
Provides: ipu6-camera-hal
Submitter: thesola10
Maintainer: thesola10
Last Packager: thesola10
Votes: 2
Popularity: 0.000003
First Submitted: 2022-08-20 20:53 (UTC)
Last Updated: 2024-07-08 09:27 (UTC)

Dependencies (4)

Required by (1)

Sources (1)

Latest Comments

1 2 Next › Last »

vnoel commented on 2024-06-06 07:00 (UTC)

This is the diff I used to make things compile (based on the upstream repository build.sh script, even though it does a bit more so maybe it's not enough). I also cannot make the camera work though, my next step will be to ask in the upstream github project:

 prepare() {
     cd $_pkgname
     sed -i "s|-D_FORTIFY_SOURCE=2||" CMakeLists.txt
+    sed -i "s|<drm/i915_drm\.h>|<libdrm/i915_drm.h>|" src/core/CameraBuffer.cpp
 }

 build() {
     cmake -B build -S "$_pkgname"       \
         -DCMAKE_BUILD_TYPE=Release      \
         -DIPU_VER=$_ipu_ver             \
-        -DENABLE_VIRTUAL_IPU_PIPE=OFF   \
+        -DBUILD_CAMHAL_TESTS=OFF        \
         -DUSE_PG_LITE_PIPE=ON           \
-        -DUSE_STATIC_GRAPH=OFF          \
-        -DCMAKE_INSTALL_PREFIX="/usr"   \
+        -DCMAKE_INSTALL_PREFIX="/"      \
         -DLIBGCSS_FOUND=ON              \
         -DLIBGCSS_LIBRARY_DIRS="/usr/lib/ipu_adl" \
         -DLIBGCSS_INCLUDE_DIRS="/usr/include/ipu_adl/ia_camera" \
@@ -48,6 +48,10 @@ build() {

 package() {
     DESTDIR="$pkgdir" cmake --install build
+    mv "$pkgdir/usr/usr/lib/pkgconfig" "$pkgdir/usr/lib/pkgconfig"
+    sed -i '1c prefix=\/usr' "$pkgdir/usr/lib/pkgconfig/libcamhal.pc"
+    rmdir "$pkgdir/usr/usr/lib"
+    rmdir "$pkgdir/usr/usr"
     mkdir -p "$pkgdir/etc/ld.so.conf.d"
     echo "/usr/lib/ipu_adl" > "$pkgdir/etc/ld.so.conf.d/intel-ipu6-camera-bin-adl.conf"
 }

sez11a commented on 2024-06-05 15:59 (UTC) (edited on 2024-06-05 15:59 (UTC) by sez11a)

@vnoel,

Thanks for the help! It's actually prepare() that the sed line needs to go into, not package(). And I also changed -DCMAKE_INSTALL_PREFIX="/usr" to -DCMAKE_INSTALL_PREFIX="", and it built! The files you mention are in /etc/camera where they belong.

Unfortunately, the camera still doesn't work.

vnoel commented on 2024-06-05 07:37 (UTC)

Another issue is that the files are installed in the wrong directory (everything goes under /usr incorrectly):

intel-ipu6ep-camera-hal-git /etc/
intel-ipu6ep-camera-hal-git /etc/ld.so.conf.d/
intel-ipu6ep-camera-hal-git /etc/ld.so.conf.d/intel-ipu6-camera-bin-adl.conf
intel-ipu6ep-camera-hal-git /usr/
intel-ipu6ep-camera-hal-git /usr/etc/
intel-ipu6ep-camera-hal-git /usr/etc/camera/
intel-ipu6ep-camera-hal-git /usr/etc/camera/AR0234_TGL_10bits.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HI556_1BG502T3_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HI556_CJFLE25_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HM2170_1SG205N3_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HM2170_1SG205N3_MB_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HM2170_1SG205N3_OS_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/HM2170_CJFME18_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/IMX390_HDR_TGL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/IMX390_HDR_TGL_2.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/OV02C10_1BG203N3_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/OV02C10_1SG204N3_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/OV02C10_CIFME14_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/OV08A10_YHUT_ADL.aiqb
intel-ipu6ep-camera-hal-git /usr/etc/camera/OV2740_CJFLE23_ADL.aiqb
...

vnoel commented on 2024-06-05 07:33 (UTC)

Hi, the package() should now include:

sed -i "s|<drm/i915_drm\.h>|<libdrm/i915_drm.h>|" src/core/CameraBuffer.cpp

so that the package compile

sez11a commented on 2024-05-10 21:23 (UTC)

Is anyone else getting this error when trying to install this?

fatal error: drm/i915_drm.h: No such file or directory
   23 | #include <drm/i915_drm.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

linux-headers is installed, and that file is in place.

benjarobin commented on 2024-03-28 16:55 (UTC)

To fix build using unmodified /etc/makepkg.conf which add by default -Wp,-D_FORTIFY_SOURCE=3 to CFLAGS and CXXFLAGS, the following prepare function needs to be added:

prepare() {
    cd $_pkgname
    sed -i "s|-D_FORTIFY_SOURCE=2| |" CMakeLists.txt
}

swsnr commented on 2022-12-09 17:54 (UTC) (edited on 2022-12-09 17:54 (UTC) by swsnr)

Version r50.cc0b859-1 creates a broken symlink at /usr/lib/libcamhal.so

$ ll /usr/lib/libcamhal.so
lrwxrwxrwx 28 root  9 Dez 18:36 /usr/lib/libcamhal.so -> /usr/lib/ipu6ep/libcamhal.so

/usr/lib/ipu6ep/libcamhal.so doesn't exist, not in this package, and not in intel-ipu6ep-camera-bin

ian_foss commented on 2022-11-30 17:35 (UTC) (edited on 2022-11-30 17:39 (UTC) by ian_foss)

The build is routinely failing for me with the error below. I do have the applicable camera binary package installed and have ensured that ia_imaging.pc is located in:

  • /usr/share/pkgconfig
  • /usr/lib/pkgcofig
  • /usr/lib64/pkgconfig

==> Starting build()...
[...] -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") -- Checking for module 'ia_imaging' -- Found ia_imaging, version VERSION -- Could NOT find IA_IMAGING (missing: IA_IMAGING_LIBS) CMake Error at cmake/FindIA_IMAGING.cmake:91 (message): IA_IMAGING not found Call Stack (most recent call first): CMakeLists.txt:271 (find_package) -- Configuring incomplete, errors occurred!

I'm not quite sure if this is a 'me' problem, and packaging problem, or an upstream problem. Though I cannot build from source manually either.

vnoel commented on 2022-11-22 16:28 (UTC)

HI, I have looked into it a bit more, and the udev file is not required when we build only ipu6ep support, cf step 3 of the README in the git repository.

Basically, when you build for both platform, there are libs with the same name for each platform, and so the udev rule ensure the right libs are exposed to the system.

vnoel commented on 2022-10-27 09:12 (UTC)

Hey thesola10, it seems that this package is creating a lot of broken symlinks with the udev rules added in it.

Would there be some way to fix this or maybe not ship the udev rules or whatever? (I'm not very clear on what they are here for ^^).

See also the discussion here where this was discovered: https://bbs.archlinux.org/viewtopic.php?pid=2062371#p2062371