The Ultimate Arch + Secureboot guide for Ryzen AI Max (ft. HP G1A 128gb 8060S monster laptop)

On linux 6.16.1 I still don’t see the webcam is there something else I need to do?

cat /sys/bus/acpi/devices/OMNI5C10\:00/status

returns 15

git clone --depth 1 https://github.com/amd/Linux_ISP_libcamera.git -b 3.0
cd Linux_ISP_libcamera/
meson setup build
ninja -C build install

seems to fail the first time with,
FAILED: Documentation/html
so, build again.

ninja -C build install
export LIBCAMERA_AMD_CONFIG_FILE="config-isp4-ov05c.yaml"
LIBCAMERA_LOG_LEVELS=*:DEBUG cam -l

This runs but no camera is detected:

[5:06:58.693385522] [21053] DEBUG IPAModule ipa_module.cpp:333 ipa_amdisp4.so: IPA module /usr/local/lib64/libcamera/ipa_amdisp4.so is signed
[5:06:58.693441196] [21053] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/local/lib64/libcamera/ipa_amdisp4.so'
[5:06:58.693791330] [21053] DEBUG IPAModule ipa_module.cpp:333 ipa_ipu3.so: IPA module /usr/local/lib64/libcamera/ipa_ipu3.so is signed
[5:06:58.693821115] [21053] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/local/lib64/libcamera/ipa_ipu3.so'
[5:06:58.693909891] [21053] DEBUG IPAModule ipa_module.cpp:333 ipa_soft_simple.so: IPA module /usr/local/lib64/libcamera/ipa_soft_simple.so is signed
[5:06:58.693921202] [21053] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/local/lib64/libcamera/ipa_soft_simple.so'
[5:06:58.693937733] [21053]  INFO Camera camera_manager.cpp:327 libcamera v0.0.0+1-206687ae
[5:06:58.694012262] [21054] DEBUG Camera camera_manager.cpp:73 Starting camera manager
[5:06:58.694194292] [21054] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'amd/isp4'
[5:06:58.694211645] [21054] DEBUG AmdIsp4 isp4.cpp:761 Loading pipeline handler configuration from system directory '/usr/local/share/libcamera/pipeline/amd/isp4/config-isp4-ov05c.yaml'
[5:06:58.694219439] [21054] DEBUG AmdIsp4 isp4.cpp:766 Found AMD config file from the system directory '/usr/local/share/libcamera/pipeline/amd/isp4/config-isp4-ov05c.yaml'
[5:06:58.694333572] [21054] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'ipu3'
[5:06:58.694353770] [21054] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'simple'
[5:06:58.694363628] [21054] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'uvcvideo'
Available cameras:

Not sure if this is related but dmesg shows?

[    6.015978] amd_isp_i2c_designware amd_isp_i2c_designware: Unknown Synopsys component type: 0xffffffff
[    6.015984] amd_isp_i2c_designware amd_isp_i2c_designware: error -ENODEV: i2c_dw_probe failed

Probably driver is not complete yet, Phoronix reported that patches had been submited late in beta so probably not all of them are in

OK yep your right the
drivers/media/platform/amd/isp4/
is missing from the source tree looks like we are still waiting on AMD isp4.

Thanks

In case anyone’s looking to get the webcam up and running fast, I found Ubuntu’s linux-oem 6.14 tree to be the easiest to patch sufficiently to get going. The only issue I have at all is that I seem to need to manually systemctl suspend for some reason I haven’t yet understood.

I’ll include my NixOS module for the necessary overrides, including libcamera, which may also be useful to others if you squint hard enough to divine the incantations for your distro of choice.

(If you’re using the module verbatim, please note that system.replaceDependencies is Evil Dark Magic™ and the kernel patches are essentially vibe coded by someone (me) who knows almost but not entirely nothing about kernel development, so it may in fact explode your PC in a very spectacular fashion. Use your own good judgment, which is hopefully better than mine.)

{ pkgs, lib, ... }:
{
  boot.kernelPackages =
    let
      linux-oem = pkgs.buildLinux rec {
        version = "6.14.8";
        modDirVersion = version;
        src = pkgs.fetchgit {
          url = "https://git.launchpad.net/ubuntu/+source/linux-oem-6.14";
          rev = "d4c99280c3db15d1d2294668367153f82f615c0b";
          hash = "sha256-BAN+rIdiF78yK5xSBUy35HkuIKHEjOR6A6RO/QckD5Q=";
        };
      };
    in
    pkgs.linuxPackagesFor linux-oem;

  boot.kernelPatches = [
    {
      name = "yolo";
      patch = pkgs.writeText "yolo.patch" ''
        diff --git a/drivers/media/i2c/ov05c.c b/drivers/media/i2c/ov05c.c
        index 526ff051a..13e404b18 100644
        --- a/drivers/media/i2c/ov05c.c
        +++ b/drivers/media/i2c/ov05c.c
        @@ -1121,6 +1121,7 @@ static struct i2c_driver ov05_i2c_driver = {

         module_i2c_driver(ov05_i2c_driver);

        +MODULE_SOFTDEP("pre: pinctrl-amdisp");
         MODULE_ALIAS("ov05");
         MODULE_DESCRIPTION("OmniVision OV05 sensor driver");
         MODULE_LICENSE("GPL and additional rights");
        diff --git a/drivers/pinctrl/pinctrl-amdisp.c b/drivers/pinctrl/pinctrl-amdisp.c
        index e5b0f088d..fe709b4df 100644
        --- a/drivers/pinctrl/pinctrl-amdisp.c
        +++ b/drivers/pinctrl/pinctrl-amdisp.c
        @@ -191,7 +191,7 @@ static int amdisp_gpiochip_add(struct platform_device *pdev,
         	gc->base		= 0;
         	gc->ngpio		= ARRAY_SIZE(amdisp_range_pins);
         #if defined(CONFIG_OF_GPIO)
        -	gc->of_node		= pdev->dev.of_node;
        +	gc->fwnode		= dev_fwnode(&pdev->dev);
         	gc->of_gpio_n_cells	= 2;
         #endif
      '';
      structuredExtraConfig =
        let
          inherit (lib.kernel) module;
        in
        {
          I2C_DESIGNWARE_AMDISP = module;
        };
    }
  ];

  nixpkgs.overlays = [
    (self: super: {
      libcamera2 = super.libcamera.overrideAttrs (
        final: prev: {
          src = self.fetchFromGitHub {
            owner = "amd";
            repo = "Linux_ISP_libcamera";
            rev = "206687ae94fb59235daad140852ddec1f9f87a19";
            hash = "sha256-7//RctObxrNjgb8tx277qDREF8W4e4zADnS3NyO15UY=";
          };
        }
      );
    })
  ];

  system.replaceDependencies.replacements = [
    {
      oldDependency = pkgs.libcamera;
      newDependency = pkgs.libcamera2;
    }
  ];
}
2 Likes

Does anyone know if the new camera drives was incorporated in 6.16.2-arch1-1 that just was released?

Using cachyos 6.16.2 and it doesn’t appear to be there.

Just putting this here as I distro hop to try and find the right combination of everything to get this thing cranking.

The latest bazzite distribution; the medatek wifi card works out the gate with out the issue fedora/ ubuntu both have with not getting more than ~20 mbps.

Getting a full 500 mbps on bazzite.

But… the bt doesn’t work.

The 10 Gig TB3 NIC (AQC107 chip) does not work any more since I updated to 6.16 not sure if it is one of the kernel parameters or something else.

  • the device appears a thunderbolt device but no network device appears.
  • an alternative 5 gig USB adapter works but the network connection seemed very unstable. Never had issues with this device before.

The webcam is not working but there is discussion on the linux mailing list, I don’t think the patches landed in 6.17, hopefully they make it to 6.18. But I think there are still patches to libcamera missing before the webcam will actually work out of the box on arch.

Bought this laptop a couple of days ago, and for my case waking up problem seems related to disabling the Pluton Security Processor in UEFI Settings. If I disable Pluton, the laptop won’t wake up.

I’ve managed to build libcamera by adding #include <cstdint> into include/libcamera/internal/dma_buf_allocator.h
But that’s it

LIBCAMERA_LOG_LEVELS=*:DEBUG LD_LIBRARY_PATH=/usr/local/lib/ cam -l                                                                                                                                 
[0:12:31.446358950] [39425] DEBUG IPAModule ipa_module.cpp:333 ipa_ipu3.so: IPA module /usr/local/lib/libcamera/ipa_ipu3.so is signed
[0:12:31.446427507] [39425] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/local/lib/libcamera/ipa_ipu3.so'
[0:12:31.446566173] [39425] DEBUG IPAModule ipa_module.cpp:333 ipa_soft_simple.so: IPA module /usr/local/lib/libcamera/ipa_soft_simple.so is signed
[0:12:31.446580038] [39425] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/local/lib/libcamera/ipa_soft_simple.so'
[0:12:31.446623970] [39425]  INFO Camera camera_manager.cpp:327 libcamera v0.0.0+1-206687ae-dirty (2025-08-25T15:08:54+05)
[0:12:31.446826274] [39426] DEBUG Camera camera_manager.cpp:73 Starting camera manager
[0:12:31.447414270] [39426] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'amd/isp4'
[0:12:31.447559319] [39426] DEBUG AmdIsp4 isp4.cpp:761 Loading pipeline handler configuration from system directory '/usr/local/share/libcamera/pipeline/amd/isp4/config-isp4-ov05c.yaml'
[0:12:31.447583032] [39426] DEBUG AmdIsp4 isp4.cpp:766 Found AMD config file from the system directory '/usr/local/share/libcamera/pipeline/amd/isp4/config-isp4-ov05c.yaml'
[0:12:31.448369206] [39426] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'ipu3'
[0:12:31.448463851] [39426] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'simple'
[0:12:31.448508042] [39426] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'uvcvideo'
Available cameras:

Yes, I had the exact same problem with sleep when disabling Pluton. If I add the kernel parameters amd_iommu=off pcie_aspm=off it sleeps for me with Pluton off. Not sure why though.
Thanks, got libcamera to compile a couple of days ago by adding cstdint like you did.

I just realized that all Strix Halo devices have 8000 MT/s memory while older marketing materials all mentioned 8533 MT/s and Strix Point seems to be up to 8533 MT/s. Anybody knows what happened there?

Enabling/Disabling Pluton might trigger the “reflash” I mentioned. Suspend/resume works for a day after that. Then it breaks again. I have Pluton on the whole time, resume still breaks after a while.

My is rocksolid on sleep/resume only problem is no wake with thunderbolt device connected. But as I know I never sleep it with attached device.

Finally managed to bring alive the webcam.
Thanks kerneltoast for helping.
I’ve built a kernel from this branch
And load the latest isp_4_1_1.bin firmware

4 Likes

my hero, thanks. fixed your account so you can make proper links

1 Like

phoronix reported that all code be inside 6.17

6.17 don’t think so, too late.
They hoped it would be in 6.18

1 Like

Just for curiosity, I’ve applied this latest patch set on top of the latest 6.17-rc3 kernel, and webcam works.
Hope in 6.18 it will really be in mainline.

1 Like

thanks for this,
I had to roll the firmware back to the linux-firmware version with this kernel to get the camera working.