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

ipu6: update packages #347918

Merged
merged 1 commit into from
Oct 12, 2024
Merged

ipu6: update packages #347918

merged 1 commit into from
Oct 12, 2024

Conversation

matejc
Copy link
Contributor

@matejc matejc commented Oct 11, 2024

Things done

Part of #225743

To test out:

      hardware.ipu6 = {
        enable = true;
        platform = "ipu6ep";
      };
      boot.kernelPackages = pkgs.linuxPackages_6_11;

I tested this on kernel 6.11.1 and 6.11.2

It works on X11 for Chromium well enough, but not Firefox

Works on Wayland on Chromium, but not Firefox, although Chromium is puking continuously in terminal:

[35650:35723:1011/153603.111515:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE
[35650:35723:1011/153603.111741:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[35731:16:1011/153603.112160:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it.
[35650:35723:1011/153603.145283:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE
[35650:35723:1011/153603.145592:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[35731:16:1011/153603.145922:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it.
[35650:35723:1011/153603.179060:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE
[35650:35723:1011/153603.179321:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[35731:16:1011/153603.179675:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it.
[35650:35723:1011/153603.213402:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE
[35650:35723:1011/153603.213568:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[35731:16:1011/153603.213713:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it.
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@matejc
Copy link
Contributor Author

matejc commented Oct 11, 2024

Also works in obs-studio and Slack for desktop (using Wayland).

Copy link
Contributor

@flokli flokli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can confirm this brings back video in Chromium. I'm ok with merging this once the comment is fixed. Nice job!

For completeness, firefox logs the following:

Okt 11 17:19:03 x1 pipewire[3065]: spa.v4l2: '/dev/video0' VIDIOC_REQBUFS Invalid argument
Okt 11 17:19:03 x1 pipewire[3065]: pw.port: 0x5628da3bfe40: negotiate buffers on node: -22 (Invalid argument)
Okt 11 17:19:03 x1 pipewire[3065]: pw.port: 0x5628da3bfe40: state ready -> error (can't negotiate buffers on port)
Okt 11 17:19:03 x1 pipewire[3065]: pw.link: (196.0.0 -> 211.0.0) allocating -> error (can't negotiate buffers on port) (error-ready)

nixos/modules/hardware/video/webcam/ipu6.nix Show resolved Hide resolved
nixos/modules/hardware/video/webcam/ipu6.nix Outdated Show resolved Hide resolved
@matejc matejc force-pushed the fix/ipu6 branch 2 times, most recently from af07860 to 487eafd Compare October 11, 2024 15:52
@flokli
Copy link
Contributor

flokli commented Oct 11, 2024

Now linuxPackages.ipu6-drivers fails to build.

We should probably update the broken attribute so it won't try (and fail to build) on 6.6.

This updates the ipu6 driver and firmware to a more recent version,
which seems to at least work in Chrom{e,ium}.

ipu6-drivers now relies on the in-kernel ipu6 kernel driver, so we
update our logic and metadata for it.
@flokli
Copy link
Contributor

flokli commented Oct 11, 2024

I updated pkgs/os-specific/linux/ipu6-drivers/default.nix (the meta.broken attribute specifically). It now needs Linux 6.10 to build, that's where the ipu6 driver itself landed in the kernel. linuxPackages_6_10.ipu6-drivers does build.

@matejc
Copy link
Contributor Author

matejc commented Oct 12, 2024

@flokli anything else needs to be done?

@flokli flokli merged commit 2afe930 into NixOS:master Oct 12, 2024
28 checks passed
@flokli
Copy link
Contributor

flokli commented Oct 12, 2024

No, I just wanted to wait for the eval checks to pass 😆

Thanks for the reminder!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants