snd_hda_macbookpro
snd_hda_macbookpro copied to clipboard
SteamOS kernel 6.1.21-valve1-3-neptune-61
First of all, I'd like to thank davodjo and the rest of the community for their hard work and patience! I am getting back into linux after a ten year break because of the recent abandonment by Apple for their bootcamp gamers. I am not now, or have I ever been, a developer. Enough about me.
Thank you again for this fix which works great for my Ubuntu and derivatives! I have a 2017 iMac 5k 18,3 machine with a Radeon 580X card. I recently installed SteamOS from the HoloISO installer. Other than some video oddities the main problem I've had with this and nearly EVERY linux distro I've installed is.....no sound.
Recently, I used your instructions for the Arch linux install for your fix. It finished without errors but here's how the sound works.
Sometimes, when I'm just doing a speaker check the audio chirps and then works fine. Until I start another source, that is. Then, it may just chirp and play or just squeal. Other times, the audio will just be fuzzy. It's got me scratching my head.
I did try the Arch directions on a Garuda linux install and it didn't work at all and may have errored out as it did for the other Arch linux poster.
The funny thing is if I blacklist the cs8409 card just for the hell of it the system thinks everything's fine but no sound. I mean internet radio continues to show it's playing instead of stopping like they usually do when something's not working.
These are all bare metal external SSD installs if that matters.
I am dying to know, once and for all what driver my system needs so I can install it on ANY linux I work with but I'm afraid that's a pipe dream. Not pipewire, mind you-LOL!
Let me know what output you need and I'll try to figure out how to get it and copy and paste it!
Thank you!
Jeff
Unfortunately I think these are sound issues I havent got a good solution to. Things have to be done slowly - ensure any previous stream has stopped for a good few seconds before starting a new one (and if you have eg system sounds on dont know how to manage that). The Apple way seems to involve a lot of HDA verbs (100s-1000s) to start/stop streams - these take a good few milliseconds to 1/2 seconds (if you have headphones working try playing a sound, plugging in the headphones and see how long before the speakers switch off - for my MacbookPro it is a good 1/2 second - on previous macs was near instantaneous - you can do this on OSX). As of yet havent figured a good way of blocking cause dont really have enough knowledge of the fine details of the linux kernel sound system and the user audio side interface - on OSX Im guessing a lot of this sound switching is handled by the higher level sound driver CoreAudio. Curiously the Windows driver (as seen from files on the Bootcamp image in particular the cs4208_{number}.inf file - where number is eg 24, 27, 39 - it seems to turn sound off with much smaller numbers of verbs.
Thank you, sir, for your incredibly quick response!
The sound system parameters you speak of are WAY above my level of understanding. I'll try the headphone/speaker cut-off experiment to see what happens. It seems like it doesn't matter whether I switch quickly or slowly. I'm still getting either the chirp before working, the squeal and NOT working or possibly both before getting fuzzy audio.
I was working with a person from Parallels who told me that the program gives the guest linux system a virtual chip to work with which I thought was genius but not much help for use bare metal people. EVERY VM system I've tried says the driver is AC'97 (I know there are as many of these as ice cream flavors-too!) but loading ANY AC'97 module does not work for any linux I've tried.
The thing that also has me scratching my head is after I've identified that sysdefault is the card being used and run aplay -D sysdefault someaudiofile.wav it plays flawlessly. No chirps, squeals or fuzziness. This gives me hope that there IS a way to make this work!
Finally, I wanted to mention that I've used egorenar's Manjaro fix on a Manjaro system and it works perfectly! But it works ONLY on Manjaro and not other Arch-based systems.
If anybody has a different experience with that fix, please let me know. I'm mainly interested in running Regata (opensuse) and Garuda (arch) for the gaming.
Thank you again, davidjo, for your excellent Ubuntu "fix"!
Jeff
ah - so I use aplay for testing because you can explicitly tell it to use the direct machine chip - I suspect the aplay command you are using is directly driving the actual machine chip (apparently linux VMs map the audio system to a virtual AC97 chip - how that maps to the bare metal chip I dont know - but that may be causing the issues). One thing you might try is turning off the system sounds (like terminal beeps, window click beeps etc) - you can do that under Ubuntu using the Settings gui app - both on the bare machine OS and the VM - because its not clear to me how such sounds would be multiplexed if occurring at the same time. Just seen that AC97 (an older format) apparently specifies either 16 or 20 bit audio either at 96 khz or 48khz - however the Apple 8409 chip system uses a specific format of 24 bit audio at 44.1 khz per channel pair - any other format needs translating to this format before sending to the 8409 chip - from my experience mismatches in these bit sizes/rates does give rise to bad audio - squeals, chirps etc. Such format translation needs to handled by eg the pulse user audio system or ALSA user modules (unfortunately pipewire seems to be the new linux user audio handler so you may have to get used to it - even under Ubuntu 22.04 browser audio is mapped through pipewire to pulse - later Ubuntus switch to pipewire fully).
PS the Egorenar patch is now getting a bit old - one of the big issues Ive had is that apparently the linux kernel code for audio has had a lot of breaking updates during kernel version 5. One big one is that the linux kernel source added a specific 8409 chip system for some Dell laptops (which I think is post the egorenar patch) - this completely messed up my original 8409 chip handling but my current version handles this.
I totally understand why the REAL AC'97 doesn't work. Mapping to a virtual chip must give the system something familiar to attach to. Again, this is WAY beyond my technical level.
I'll try turning off system sounds and see what that does. I'll let you know how it goes.
I've had no success with either alsamixer or pulseaudio/pipewire. I keep getting messages like this card or chip has no controls.
The only issue I've had with egorenar's patch is that it needs re-run EVERY time the kernel updates. I've just been hoping I could find something else before this patch just stops working.
Should I try the edits you suggested to the other Manjaro user for the other arch based system-Garuda. I ask because I know I had the same hunk error he did and it failed.
Jeff
Sorry - loosing track - the egorenar DOES have the separate linux 8409 kernel module update - but all the egorenar fixups (additional iMac models using the TAS5764L amp chip) have now been implemented in the main repo.
Both my repo and egorenar do have to be redone on a kernel update simply because the updated kernel module needs rebuilding for each kernel ( could use dkms to auto rebuild but as there have been all the other issues with incompatible mainline kernel changes not a main priority).
Actually so far from ubuntu kernel verrsions 5.15.47 to 6.2.20 doesnt seem to have been breaking update.
We really should try and figure out why the current repo seems to failing for you.
I have noticed that the Ubuntu does NOT need repatched each time the kernel updates. Great work!
I tried to run the Arch patch instructions again yesterday on Garuda. The weird part was although I copied and pasted your kernel header code it started out with a list of over 50 404s looking for it? Oddly, I couldn't see where it EVER fetched them but the process did finish without errors but "mentioned" it couldn't find something from the headers that never downloaded?
When I checked the sound (with system sounds muted and unmuted) I could see the front left, front right audio was playing but no sound. I know pipewire was originally a front end for alsa but now you say it's the sound system?
I've checked the audio devices gui, alsamixer and I think pavucontrol at some point. I can't see where sound is muted or turned all the way down..
This is great working with somebody who's not hostile towards mac people AND really knows their stuff! Thanks again!
Let me know what output you need and I'll get it for you.
Jeff
I dont use Arch so have to rely on other users for info. At the moment Arch attempts to download a mainline kernel using wget - however still not sure of kernel version mapping so try to use major.minor.revision - which looks like it fails hence the 404s - but then it tries just major.minor and likely worked. I need to see the exact error message to suggest whats happening. Cant really figure if it loaded the module or not without seeing a kernel log - look for messages with snd_hda (snd_hda_intel and snd_hda_codec) in your kernel log.
My current understanding - which is just piecing things together as havent really found a good overview - is that ALSA is an api to talk to the kernel sound drivers - like my module - from the user side. It also has the ability to do some user side features by setting up a user file eg .asoundrc which is placed in your home directory - some attempts have been discussed in older issues for the Apple audio system eg issue #23 . pulse audio - now replaced by pipewire - is as you say a user side front end for dealing with moving audio from user requests to the kernel sound driver - some features of which could also be done by definitions in an .asoundrc file. One of the big issues is converting from an arbitrary sound file the user wants to play ( with a bit rate *eg 44.1 kHz, 48 kHz etc, resolution eg 16 bit, 24 bits per channel , number of channels, 2, 4, 5.1, 7.1 etc) to the drivers specific format (in my modules case 24 bits and 44.1 kHz and 4 channels) as the sound hardware may not be able to handle all sound formats directly). pulse/pipewire also handle up/down mixing of different sounds and channels eg if you have a 7.1 sound source it needs downmixing to play on a stereo only (2 channels) hardware. (I think the issue was ALSA didnt really do this in a user friendly way hence pulse was created to do these conversions with much less user intervention - but pulse/pipewire still end up sending sound to raw ALSA kernel sound devices - which each hardware sound device is mapped to).
I will re-run your patch on the Garuda system and copy the error/output file for you to peruse.
I'll have to say I just heard a loud booming overhead which was a great deal of your explanation going over my head-LOL!
What's the easiest way to access the kernel log? I'm reasonably handy with vi/vim but not sure where I'm looking.
I have an audio background so the down mixing is not completely lost on me.
I'll take a look at the issue 23 and see if it rings any bells.
Other than that, thank you again for your help and I'll go through the last post and ask you any questions I have as I get to them.
For the Regata/OpenSuse patch. Do you know the kernel header fetching code? Or will your patch not work on those systems and THAT'S why it's not included?
Kernel logs are usually under /var/log - there are some different file naming conventions - the original name was syslog but ubuntu also has kern.log (ie /var/log/syslog).
As I said anything Ive stated is what Ive pieced together from googling and some intuition - I wouldnt say I understand the linux audio system.
As my fixup has to build a kernel module you need to install all the components in order to build kernel modules (compilers etc) plus kernel headers. Unfortunately each linux distribution seems to have its own way of packaging these requirements (and where thay are placed in the file system) - so you need to figure out where Regata/OpenSuse has packaged the kernel headers and how to install - cant help you with that as never used OpenSuse - but assume googling for eg kernel headers opensuse should get you the info needed. So yes my repo wont work out of the box on a random linux distribution - all of the info about kernel headers that is printed by the install script has been added as other users have got the repo working on these other distributions.
I was able to finally find some info on getting kernel headers in Regata/OpenSUSE by running:
sudo zypper install kernel-headers
And it returned this:
Loading repository data...
Reading installed packages...
kernel-headers' not found in package names. Trying capabilities.
'linux-glibc-devel' providing 'kernel-headers' is already installed.
Resolving package dependencies...
Nothing to do.
jeff@RegataOSND:~/snd_hda_macbookpro> ```
Apparently, it sees them as already installed.
Then, I ran your install patch and got this:
```jeff@RegataOSND:~/snd_hda_macbookpro> sudo ./install.cirrus.driver.sh
[sudo] password for root:
linux kernel headers not found:
Debian (eg Ubuntu): /usr/src/linux-headers-6.3.5-lp154.6-default
Fedora: /usr/src/kernels/6.3.5-lp154.6-default
Arch: /usr/lib/modules/6.3.5-lp154.6-default
Void: /usr/src/kernel-headers-6.3.5-lp154.6-default
assuming the linux kernel headers package is not installed
please install the appropriate linux kernel headers package:
Debian/Ubuntu: sudo apt install linux-headers-6.3.5-lp154.6-default
Fedora: sudo dnf install kernel-headers
Arch (also Manjaro): Linux: sudo pacman -S linux-headers
Void Linux: xbps-install -S linux-headers
jeff@RegataOSND:~/snd_hda_macbookpro>```
Which tells me the install patch is not looking for the kernel-headers where they reside?
Am I even warm?
Yes - we will need to tell the install script where the linux-headers are installed - it appears they are installed from the linux-glibc-devel package but we need the path of the include files - possibly /usr/src/linux. Another option would be to comment the exit 1 after echo " Void Linux: xpbs...." - the header check is just a check - so if the headers exist then the script might work - this will be the isubuntu=0 path.
The path of the include files is /usr/src/linux/include
I understand you want me to comment (#) the exit 1 after the "Void Linux:xpbs..." entry but are you saying something needs to be changed in the isubuntu=0 code?
To give you output (I promise I checked the Github docs) do I need to create a file and upload it so it doesn't strike through all of the text?
You can surround the text with three back ticks
Like this
Sorry - I just meant that as this is not an ubuntu system isubuntu will be 0 so the actions performed will be for isubuntu=0 - which is to download a mainline kernel source as I need files from the kernel source to patch and build the module (in addition to the headers) - as of yet I dont know if this is the right thing to do for Suse.
I think just do what works for you - I dont always get the git comment special format syntax right.
Thank you, @osalbahr for the help! If the output is lengthy, how do I create one of those scrollable entries to the post? Is that uploading a text file of sorts?
@davidjo I commented out the exit 1 you mentioned and it still gave the linux-headers missing warning, mentioned there would probably be build problems but the script DID finish this time and didn't stop at "no kernel headers" with instructions.
I rebooted and now I have chirping induction audio and squealing/ringing but no real audio.
Here's the output:
[sudo] password for root:
linux kernel headers not found:
Debian (eg Ubuntu): /usr/src/linux-headers-6.3.5-lp154.6-default
Fedora: /usr/src/kernels/6.3.5-lp154.6-default
Arch: /usr/lib/modules/6.3.5-lp154.6-default
Void: /usr/src/kernel-headers-6.3.5-lp154.6-default
assuming the linux kernel headers package is not installed
please install the appropriate linux kernel headers package:
Debian/Ubuntu: sudo apt install linux-headers-6.3.5-lp154.6-default
Fedora: sudo dnf install kernel-headers
Arch (also Manjaro): Linux: sudo pacman -S linux-headers
Void Linux: xbps-install -S linux-headers
--2023-06-08 14:02:14-- https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.5.tar.xz
Resolving cdn.kernel.org (cdn.kernel.org)... 2a04:4e42:30::432, 146.75.45.176
Connecting to cdn.kernel.org (cdn.kernel.org)|2a04:4e42:30::432|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 136926988 (131M) [application/x-xz]
Saving to: ‘build/linux-6.3.5.tar.xz’
linux-6.3.5.tar.xz 100%[=====================================>] 130.58M 101MB/s in 1.3s
2023-06-08 14:02:17 (101 MB/s) - ‘build/linux-6.3.5.tar.xz’ saved [136926988/136926988]
linux-6.3.5/sound/pci/hda/
linux-6.3.5/sound/pci/hda/Kconfig
linux-6.3.5/sound/pci/hda/Makefile
linux-6.3.5/sound/pci/hda/ca0132_regs.h
linux-6.3.5/sound/pci/hda/cs35l41_hda.c
linux-6.3.5/sound/pci/hda/cs35l41_hda.h
linux-6.3.5/sound/pci/hda/cs35l41_hda_i2c.c
linux-6.3.5/sound/pci/hda/cs35l41_hda_spi.c
linux-6.3.5/sound/pci/hda/hda_auto_parser.c
linux-6.3.5/sound/pci/hda/hda_auto_parser.h
linux-6.3.5/sound/pci/hda/hda_beep.c
linux-6.3.5/sound/pci/hda/hda_beep.h
linux-6.3.5/sound/pci/hda/hda_bind.c
linux-6.3.5/sound/pci/hda/hda_codec.c
linux-6.3.5/sound/pci/hda/hda_component.h
linux-6.3.5/sound/pci/hda/hda_controller.c
linux-6.3.5/sound/pci/hda/hda_controller.h
linux-6.3.5/sound/pci/hda/hda_controller_trace.h
linux-6.3.5/sound/pci/hda/hda_cs_dsp_ctl.c
linux-6.3.5/sound/pci/hda/hda_cs_dsp_ctl.h
linux-6.3.5/sound/pci/hda/hda_eld.c
linux-6.3.5/sound/pci/hda/hda_generic.c
linux-6.3.5/sound/pci/hda/hda_generic.h
linux-6.3.5/sound/pci/hda/hda_hwdep.c
linux-6.3.5/sound/pci/hda/hda_intel.c
linux-6.3.5/sound/pci/hda/hda_intel.h
linux-6.3.5/sound/pci/hda/hda_intel_trace.h
linux-6.3.5/sound/pci/hda/hda_jack.c
linux-6.3.5/sound/pci/hda/hda_jack.h
linux-6.3.5/sound/pci/hda/hda_local.h
linux-6.3.5/sound/pci/hda/hda_proc.c
linux-6.3.5/sound/pci/hda/hda_sysfs.c
linux-6.3.5/sound/pci/hda/hda_tegra.c
linux-6.3.5/sound/pci/hda/hp_x360_helper.c
linux-6.3.5/sound/pci/hda/ideapad_s740_helper.c
linux-6.3.5/sound/pci/hda/patch_analog.c
linux-6.3.5/sound/pci/hda/patch_ca0110.c
linux-6.3.5/sound/pci/hda/patch_ca0132.c
linux-6.3.5/sound/pci/hda/patch_cirrus.c
linux-6.3.5/sound/pci/hda/patch_cmedia.c
linux-6.3.5/sound/pci/hda/patch_conexant.c
linux-6.3.5/sound/pci/hda/patch_cs8409-tables.c
linux-6.3.5/sound/pci/hda/patch_cs8409.c
linux-6.3.5/sound/pci/hda/patch_cs8409.h
linux-6.3.5/sound/pci/hda/patch_hdmi.c
linux-6.3.5/sound/pci/hda/patch_realtek.c
linux-6.3.5/sound/pci/hda/patch_si3054.c
linux-6.3.5/sound/pci/hda/patch_sigmatel.c
linux-6.3.5/sound/pci/hda/patch_via.c
linux-6.3.5/sound/pci/hda/thinkpad_helper.c
Kernel version later than implemented version - there may be build problems
patching file patch_cs8409.c
Hunk #1 succeeded at 1444 (offset 174 lines).
Hunk #2 succeeded at 1453 (offset 174 lines).
Hunk #3 succeeded at 1482 (offset 174 lines).
patching file patch_cs8409.h
Hunk #2 succeeded at 303 (offset 1 line).
Hunk #3 succeeded at 330 (offset 1 line).
Hunk #4 succeeded at 366 (offset 1 line).
patching file patch_cirrus_apple.h
make -C /lib/modules/6.3.5-lp154.6-default/build CFLAGS_MODULE="-DAPPLE_PINSENSE_FIXUP -DAPPLE_CODECS -DCONFIG_SND_HDA_RECONFIG=1 -Wno-unused-variable -Wno-unused-function" M=/home/jeff/snd_hda_macbookpro/build/hda-6.3.5 modules
make[1]: Entering directory '/usr/src/linux-6.3.5-lp154.6-obj/x86_64/default'
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409.o
In file included from /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409.c:1488:
/home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cirrus_apple.h: In function ‘cs_8409_apple_boot_init’:
/home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cirrus_apple.h:1193:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1193 | hinfo = spec->gen.stream_analog_playback;
| ^
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409-tables.o
LD [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.o
MODPOST /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/Module.symvers
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.mod.o
LD [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.ko
make[1]: Leaving directory '/usr/src/linux-6.3.5-lp154.6-obj/x86_64/default'
#cp snd-hda-codec-cs8409.ko /lib/modules/6.3.5-lp154.6-default/updates
make INSTALL_MOD_DIR=updates -C /lib/modules/6.3.5-lp154.6-default/build M=/home/jeff/snd_hda_macbookpro/build/hda-6.3.5 CONFIG_MODULE_SIG_ALL=n modules_install
make[1]: Entering directory '/usr/src/linux-6.3.5-lp154.6-obj/x86_64/default'
INSTALL /lib/modules/6.3.5-lp154.6-default/updates/snd-hda-codec-cs8409.ko
DEPMOD /lib/modules/6.3.5-lp154.6-default
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-6.3.5-lp154.6-obj/x86_64/default'
depmod -a
contents of /lib/modules/6.3.5-lp154.6-default/updates
total 1872
-rw-r--r-- 1 root root 449488 Jun 8 14:02 snd-hda-codec-cs8409.ko
-rw-r--r-- 1 root root 1464036 Jun 3 06:07 wl.ko.xz
jeff@RegataOSND:~/snd_hda_macbookpro> ```
Here is the output from the Garuda kernel header fetch:
[sudo] password for jeff:
warning: wget-1.21.4-1 is up to date -- reinstalling
warning: make-4.4.1-2 is up to date -- reinstalling
warning: gcc-13.1.1-1 is up to date -- reinstalling
warning: linux-headers-6.3.5.arch1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (4) gcc-13.1.1-1 linux-headers-6.3.5.arch1-1 make-4.4.1-2 wget-1.21.4-1
Total Installed Size: 345.47 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] Y
(4/4) checking keys in keyring [------------------------------------] 100%
(4/4) checking package integrity [------------------------------------] 100%
(4/4) loading package files [------------------------------------] 100%
(4/4) checking for file conflicts [------------------------------------] 100%
(4/4) checking available disk space [------------------------------------] 100%
:: Running pre-transaction hooks...
(1/2) Performing snapper pre snapshots for the following configurations...
==> root: 53
(2/2) Remove upgraded DKMS modules
:: Processing package changes...
(1/4) reinstalling wget [------------------------------------] 100%
(2/4) reinstalling make [------------------------------------] 100%
(3/4) reinstalling gcc [------------------------------------] 100%
(4/4) reinstalling linux-headers [------------------------------------] 100%
:: Running post-transaction hooks...
( 1/10) Arming ConditionNeedsUpdate...
( 2/10) Updating module dependencies...
( 3/10) Install DKMS modules
==> ERROR: Missing 6.3.5-arch1-1 kernel modules tree for module vboxhost/7.0.8_OSE.
( 4/10) Refreshing PackageKit...
( 5/10) Foreign/AUR package notification
ananicy-rules 1.r129.8ac5d97-1
libsidplay 1.36.59-10
ltris 1.2.6-1
( 6/10) Orphaned package notification...
cython 0.29.35-1
libsidplay 1.36.59-10
lua53 5.3.6-1
python-future 0.18.3-1
sysfsutils 2.1.1-1
( 7/10) Checking for .pacnew and .pacsave files...
.pac* files found:
/etc/pamac.conf.pacnew
/etc/pacman.conf.pacnew
/etc/pacman.d/mirrorlist.pacnew
/etc/plymouth/plymouthd.conf.pacnew
/etc/retroarch.cfg.pacnew
Please check and merge
( 8/10) Updating the info directory file...
( 9/10) Performing snapper post snapshots for the following configurations...
==> root: 54
(10/10) Syncing all file systems...```
Then I re-ran the install.cirrus script and this is the output:
```sudo ./install.cirrus.driver.sh
--2023-06-08 18:15:51-- https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.5.tar.xz
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving cdn.kernel.org (cdn.kernel.org)... 2a04:4e42:30::432, 151.101.205.176
Connecting to cdn.kernel.org (cdn.kernel.org)|2a04:4e42:30::432|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 136926988 (131M) [application/x-xz]
Saving to: ‘build/linux-6.3.5.tar.xz’
linux-6.3.5.tar.xz 100%[=========================================>] 130.58M 99.1MB/s in 1.3s
2023-06-08 18:15:52 (99.1 MB/s) - ‘build/linux-6.3.5.tar.xz’ saved [136926988/136926988]
linux-6.3.5/sound/pci/hda/
linux-6.3.5/sound/pci/hda/Kconfig
linux-6.3.5/sound/pci/hda/Makefile
linux-6.3.5/sound/pci/hda/ca0132_regs.h
linux-6.3.5/sound/pci/hda/cs35l41_hda.c
linux-6.3.5/sound/pci/hda/cs35l41_hda.h
linux-6.3.5/sound/pci/hda/cs35l41_hda_i2c.c
linux-6.3.5/sound/pci/hda/cs35l41_hda_spi.c
linux-6.3.5/sound/pci/hda/hda_auto_parser.c
linux-6.3.5/sound/pci/hda/hda_auto_parser.h
linux-6.3.5/sound/pci/hda/hda_beep.c
linux-6.3.5/sound/pci/hda/hda_beep.h
linux-6.3.5/sound/pci/hda/hda_bind.c
linux-6.3.5/sound/pci/hda/hda_codec.c
linux-6.3.5/sound/pci/hda/hda_component.h
linux-6.3.5/sound/pci/hda/hda_controller.c
linux-6.3.5/sound/pci/hda/hda_controller.h
linux-6.3.5/sound/pci/hda/hda_controller_trace.h
linux-6.3.5/sound/pci/hda/hda_cs_dsp_ctl.c
linux-6.3.5/sound/pci/hda/hda_cs_dsp_ctl.h
linux-6.3.5/sound/pci/hda/hda_eld.c
linux-6.3.5/sound/pci/hda/hda_generic.c
linux-6.3.5/sound/pci/hda/hda_generic.h
linux-6.3.5/sound/pci/hda/hda_hwdep.c
linux-6.3.5/sound/pci/hda/hda_intel.c
linux-6.3.5/sound/pci/hda/hda_intel.h
linux-6.3.5/sound/pci/hda/hda_intel_trace.h
linux-6.3.5/sound/pci/hda/hda_jack.c
linux-6.3.5/sound/pci/hda/hda_jack.h
linux-6.3.5/sound/pci/hda/hda_local.h
linux-6.3.5/sound/pci/hda/hda_proc.c
linux-6.3.5/sound/pci/hda/hda_sysfs.c
linux-6.3.5/sound/pci/hda/hda_tegra.c
linux-6.3.5/sound/pci/hda/hp_x360_helper.c
linux-6.3.5/sound/pci/hda/ideapad_s740_helper.c
linux-6.3.5/sound/pci/hda/patch_analog.c
linux-6.3.5/sound/pci/hda/patch_ca0110.c
linux-6.3.5/sound/pci/hda/patch_ca0132.c
linux-6.3.5/sound/pci/hda/patch_cirrus.c
linux-6.3.5/sound/pci/hda/patch_cmedia.c
linux-6.3.5/sound/pci/hda/patch_conexant.c
linux-6.3.5/sound/pci/hda/patch_cs8409-tables.c
linux-6.3.5/sound/pci/hda/patch_cs8409.c
linux-6.3.5/sound/pci/hda/patch_cs8409.h
linux-6.3.5/sound/pci/hda/patch_hdmi.c
linux-6.3.5/sound/pci/hda/patch_realtek.c
linux-6.3.5/sound/pci/hda/patch_si3054.c
linux-6.3.5/sound/pci/hda/patch_sigmatel.c
linux-6.3.5/sound/pci/hda/patch_via.c
linux-6.3.5/sound/pci/hda/thinkpad_helper.c
Kernel version later than implemented version - there may be build problems
patching file patch_cs8409.c
Hunk #1 succeeded at 1444 (offset 174 lines).
Hunk #2 succeeded at 1453 (offset 174 lines).
Hunk #3 succeeded at 1482 (offset 174 lines).
patching file patch_cs8409.h
Hunk #2 succeeded at 303 (offset 1 line).
Hunk #3 succeeded at 330 (offset 1 line).
Hunk #4 succeeded at 366 (offset 1 line).
patching file patch_cirrus_apple.h
make -C /lib/modules/6.3.5-zen2-1-zen/build CFLAGS_MODULE="-DAPPLE_PINSENSE_FIXUP -DAPPLE_CODECS -DCONFIG_SND_HDA_RECONFIG=1 -Wno-unused-variable -Wno-unused-function" M=/home/jeff/snd_hda_macbookpro/build/hda-6.3.5 modules
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409.o
In file included from /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409.c:1488:
/home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cirrus_apple.h: In function ‘cs_8409_apple_boot_init’:
/home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cirrus_apple.h:1193:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1193 | hinfo = spec->gen.stream_analog_playback;
| ^
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/patch_cs8409-tables.o
LD [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.o
MODPOST /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/Module.symvers
CC [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.mod.o
LD [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.ko
BTF [M] /home/jeff/snd_hda_macbookpro/build/hda-6.3.5/snd-hda-codec-cs8409.ko
#cp snd-hda-codec-cs8409.ko /lib/modules/6.3.5-zen2-1-zen/updates
make INSTALL_MOD_DIR=updates -C /lib/modules/6.3.5-zen2-1-zen/build M=/home/jeff/snd_hda_macbookpro/build/hda-6.3.5 CONFIG_MODULE_SIG_ALL=n modules_install
INSTALL /lib/modules/6.3.5-zen2-1-zen/updates/snd-hda-codec-cs8409.ko
ZSTD /lib/modules/6.3.5-zen2-1-zen/updates/snd-hda-codec-cs8409.ko.zst
DEPMOD /lib/modules/6.3.5-zen2-1-zen
depmod -a
contents of /lib/modules/6.3.5-zen2-1-zen/updates
total 548
drwxr-xr-x 1 root root 96 Jun 5 17:01 dkms
-rw-r--r-- 1 root root 560283 Jun 8 18:16 snd-hda-codec-cs8409.ko.zst
╭─jeff@GarudaMJ in repo: snd_hda_macbookpro```
I can't find a syslog in /var/log or a kernel directory there.
You will still get the warning message - removing exit 1 just means the script doesnt stop at that point without building anything. (Until the checking in the script is updated to handle Suse type distributions removing exit 1 would always be needed).
Both your log files are succesful builds, the mainline kernel source has been downloaded, the patches applied successfully (eg Hunk #
2 succeeded - and all hunks succeeded, the module build worked.
The last few lines from contents of /lib/modules/.... /updates show you have the module (snd-hda-codec-cs8409.ko or a compressed version snd-hda-codec-cs8409.ko.zst) in the kernel modules updates directory - which is what should happen.
Apparently Suses version of syslog is the messages file in /var/log ie /var/log/messages. So you need to look for the snd_hda_.... lines in /var/log/messages - in paticular snd_hda_intel and snd_hda_codec.
A major line to look for is a line that has: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE if you see this then -
my module is loaded and running in the current kernel.
I'll look in that Regata kernel log today but I have an update which may be a game-changer.
In my nearly three months of trying to get back into linux with my iMac, I've seen a post here and there about people getting USB converters and more dealing with USB. I thought it was just exchanging one problem for another so I disregarded it.
On a whim, I dug out an old pair of those piece of crap Everyman headphones Skype was selling probably ten years or more ago. I plugged them in just for the hell of it.
The audio selections completely opened up! I'm attaching a print screen to show what happened to my Analog audio input/output/duplex choices.
I couldn't believe my eyes! I selected the digital duplex and now there's no chirping, squealing, failing or any of that. There MAY be a tad of low level occasional static but I'm not doing professional audio on this machine in linux.
I even played some of the original Division game on the steamOS install and other than having to turn down the audio a bit, it sounded great!
Since the speakers I have now are probably more than 20 years old, I figure I've earned an upgrade to a new set of USB speakers which will work on ALL systems I run on this machine.
I've been tenacious in my pursuit of trying to make this work like a mac. I should have tempered that a bit with the mindset that got me into Mac almost 30 years ago-it should just work! Still, I DO love a challenge.
You've been an invaluable help to me and I won't forget you for it! I've made ten times the progress working with you that I have in the almost three months I've been googling, forum-joining and searching. THANK YOU!
I will check to make sure your module got loaded but I'm thinking my latest discovery just confirms it. I think we are talking about layers and not something being or not being there.
If there's anything I can do for you now or in the future please message me and it will be done.
Sorry - I should have mentioned this - both bluetooth and usb headphones/speakers etc work fine - and I do suggest it to users if they have issues or just want something thats going work without issues (essentially the digital audio data for these types is just sent direct to the device - the digital to analogue conversion is done in the device not the computer). My driver is purely for the internal speakers, mike and standard audio jack headphone/headset path - for a laptop this is more significant as then you dont have to carry around additional speakers. In your image above you are selecting a different audio device - but cant immediately see if devices from my module exist. I was going to suggest you try aplay -l and aplay -L with my module and show the results - these just list the devices - aplay -l just does the pure hardware devices, aplay -L also includes software devices (for mixing etc). (Note that you also have separate audio devices for eg HDMI outputs).
No worries. The last time I was doing linux hardcore it was with LinuxPPC and YellowDog, if that tells you anything. I really just wanted my internal mike and audio jack speakers to work! Like I mentioned, I'd read about people doing USB but I must have had a bad sample because theirs either didn't work or the volume was pegged and couldn't be adjusted.
I did a search in the Regata OS /var/log/messages file and could NOT find any reference to snd_anything. Here is a copy of the /var/log directory. Could it be in another file?
acpid boot.omsg messages wpa_supplicant.log
alternatives.log btmp messages-20230530.xz wtmp
apparmor cups messages-20230606.xz Xorg.0.log
audit firewall NetworkManager Xorg.0.log.old
boot.log firewalld openvswitch YaST2
boot.log-20230530.xz hp pbl.log zypp
boot.log-20230601.xz krb5 private zypper.log
boot.log-20230605.xz lastlog regataos-logs zypper.log-20230529.xz
boot.log-20230606.xz localmessages samba zypper.log-20230605.xz
boot.log-20230607.xz mail snapper.log zypper.log-20230609.xz
boot.log-20230608.xz mail.err speech-dispatcher
boot.log-20230609.xz mail.info tallylog
boot.msg mail.warn warn```
Here's the aplay -l:
```RegataOSND:/var/log # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CS8409/CS42L83 Analog [CS8409/CS42L83 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 12: HDMI 6 [HDMI 6]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Everyman [FREETALK Everyman], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0```
And aplay -L:
```RegataOSND:/var/log # aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
speexrate
Rate Converter Plugin Using Speex Resampler
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
default
Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=PCH
HDA Intel PCH, CS8409/CS42L83 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, CS8409/CS42L83 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=HDMI,DEV=0
HDA ATI HDMI, HDMI 0
HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
HDA ATI HDMI, HDMI 1
HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
HDA ATI HDMI, HDMI 2
HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
HDA ATI HDMI, HDMI 3
HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
HDA ATI HDMI, HDMI 4
HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
HDA ATI HDMI, HDMI 5
HDMI Audio Output
hdmi:CARD=HDMI,DEV=6
HDA ATI HDMI, HDMI 6
HDMI Audio Output
sysdefault:CARD=Everyman
FREETALK Everyman, USB Audio
Default Audio Device
front:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
Front output / input
surround21:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Everyman,DEV=0
FREETALK Everyman, USB Audio
IEC958 (S/PDIF) Digital Audio Output```
But alas, I spoke a little too soon. It looks like one of my games (Ghost Recon: Breakpoint) CAN use the USB output but it cannot find the mic attached to the same headset even though the Regata sound setting clearly DOES see it.
Let me know if this output helps or just muddies the waters more-LOL!
Hey I remember YellowDog - used it myself for a while - have always booted linux on my Apple laptops (but Apple keeps trying to make it difficult).
Unfortunately logging is configurable on linux (either /etc/syslog.conf or /etc/rsyslog.conf plus /etc/rsyslog.d) and have no idea what default Suse setup is - maybe try eg grep Primary * in /var/log and see if the message I mentioned above appears - it should because the aplay logs show my module is loaded.
From the aplay logs my module is definitely loaded - card 0 gives CS8409/CS42L83 Analog [CS8409/CS42L83 Analog] - which is a specific name my module sets.
Looking back at your audio settings it appears the headphones and mike are set to Built-in Audio ... - which is from my module - but it not sure what Analog Stereo Duplex is - for me its a simple Analog Stereo Output - which I see you also have as an option. You should set the output for internal speakers to Built-in Audio plus Analog Stereo Output.
Here is the output from the grep Primary * that I think confirms your module IS loaded in this kernel:
grep: apparmor: Is a directory
grep: audit: Is a directory
grep: cups: Is a directory
grep: hp: Is a directory
grep: krb5: Is a directory
localmessages:May 26 16:43:49 localhost kscreen_backend_launcher[6648]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 26 16:43:49 localhost kscreen_backend_launcher[6648]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 26 15:45:44 RegataOSND kscreen_backend_launcher[2421]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 26 15:45:44 RegataOSND kscreen_backend_launcher[2421]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 26 16:57:29 RegataOSND kscreen_backend_launcher[3558]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 26 16:57:29 RegataOSND kscreen_backend_launcher[3558]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 29 15:05:48 RegataOSND kscreen_backend_launcher[2256]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 29 15:05:48 RegataOSND kscreen_backend_launcher[2256]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 13:43:02 RegataOSND kscreen_backend_launcher[1812]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 13:43:02 RegataOSND kscreen_backend_launcher[1812]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 14:18:39 RegataOSND kscreen_backend_launcher[2205]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 14:18:39 RegataOSND kscreen_backend_launcher[2205]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 14:52:04 RegataOSND kscreen_backend_launcher[1791]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 14:52:04 RegataOSND kscreen_backend_launcher[1791]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 15:18:25 RegataOSND kscreen_backend_launcher[1817]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 15:18:25 RegataOSND kscreen_backend_launcher[1817]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 15:24:14 RegataOSND kscreen_backend_launcher[1810]: kscreen.xrandr: RRSetOutputPrimary
localmessages:May 30 15:24:14 RegataOSND kscreen_backend_launcher[1810]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 15:18:29 RegataOSND kscreen_backend_launcher[2305]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 15:18:29 RegataOSND kscreen_backend_launcher[2305]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:06:09 RegataOSND kscreen_backend_launcher[1791]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:06:09 RegataOSND kscreen_backend_launcher[1791]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:19:53 RegataOSND kscreen_backend_launcher[2137]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:19:53 RegataOSND kscreen_backend_launcher[2137]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:46:24 RegataOSND kscreen_backend_launcher[1984]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 16:46:24 RegataOSND kscreen_backend_launcher[1984]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 17:29:33 RegataOSND kscreen_backend_launcher[2015]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 1 17:29:33 RegataOSND kscreen_backend_launcher[2015]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 5 16:10:27 RegataOSND kscreen_backend_launcher[2153]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 5 16:10:27 RegataOSND kscreen_backend_launcher[2153]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 6 10:53:17 RegataOSND kscreen_backend_launcher[2251]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 6 10:53:17 RegataOSND kscreen_backend_launcher[2251]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 6 11:31:35 RegataOSND kscreen_backend_launcher[2058]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 6 11:31:35 RegataOSND kscreen_backend_launcher[2058]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 7 17:39:39 RegataOSND kscreen_backend_launcher[2208]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 7 17:39:39 RegataOSND kscreen_backend_launcher[2208]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 7 18:06:34 RegataOSND kscreen_backend_launcher[2102]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 7 18:06:34 RegataOSND kscreen_backend_launcher[2102]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 09:38:24 RegataOSND kscreen_backend_launcher[2176]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 09:38:24 RegataOSND kscreen_backend_launcher[2176]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 13:25:18 RegataOSND kscreen_backend_launcher[1783]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 13:25:18 RegataOSND kscreen_backend_launcher[1783]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 14:10:03 RegataOSND kscreen_backend_launcher[1786]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 14:10:03 RegataOSND kscreen_backend_launcher[1786]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 16:08:05 RegataOSND kscreen_backend_launcher[1948]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 16:08:05 RegataOSND kscreen_backend_launcher[1948]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:00:31 RegataOSND kscreen_backend_launcher[2185]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:00:31 RegataOSND kscreen_backend_launcher[2185]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:11:48 RegataOSND kscreen_backend_launcher[2138]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:11:48 RegataOSND kscreen_backend_launcher[2138]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:44:38 RegataOSND kscreen_backend_launcher[2130]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 8 22:44:38 RegataOSND kscreen_backend_launcher[2130]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 9 15:46:23 RegataOSND kscreen_backend_launcher[2087]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 9 15:46:23 RegataOSND kscreen_backend_launcher[2087]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 9 18:26:18 RegataOSND kscreen_backend_launcher[2201]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 9 18:26:18 RegataOSND kscreen_backend_launcher[2201]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 10 11:43:11 RegataOSND kscreen_backend_launcher[2084]: kscreen.xrandr: RRSetOutputPrimary
localmessages:Jun 10 11:43:11 RegataOSND kscreen_backend_launcher[2084]: kscreen.xrandr: RRSetOutputPrimary
messages:Jun 10 11:43:06 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
messages:Jun 10 11:43:06 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
messages:Jun 10 11:43:11 RegataOSND kscreen_backend_launcher[2084]: kscreen.xrandr: RRSetOutputPrimary
messages:Jun 10 11:43:11 RegataOSND kscreen_backend_launcher[2084]: kscreen.xrandr: RRSetOutputPrimary
grep: openvswitch: Is a directory
grep: private: Is a directory
grep: regataos-logs: Is a directory
grep: samba: Is a directory
grep: speech-dispatcher: Is a directory
warn:Jun 8 14:09:58 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 8 14:09:58 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 8 16:07:59 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 8 16:07:59 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 8 22:00:25 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 8 22:00:25 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 8 22:11:43 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 8 22:11:43 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 8 22:44:32 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 8 22:44:32 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 9 15:46:18 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 9 15:46:18 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 9 18:26:12 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 9 18:26:12 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
warn:Jun 10 11:43:06 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409
warn:Jun 10 11:43:06 RegataOSND kernel: snd_hda_intel: Primary patch_cs8409 NOT FOUND trying APPLE
grep: YaST2: Is a directory
grep: zypp: Is a directory
RegataOSND:/var/log # ```
Making the changes you suggest in this Regata sound config just produces squealing. Switching both the input and output to the Freetalk headset and using Digital Stereo works great at least for playback.
As far as the Garuda (Arch) system is concerned, the same sound settings work well. Egorenar's patch does NOT work on that flavor of Arch for some reason. But as I said it DOES work perfectly on the Manjaro it was written for.
I'm a little bummed because the Breakpoint game looks and plays even better than Windows 11 which is a first. BUT it also does not see the USB headset/mic at all. As most of my play is co-op this is a BIG BUT! Still, it's a HUGE victory for me to finally surpass my W11 install for ANY gaming endeavour!
Do you have any suggestions for trying to get my audio jack speakers and internal mic to work before I just go USB on them?
Yes this confirms the module is loaded.
You mentioned that aplay -D sysdefault works - is this for this system?
At the moment I think its something to do with the user side (this includes the pulse audio daemon which I think is being run - well your aplay logs show the default device is the pulse audio daemon) audio setup on Regata - we need to try using aplay to pin down what works and what doesnt.
Now this is curious - your aplay -L log doesnt mention either hw: devices or plughw: devices - my Ubuntu systems do mention such devices - and I made much use of these devices for testing - so there is clearly something different about the user side audio setup for Ubuntu vs OpenSuse (maybe Regata specific??). In particular hw: is a direct to hardware device with NO software conversions - plughw: is hardwire device but DOES include software conversions ie it transforms the audio data from the input format to the audio format the hardware expects. Its not clear to me where these are setup in Ubuntu.
I've run the aplay -D sysdefault on Regata and as long as the USB headset is connected, even with them NOT selected in the audio gui, it plays through the headset. When I disconnect the headset, again, with it switched to internal mic and analog stereo output for the headphone choice (speakers unavailable) it gives and error that there is NO sysdefault?
I think I originally ran this on SteamOS as this is where this post started-LOL!
I'll run it now and report back later. It's time for my buddy and I to play. On Windows, unfortunately. But I DO believe we'll get there with your help!
Thanks again!
Ok, one last quick one before I play-LOL!
I disconnected the USB headset before booting into SteamOS (Arch), selected the headphones (speakers unavailable) and internal mic, both using Analog Stereo Duplex.
When I run aplay -D sysdefault StereoTest32.wav here it plays the audio file through the speakers. I just don't know how to tell the system to use that.
By the way, both of the systems, Regata and SteamOS show your module loaded on aplay -l for me again. I know you already said that but I may have had the headset connected when I ran it last and just wanted to make sure it wasn't muddying the device waters.
OK so I think this does mean the issue is in the "user" side audio setup - by this I mean configuration files - apparently the primary alsa setup config files is under /usr/share/alsa eg alsa.conf - plus also /etc/alsa - the ubuntu package is libasound2-data - OpenSuse also uses a libasound2 package name apparently. You can also setup a personal configuration in .asoundrc in your home directory. There must be some difference between the alsa.conf on ubuntu and OpenSuse as alsa.conf on ubuntu defines an hw pcm and plughw pcm explicity. The one issue maybe is that somehow the user side on OpenSuse is not recognising my modules user side naming - its curious it knows about the headphones - that should now be an auto switch when headphones are plugged in. One of my major tests was playing audio on speakers (aplay using plughw), plugging in a headphone and unplugging - all while playing - which for me seemed to work smoothly (Although I did have issues with booting with the headphone plugged in - I think Im still not handling that - so better to boot without jack headphones then plug them in).
I may understand the Analog Stereo Duplex - I think this means you are using both a mike and speaker/headphone at the same time (not something I ever really tested).
You also can tell pulse audio to do things using pactl or pacmd - I havent used them for a while - you can set the "sinks" (outputs ie speakers) and "sources" (mikes) explicitly.
Personally I primarily game on linux (standard PC - never with windows - but not on mac) using Steam which seems to work. On the other hand I dont really use a headset.
Arch does have quite a useful ALSA wiki page.
Ill check what Im seeing under Ubuntu for the audio speaker naming.
I've just had another one of those foggy brain experiences-LOL!
I've understood about half of what you were just teaching me. Sorry.
In my research, I've come across the config files stuff but I decided that I wasn't going down that rabbit hole. The USB discovery has made me buy some new speakers for my system which I think will help a LOT!
Please understand how much I appreciate your help. I would NEVER have come to the realizations I have without your help. I'm not jumping ship on you either.
Have you always used Apple hardware for your gaming on linux? Is that how you got into the excellent solution you created?
Do you know people who have had success with Hackintosh systems? I know they have their own set of issues but with an AMD GPU and standard Intel audio, sound and video should NOT be one of them.
I have no knowledge of pacmd or pacl but will check out the Arch ALSA page.
I finally got a linux system to outperform Windows late last week on Garuda. But, of course, the game I was playing GR: Breakpoint didn't recognize either the USB headset or my internal mike! Sheesh! But it looked and played beautifully.
I'll keep you posted on how this is going. I'm going to replace the audio jack speakers with my new Creative USBs today. Wish me luck!
No problem - as I said I recommend to use bluetooth/usb if you want a simple experience - my primary use was to get speakers on the laptop working so didnt have to carry around speakers.
Sorry - I dont really use mac hardware for gaming - so PC hardware just linux never windows - only those you can buy without windows. Not really used non-laptop Macs as the Apple hardware never fitted what I wanted to do.
Not really looked at Hackintoshes - not sure where they get their OSX drivers from (they could be derived from linux drivers - the hardware would be handled just the interaction with the OSX kernel is the issue) - but you used to be able to create Apple kernel modules.
Ive always done gaming thro the Steam program on linux - although have used Lutris - not sure what Garuda is doing - Proton is now very good at handling Windows games in particular with the Vulkan driver interface there is much less overhead due to the function call mapping.
If you want to try more with my module see if you can get pactl - this lets you list the pulse audio sinks and sources - its packaged in pulseaudio-utils on Ubuntu.
PS One reason pipewire is replacing pulse is that pulse is not good for latency - dont if youve heard of the Jack audio daemon for linux pro audio - where minimal/constant latency is needed - pipewire is also replacing Jack and can do low latency.
Let me make sure I understand you. You use Mac hardware and MacOS for everything BUT gaming? For that, you use PC hardware and linux?
When I first got into linux many moons ago, I only had my poor little PowerPC 603e machine. Later, I built my own PC (with the help of a diehard gamer/tech guy I worked with) and the linux world really opened up for me. I'm actually very disappointed to see there aren't any intel Mac linux distros given that Distrowatch has over 200 linux distros out there. I know it's all about marketing but I'd think that ONE of the 200 would decide THAT would be an unserved market. Yes, I know linux itself accounts for a really tiny share of the OS market as a whole but still.
How did you get into making a patch for poor Mac linux people who just don't have much to choose from?
Also, I agree with you. Steam, being a native linux app, works and looks great. Ubisoft through Lutris, eh, not so much. Proton's a great thing but the experience can vary greatly even from one Lutris install to the next.
I simply need to learn more about ALSA, pipeware and Jack audio.