-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Audio Support for Dell XPS 17 9700 #130882
Comments
Here is another resource describing how to do this in Ubuntu: https://stukev.com/fixing-the-sound-on-dells-xps-17-9700/ |
Just ignore the fact that it is dkms, we just build all kernel modules upfront. Also ignore their makefile since it hard code paths to linux: https://github.com/maaarghk/soundwire-dkms/blob/master/Makefile#L10 You can build this kernel module similar to https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix and https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/dpdk-kmods/default.nix And make it available in |
Thanks @Mic92 but I'm still a little lost at what exactly I'm supposed to be doing here. The two examples you posted seems quite different to me. I'm not super familiar with how how linux kernel modules work to be honest. I guess what is confusing to me is that it is not totally clear what the build outputs of this soundwire-dkms package should be, or how exactly to produce them, especially without using the provided makefile. Should I be recursing in to the individual directories and running the makefiles there? arch linux also seems to have a PKGBUILD for this exact package, and all they seem to do is:
can this be used as a template? |
Archlinux uses dkms to build linux kernel modules. In NixOS we don't need that, we build kernel modules not on the target machine but in our CI, which is faster and less brittle. If you run |
FWIW the following patch should fix audio on the XPS9700 on all Kernels (tested on and in this case there's no need to build the module linked above. |
@workflow Amazing! Where did you discover that those kernel flags were what is necessary to get things working for the rt1308? |
@IvanMalison It was well hidden in this discussion :) |
@workflow Ah nice! Thanks so much for finding this. Might be worth contributing something to nixos-hardware with this tweak: NixOS/nixos-hardware#291 Unfortunate that this does require an entire rebuild of the kernel... I wonder if they will allow a default setting that will do that. |
I think if we merge something into nixos-hardware we can maybe consider this closed? |
Ah, neat! NixOS/nixos-hardware#291 sounds great 👍 The problem still remains on the current LTS kernel though ( Not sure if it's good practice to force XPS 9700 users off the LTS kernel by default. 🤔 |
Ah, I actually do have it building. Let me see if I can dig it up. |
Yep, here is my working build: https://github.com/IvanMalison/nixpkgs/tree/soundwire IIRC, it might be a little sloppy right now but it does build. Thanks for all the advice in helping me figure out how to make that work @Mic92 . Looks like the reason it ultimately didn't work is that the additional kernel flags that @workflow found were ALSO needed. |
NixOS/nixos-hardware#291 is ready to go and fully tested. I consider this issue resolved. |
There's still a huge problem with the microphone quality, I'm currently looking into that @IvanMalison |
Hmm looked into it briefly but found no solution yet. Working around this by connecting a headset with a simple USB-C to Audiojack in, which has its own "sound card"
|
huh the built in microphone seems to work somewhat okay for me. |
Lucky you :) some folks here report that it might depend on the exact hardware used. I'm seeing the following in
|
@workflow Just to clarify, are you saying that analogue microphone input does not work, or that the built in microphone does not work, or both? |
@workflow curious what your lspci output looks like. Here's mine:
|
Analogue microphone input works with strong distortions that I wasn't able to fix so far. Here's my
Interesting, the only diff I see is
I'm currently on |
@workflow did you finally solved your microphone issue? I have exactly the same issue (but what do you mean by analogue vs built-in microphone?). I asked some questions in https://discourse.nixos.org/t/dell-xps-13-9320-microphone-not-working/40932 |
@tobiasBora Hey, it has been working now for a while yes, though I can't remember exactly what fixed it! Here's what I meant: Internal: Built-in Microphone (working now ✔️ ) |
Thanks! I actually fixed my issue using |
Without my kernel overrides the internal mic is still not working on Running
likely because it's already enabled, my |
No, this error is due to the fact that
This is quite dirty, but does the job until the above issue is fixed. But really cool, with |
@tobiasBora Both the options and having
|
This module is required for working internal speakers on **some** versions of the Dell XPS 9700, possibly other laptops. Upstreaming it removes the need for kernel rebuilds for these laptop users. See NixOS#130882
Even with |
Enabling it anyways, the only effect seems to be to add an
...that creates the Not sure if that interferes with Pipewire though. |
Note that kernels This seems closely related to #330685, but none of the patches suggested in the thread seem to work on this particular machine. Relevant logs on kernel versions >
|
kernels 6.6.37+ seem to break audio: NixOS/nixpkgs#130882 (comment)
This should be reported upstream. |
Updating Firmware to the latest released by Dell seems to fix this on kernels |
This was required to fix the internal mic: https://askubuntu.com/a/1376570/203326 |
Audio does not seem to work out of the box for the Dell XPS 17 9700 NixOS (this also applies to most linux distros).
https://github.com/maaarghk/soundwire-dkms/commits/master seems to offer some sort of support for this, but I'm not entirely sure how to integrate this support into nixos.
The text was updated successfully, but these errors were encountered: