Page MenuHomeFreeBSD

christos (Christos Margiolis)
User

Projects

User Details

User Since
Jul 2 2021, 4:03 PM (200 w, 4 d)

Recent Activity

Mon, May 5

christos committed rG330787ce3acd: ObsoleteFiles.inc: Remove audio(8) files after rename to sndctl(8) (authored by christos).
ObsoleteFiles.inc: Remove audio(8) files after rename to sndctl(8)
Mon, May 5, 7:28 PM
christos added inline comments to D50070: snd_hda: Implement automatic redirection between associations.
Mon, May 5, 6:47 PM
christos committed rGeb60bf2c3130: RELNOTES: Fix typo (authored by christos).
RELNOTES: Fix typo
Mon, May 5, 6:45 PM
christos committed rG3ab34225af39: RELNOTES: Mention sndctl(8) (authored by christos).
RELNOTES: Mention sndctl(8)
Mon, May 5, 5:58 PM
christos committed rG9a37f1024ceb: Rename audio(8) to sndctl(8) (authored by christos).
Rename audio(8) to sndctl(8)
Mon, May 5, 5:20 PM
christos closed D50167: Rename audio(8) to sndctl(8).
Mon, May 5, 5:19 PM
christos added a comment to D50167: Rename audio(8) to sndctl(8).

Commit this now. I know not all reviewers here have replied, but I think that's a straight forward and apparently wanted change.

Mon, May 5, 5:17 PM
christos added a comment to D50167: Rename audio(8) to sndctl(8).

Everyone in the MLs agrees with this change. I think we should go forward with this.

Mon, May 5, 4:39 PM
christos added a comment to D38825: libdtrace: Implement inline function tracing for kinst.

I will spend some time testing this again within a week. My recollection from last time is that there were some edge cases where probes didn't fire when I expected. One thing I didn't test yet but am a bit suspicious will not work properly is stack unwinding -- did you test that the stack() action prints reasonable output when used within an inline function probe?

Mon, May 5, 2:00 PM · DTrace
christos requested review of D50167: Rename audio(8) to sndctl(8).
Mon, May 5, 1:48 PM
christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

I'm inclined to abandon this one in favor of D50070.

Mon, May 5, 12:08 PM
christos committed rG44e5a0150835: audio(8): Initial revision (authored by christos).
audio(8): Initial revision
Mon, May 5, 11:40 AM
christos closed D46227: audio(8): Initial revision.
Mon, May 5, 11:40 AM
christos added inline comments to D50070: snd_hda: Implement automatic redirection between associations.
Mon, May 5, 9:29 AM

Fri, May 2

christos committed rG2dd67e4f612e: snd_hda: Drain callout in hdac_detach() (authored by christos).
snd_hda: Drain callout in hdac_detach()
Fri, May 2, 10:48 AM
christos committed rGd0e6b4305f47: sound: Retire volch (authored by christos).
sound: Retire volch
Fri, May 2, 10:47 AM
christos committed rGd99692a81339: sound: Retire SD_F_PRIO_* (authored by christos).
sound: Retire SD_F_PRIO_*
Fri, May 2, 10:47 AM
christos committed rGa9221e507747: sndstat.4: Make sndstat nvlist channel names reflect new naming scheme (authored by christos).
sndstat.4: Make sndstat nvlist channel names reflect new naming scheme
Fri, May 2, 10:47 AM
christos committed rG4a9c90d81e86: sound: Export hardware and software buffer sample rate in sndstat nvlist (authored by christos).
sound: Export hardware and software buffer sample rate in sndstat nvlist
Fri, May 2, 10:47 AM
christos committed rG3b0ff20f8d69: sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool (authored by christos).
sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool
Fri, May 2, 10:47 AM
christos committed rGc50c5a47a9d5: snd_hda: Drain callout in hdac_detach() (authored by christos).
snd_hda: Drain callout in hdac_detach()
Fri, May 2, 10:39 AM
christos closed D50087: snd_hda: Drain callout in hdac_detach().
Fri, May 2, 10:39 AM

Wed, Apr 30

christos added a reviewer for D50087: snd_hda: Drain callout in hdac_detach(): adrian.
Wed, Apr 30, 5:52 PM
christos updated the diff for D46227: audio(8): Initial revision.

Allow printing individual channel controls without specifying the -v option.

Wed, Apr 30, 5:51 PM
christos updated the diff for D50070: snd_hda: Implement automatic redirection between associations.

Rebase with 02d61f27585f52d422fc1e235ac6226e27145162 applied.

Wed, Apr 30, 5:04 PM
christos updated the summary of D50087: snd_hda: Drain callout in hdac_detach().
Wed, Apr 30, 4:47 PM
christos requested review of D50087: snd_hda: Drain callout in hdac_detach().
Wed, Apr 30, 4:42 PM

Tue, Apr 29

christos closed D50022: sound: Retire volch.
Tue, Apr 29, 2:01 PM
christos committed rG578cbd03f7a5: sound: Retire volch (authored by christos).
sound: Retire volch
Tue, Apr 29, 2:01 PM
christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

The devd approach: D50070

Tue, Apr 29, 1:19 PM
christos added inline comments to D50070: snd_hda: Implement automatic redirection between associations.
Tue, Apr 29, 1:18 PM
christos added a comment to D50070: snd_hda: Implement automatic redirection between associations.

This is a WIP and needs more testing.

Tue, Apr 29, 1:16 PM
christos requested review of D50070: snd_hda: Implement automatic redirection between associations.
Tue, Apr 29, 1:13 PM

Sat, Apr 26

christos added a comment to D50046: snd_hda: Apply fixes for Macbook Air 6,1 and 6,2.

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.

Sat, Apr 26, 4:48 PM
christos added a reviewer for D50046: snd_hda: Apply fixes for Macbook Air 6,1 and 6,2: emaste.
Sat, Apr 26, 4:48 PM
christos requested review of D50046: snd_hda: Apply fixes for Macbook Air 6,1 and 6,2.
Sat, Apr 26, 4:47 PM
christos updated the diff for D50022: sound: Retire volch.

Address Mark's comments.

Sat, Apr 26, 4:29 PM
christos committed rG52a0f967dcc5: sound tests: Fetch HWBUF_RATE and SWBUF_RATE in sndstat_nv (authored by christos).
sound tests: Fetch HWBUF_RATE and SWBUF_RATE in sndstat_nv
Sat, Apr 26, 10:07 AM
christos committed rG6286b714f5e3: sound tests: Fix PVCHAN and RVCHAN fetching in sndstat_nv (authored by christos).
sound tests: Fix PVCHAN and RVCHAN fetching in sndstat_nv
Sat, Apr 26, 10:07 AM

Fri, Apr 25

christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

@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.

Fri, Apr 25, 10:20 PM
christos added a reverting change for rGfacccfc8c7e1: sound: Access softc through si_drv1 in dsp cdev methods: rGb095a41a3a2a: Revert "sound: Access softc through si_drv1 in dsp cdev methods".
Fri, Apr 25, 10:04 PM
christos committed rGb095a41a3a2a: Revert "sound: Access softc through si_drv1 in dsp cdev methods" (authored by christos).
Revert "sound: Access softc through si_drv1 in dsp cdev methods"
Fri, Apr 25, 10:04 PM
christos added a reverting change for rG532b45fe103c: sound: Create a dsp_close() helper function: rG4a556c2277fd: Revert "sound: Create a dsp_close() helper function".
Fri, Apr 25, 10:04 PM
christos updated the diff for D50022: sound: Retire volch.

Rebase on top of main

Fri, Apr 25, 10:04 PM
christos committed rG4a556c2277fd: Revert "sound: Create a dsp_close() helper function" (authored by christos).
Revert "sound: Create a dsp_close() helper function"
Fri, Apr 25, 10:04 PM
christos added a reverting change for D49804: sound: Access softc through si_drv1 in dsp cdev methods: rGb095a41a3a2a: Revert "sound: Access softc through si_drv1 in dsp cdev methods".
Fri, Apr 25, 10:04 PM
christos added a reverting change for D49805: sound: Create a dsp_close() helper function: rG4a556c2277fd: Revert "sound: Create a dsp_close() helper function".
Fri, Apr 25, 10:04 PM
christos requested review of D50022: sound: Retire volch.
Fri, Apr 25, 5:26 PM
christos committed rG532b45fe103c: sound: Create a dsp_close() helper function (authored by christos).
sound: Create a dsp_close() helper function
Fri, Apr 25, 4:58 PM
christos committed rGfacccfc8c7e1: sound: Access softc through si_drv1 in dsp cdev methods (authored by christos).
sound: Access softc through si_drv1 in dsp cdev methods
Fri, Apr 25, 4:57 PM
christos committed rGabb5521bddc2: sound: Retire SD_F_PRIO_* (authored by christos).
sound: Retire SD_F_PRIO_*
Fri, Apr 25, 4:57 PM
christos closed D49805: sound: Create a dsp_close() helper function.
Fri, Apr 25, 4:57 PM
christos committed rGef411cae7e9a: sndstat.4: Make sndstat nvlist channel names reflect new naming scheme (authored by christos).
sndstat.4: Make sndstat nvlist channel names reflect new naming scheme
Fri, Apr 25, 4:57 PM
christos closed D49804: sound: Access softc through si_drv1 in dsp cdev methods.
Fri, Apr 25, 4:57 PM
christos closed D49978: sound: Retire SD_F_PRIO_*.
Fri, Apr 25, 4:57 PM
christos closed D49981: sndstat.4: Make sndstat nvlist channel names reflect new naming scheme.
Fri, Apr 25, 4:57 PM
christos committed rG19ec522d6dc1: sound: Export hardware and software buffer sample rate in sndstat nvlist (authored by christos).
sound: Export hardware and software buffer sample rate in sndstat nvlist
Fri, Apr 25, 4:57 PM
christos closed D49983: sound: Export hardware and software buffer sample rate in sndstat nvlist.
Fri, Apr 25, 4:57 PM
christos committed rG0c0bb4c1401c: sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool (authored by christos).
sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool
Fri, Apr 25, 4:57 PM
christos closed D49980: sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool.
Fri, Apr 25, 4:57 PM

Wed, Apr 23

christos updated the diff for D46227: audio(8): Initial revision.
  • 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.
Wed, Apr 23, 3:56 PM
christos requested review of D49983: sound: Export hardware and software buffer sample rate in sndstat nvlist.
Wed, Apr 23, 3:08 PM
christos updated the diff for D49980: sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool.

nvlist_add_number() -> nvlist_add_bool()

Wed, Apr 23, 1:14 PM
christos retitled D49981: sndstat.4: Make sndstat nvlist channel names reflect new naming scheme from sound: Make sndstat nvlist channel names reflect new naming scheme to sndstat.4: Make sndstat nvlist channel names reflect new naming scheme.
Wed, Apr 23, 1:06 PM
christos requested review of D49981: sndstat.4: Make sndstat nvlist channel names reflect new naming scheme.
Wed, Apr 23, 1:05 PM
christos requested review of D49980: sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool.
Wed, Apr 23, 1:05 PM
christos requested review of D49978: sound: Retire SD_F_PRIO_*.
Wed, Apr 23, 12:12 PM
christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

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 23, 12:03 PM
christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

I'm sorry to say this, but after some consideration I'm not sure we should follow through with this approach. We cannot keep / recreate the buffer properties, we lose audio data when swapping, and we break a whole lot of assumptions that are baked into the OSSv4 API. I expect this to provoke many subtle problems with buffers and timing, and it will be hard to tell which applications work well with swapping, and which do not. For me it's just not worth all the bug reports, when device swapping should actually be done in userland where applications / sound servers can handle it properly.

It's fine to let users decide whether they want this feature or not, that's FreeBSD philosophy. But the outcome should be predictable, IMHO.

Wed, Apr 23, 10:10 AM

Wed, Apr 16

christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

On a side note, I tried to test exclusive and bitperfect mode yesterday, as on request by the application through ioctl. Both are completely ineffective. When did we break this, and was that intentional?

Wed, Apr 16, 5:31 PM
christos committed R11:46f994464dd2: multimedia/mpv: Fix YTDLP option (authored by scf).
multimedia/mpv: Fix YTDLP option
Wed, Apr 16, 9:17 AM

Tue, Apr 15

christos abandoned D45951: [WIP] audio(3): New OSS audio and MIDI library.
Tue, Apr 15, 7:38 PM
christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

Hi there, I'm still short on spare time but did some very brief tests.

First this lock order reversal, don't know how to reproduce yet and whether it is related to this patch:

Tue, Apr 15, 6:03 PM
christos added inline comments to D49805: sound: Create a dsp_close() helper function.
Tue, Apr 15, 5:36 PM

Mon, Apr 14

christos added inline comments to D49805: sound: Create a dsp_close() helper function.
Mon, Apr 14, 3:56 PM
christos closed D49524: Status/2025Q1/audio.adoc: Add report.
Mon, Apr 14, 3:17 PM
christos committed R9:20a50568c34d: Status/2025Q1/audio.adoc: Add report (authored by christos).
Status/2025Q1/audio.adoc: Add report
Mon, Apr 14, 3:17 PM
christos updated the diff for D49524: Status/2025Q1/audio.adoc: Add report.

Address Lorenzo's comments.

Mon, Apr 14, 2:19 PM
christos added a comment to D49804: sound: Access softc through si_drv1 in dsp cdev methods.

So should the priv->sc field be removed entirely?

Mon, Apr 14, 2:15 PM

Sat, Apr 12

christos updated the diff for D49216: sound: Implement /dev/dsp as a router device.

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.

Sat, Apr 12, 8:14 PM
christos requested review of D49805: sound: Create a dsp_close() helper function.
Sat, Apr 12, 8:13 PM
christos requested review of D49804: sound: Access softc through si_drv1 in dsp cdev methods.
Sat, Apr 12, 8:13 PM

Wed, Apr 9

christos added inline comments to D46227: audio(8): Initial revision.
Wed, Apr 9, 10:25 PM

Tue, Apr 8

christos committed rG84ed51c41205: pkg.7: Add example for fetching package for different FreeBSD versions (authored by christos).
pkg.7: Add example for fetching package for different FreeBSD versions
Tue, Apr 8, 1:06 AM

Mon, Apr 7

christos added inline comments to D49216: sound: Implement /dev/dsp as a router device.
Mon, Apr 7, 10:59 PM
christos added a comment to D38825: libdtrace: Implement inline function tracing for kinst.

tinderbox build on the cluster done with no errors.

Mon, Apr 7, 10:48 PM · DTrace
christos closed D49490: devel/lua-posix: Use lua51+.
Mon, Apr 7, 10:07 PM
christos committed R11:4717c9513cac: devel/lua-posix: Use lua51+ (authored by christos).
devel/lua-posix: Use lua51+
Mon, Apr 7, 10:07 PM

Apr 6 2025

christos added a comment to D49216: sound: Implement /dev/dsp as a router device.

@kib Any comments regarding the use of dev_ref() and dev_rel()?

Apr 6 2025, 5:39 PM
christos updated the diff for D49216: sound: Implement /dev/dsp as a router device.
  • Do not ignore return values in vdsp cdev methods.
  • Address kib's comments.
Apr 6 2025, 5:39 PM
christos added a comment to D49490: devel/lua-posix: Use lua51+.

You can't commit this without consent from maintainer, this could possible fall under blanket but to avoid unnecessary friction I'd suggest that you submit it to bugzilla too.
https://docs.freebsd.org/en/books/porters-handbook/book/#porting-submitting

https://docs.freebsd.org/en/books/porters-handbook/book/#makefile-maintainer
https://docs.freebsd.org/en/articles/committers-guide/#ports-qa-misc-blanket-approval

Apr 6 2025, 5:34 PM
christos added a comment to D49490: devel/lua-posix: Use lua51+.

Looks reasonable but you need to file a bug report in bugzilla for Porter's Handbook and Committer's Guide to apply

Apr 6 2025, 4:10 PM
christos committed rG8c991c4b0695: sound: Fix regression in pcm/feeder_mixer.c (authored by christos).
sound: Fix regression in pcm/feeder_mixer.c
Apr 6 2025, 12:29 AM
christos committed rG2254bef61b7c: sound: Use bus_topo_lock() where appropriate (authored by christos).
sound: Use bus_topo_lock() where appropriate
Apr 6 2025, 12:29 AM
christos committed rG831c30f09ea8: sound: Improve afmt_tab (authored by christos).
sound: Improve afmt_tab
Apr 6 2025, 12:29 AM
christos committed rG1890f0b0df24: beep(1): Use AFMT_FLOAT (authored by christos).
beep(1): Use AFMT_FLOAT
Apr 6 2025, 12:29 AM
christos committed rGe4c0d796141b: sound: Fix vchanrate and vchanformat (authored by christos).
sound: Fix vchanrate and vchanformat
Apr 6 2025, 12:28 AM
christos committed rG1728d26682c6: sound: Implement AFMT_FLOAT support (authored by christos).
sound: Implement AFMT_FLOAT support
Apr 6 2025, 12:28 AM

Apr 5 2025

christos committed R11:5599b8390785: net-p2p/monero-cli: Update to 0.18.4.0 (authored by Alexander Perechnev <alex.perechnev@gmail.com>).
net-p2p/monero-cli: Update to 0.18.4.0
Apr 5 2025, 9:37 PM

Apr 3 2025

christos added inline comments to D49216: sound: Implement /dev/dsp as a router device.
Apr 3 2025, 1:34 PM