pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.43k stars 84 forks source link

[Dell 9320] Camera broken, PopOS packages conflict with Dell's drivers #2806

Open reubenfirmin opened 1 year ago

reubenfirmin commented 1 year ago

Distribution (run cat /etc/os-release):

NAME="Pop!_OS" VERSION="22.04 LTS" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 22.04 LTS" VERSION_ID="22.04" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=jammy UBUNTU_CODENAME=jammy LOGO=distributor-logo-pop-os

Issue/Bug Description:

Webcam is broken / doesn't work on XPS 13. Before recent updates, the workaround listed by Dell here https://www.dell.com/support/kbdoc/en-us/000203830/webcam-is-not-detected-on-xps-13-plus-9320-laptops-running-ubuntu-22-04 worked; with the system updates I applied today, this no longer works.

Steps to reproduce (if you know):

Open Zoom or Google Meet. Camera device is identified but no video is available.

Expected behavior:

Webcam works.

Other Notes:

If possible, please patch in the Intel driver. Let me know if there are additional diagnostics I can run.

byted commented 1 year ago

same here

cgrard commented 1 year ago

Same here as well

fwfurtado commented 1 year ago

same here as well

jacobgkau commented 1 year ago

If possible, please patch in the Intel driver.

This sounds like something that either Dell or Intel would need to patch. Has the issue been reported to the Linux kernel developers anywhere? Why isn't the driver in-tree, and what happens when you try to install the out-of-tree driver?


System76 customers can reach out to support for technical assistance. For non-System76 hardware, you can seek community support on Reddit or Mattermost.

jacobgkau commented 1 year ago

https://wiki.ubuntu.com/Dell - I found several noteworthy quotes on this page:

The IPU6 kernel driver is out-of-tree, we are collaborating with Intel about the upstream and maintenance

and

To install IPU6/IPU6EP stack manually on 22.04 stock Ubuntu (non-certified for 22.04) (ppa:oem-solutions-group/intel-ipu6 is a development PPA so it will integrate the latest Intel MIPI camera blobs, and there is no guarantee that the Intel MIPI camera will work after you installed the packages from ppa:oem-solutions-group/intel-ipu6.)

Have you tried using the intel-ipu6 PPA instead of the oem-projects-meta PPA the Dell page you linked uses? (The Dell page also links the above Ubuntu page.)

giabaio commented 1 year ago

Sorry, can I just follow up on this, to make sure I'm not missing something obvious? @jacobgkau: can you please elaborate on your final remark about using intel-ipu6 instead of (I presume?) oem-solutions-group? Sorry if this is trivial...

jacobgkau commented 1 year ago

can you please elaborate on your final remark about using intel-ipu6 instead of (I presume?) oem-solutions-group? Sorry if this is trivial...

There's not much to elaborate on. The linked Ubuntu wiki page has commands for installing packages from ppa:oem-solutions-group/intel-ipu6 instead of ppa:oem-solutions-engineers/oem-projects-meta that the Dell support page uses. If one isn't working, it's worth trying the other.

This is really something Dell needs to fix in the upstream kernel drivers.

giabaio commented 1 year ago

Thank you - I hadn't fully understood what you mean, but it's clear now. However, if I try

$ sudo add-apt-repository ppa:oem-solutions-engineers/oem-projects-meta
$ sudo apt install linux-modules-ipu6-generic-hwe-22.04 linux-modules-ivsc-generic-hwe-22.04
$ sudo apt install libcamhal-ipu6ep0
$ sudo reboot 

it fails to install libcamhal-ipu6ep0 (which I guess is not under oem-projects-meta??). I'm running very quickly out of my depth here and I worry about messing up the system by installing drivers/things I can't fully control...

Thanks and sorry if this is all trivial!

vieirai commented 11 months ago

+1 on the camera not working, also tried playing with some of the suggestions from the Ubuntu wiki, but to no avail.

Did you ever manage to get it working @giabaio ?

giabaio commented 11 months ago

Nope -- I've not pursued this further, TBH... The hardware support on this machine is a bit shaky --- it's a solid laptop and I have worked on it as my main machine over the summer... But it could do with a bit of love from Dell, I think, and with better streamlined drivers/kernel support for non-strictly Ubuntu distros...

giabaio commented 10 months ago

So: I think I have figured this out. The main problem (which is related to #3154) is that kernels greater than 6.2.0-35 seem to break either or both the audio and webcam. So, what did the trick for me is

  1. Follow the instructions here:
    $ sudo add-apt-repository ppa:oem-solutions-engineers/oem-projects-meta
    $ sudo apt install oem-somerville-tentacool-meta
    $ sudo apt update
    $ sudo apt full-upgrade
    $ sudo systemctl poweroff
  2. This in itself does not work, because you probably will have a more updated kernel. So I needed to make sure there was an entry in the bootloader for 6.2.0-35 and that I choose that as my default kernel
    $ sudo su
    $ cd /boot/efi/loader/entries
    $ cp Pop_OS-current.conf stable.conf
    $ cd /boot/efi/EFI
    $ mkdir stable
    $ cd /boot
    $ cp vmlinux-6.2.0-35-generic efi/EFI/stable/.
    $ cp initrd.img-6.2.0-35-generic efi/EFI/stable/.
    $ pico /boot/efi/loader/entries/stable.conf

    (and in this step update the path to the 6.2.0-35 kernel) Then set the "old" (but working!) kernel as default with

    $ sudo kernelstub -v -k /boot/vmlinuz-6.2.0-35-generic -i /boot/initrd.img-6.2.0-35-generic

    At reboot, the machine goes onto the good kernel and both webcam and audio work OK!

I hope this helps people --- BUT: I just discovered that the old, "good" kernel does break hibernation... :face_palm In that case, the laptop doesn't resume from suspend ...

giabaio commented 3 months ago

On version 6.8.0 and the kernel still breaks either hibernation or the camera... Not crucial (and in case it helps people, version 6.6.10-76060610-generic works fine for my Dell XPS with Pop OS, but the camera is still missing... Sigh!

giabaio commented 1 month ago

On kernel 6-9-3 and still no luck... This is really frustrating... Neither of the options in the Ubuntu page linked above worked for me... Did anybody have any luck with this? Also all the versions of kernel > 6.4-6 seem to break hybernation for me --- is this something people have also experienced/fixed? Thanks!