User Details
- User Since
- Jul 2 2021, 4:03 PM (200 w, 4 d)
Mon, May 5
Commit this now. I know not all reviewers here have replied, but I think that's a straight forward and apparently wanted change.
Everyone in the MLs agrees with this change. I think we should go forward with this.
I'm inclined to abandon this one in favor of D50070.
Fri, May 2
Wed, Apr 30
Allow printing individual channel controls without specifying the -v option.
Rebase with 02d61f27585f52d422fc1e235ac6226e27145162 applied.
Tue, Apr 29
The devd approach: D50070
This is a WIP and needs more testing.
Sat, Apr 26
This is a WIP and I'm waiting for @adrian to test this on his Macbook, but I'm leaving it here so it's easier for more people to see/test.
Address Mark's comments.
Fri, Apr 25
@dev_submerge.ch As a proof of concept, the devd + virtual_oss solution I proposed earlier, with a small snd_hda(4) patch, already works, albeit with a few bugs that I'm trying to resolve. I think that solution is probably the better one, because it is way more extensible, the tech debt/complexity is significantly smaller, and can be adapted easily in userland. This way we also avoid reinventing the wheel inside sound(4) to get hot-swapping. This might indeed introduce some small overhead, but as I said in the last message, if the user wants as low latencies as possible, they can still just open the device(s) directly as always. And to get automatic hot-swapping we can just add a devd script that switches on attach/detach. I think we should follow through with that approach instead of this one here.
Rebase on top of main
Wed, Apr 23
- Address Adrian's comments. Stop leaking strduped strings.
- Remove "PCM_CAP" from capmap strings.
- Support AFMT_F32_LE and AFMT_F32_BE.
- Improve channel printing when -v is set.
- Sort mod functions better.
- Fix bug in first sysctlbyname() call in sysctl_str().
- Update COPYRIGHT dates.
- Print device name in some error messages.
- Merge play|rec.autoconv into a single control for both play and rec.
- Modify play|rec.vchans to match changes introduced by 02d4eeabfd73 ("sound: Allocate vchans on-demand")
- Update fetching of PVCHAN and RVCHAN to match changed introduced by D49980.
- Rename hwchans to pchans (primary channels), and stop printing it; only use it internally. It's not really relevant to the user as a standalone property.
- Do not print chan.name, it's redundant for now, since the channel name is always printed before the property name.
- Re-read device at the end to make sure we reflect the new state if a property has been changed.
- Add hwbuf.rate and swbuf.rate controls. Depends on D49983.
- Print the hardware buffer format and rate if vchans are disabled.
- Improve man page.
nvlist_add_number() -> nvlist_add_bool()
I think we need to decide on a trade-off. I haven't yet tested the virtual_oss + devd approach I proposed (I will shortly), but the current approach will inevitably require lots of fine tuning, caveats and possibly bug reports, if we want to achieve the best possible functionality to cover the use-cases you mention, whereas the other approach might introduce some latency and complication with now having an audio server running by default, but we might save up on development/maintenance time. As a side note, I would expect very specialized applications to access devices directly, so this is still always an option anyway.
Wed, Apr 16
Tue, Apr 15
Mon, Apr 14
Address Lorenzo's comments.
Sat, Apr 12
Remove unit argument from vdsp_open_dev() and vdsp_get_dev() and figure
it out inside the functions instead. It's cleaner in combination with the
follow-up patch.
Wed, Apr 9
Tue, Apr 8
Mon, Apr 7
tinderbox build on the cluster done with no errors.
Apr 6 2025
@kib Any comments regarding the use of dev_ref() and dev_rel()?
- Do not ignore return values in vdsp cdev methods.
- Address kib's comments.