From: Takashi Iwai <tiwai@suse.de>
To: Bastien Nocera <hadess@hadess.net>
Cc: alsa-devel@alsa-project.org
Subject: Re: USB Wireless device support
Date: Wed, 13 Jan 2021 16:08:51 +0100 [thread overview]
Message-ID: <s5hv9c0nabg.wl-tiwai@suse.de> (raw)
In-Reply-To: <8adebcef15874187b18b930d5a71e79c6297ee80.camel@hadess.net>
On Wed, 13 Jan 2021 16:03:39 +0100,
Bastien Nocera wrote:
>
> On Wed, 2021-01-13 at 15:49 +0100, Takashi Iwai wrote:
> > On Wed, 13 Jan 2021 15:36:19 +0100,
> > Bastien Nocera wrote:
> > >
> > > Hey,
> > >
> > > On Wed, 2020-12-09 at 14:30 +0100, Bastien Nocera wrote:
> > > > Hey,
> > > >
> > > > I've recently bought a SteelSeries Arctis 1 wireless headset:
> > > > https://steelseries.com/gaming-headsets/arctis-1-wireless-xbox
> > > > and wanted to write a kernel driver to export a few features of
> > > > the
> > > > device, and needed some help getting started.
> > > >
> > > > The receiver shows up as a audio class USB device, with extra
> > > > features
> > > > on a separate USB interface.[1]
> > > >
> > > > The extra features that can be accessed are:
> > > > - Presence detection. I wanted to use that so PulseAudio or
> > > > Pipewire
> > > > could make routing decisions based on whether the headset is
> > > > available,
> > > > or probably better, implementing a "jack detection" emulation for
> > > > the
> > > > main audio interface?
> > > > - A slider to change the sidetone volume
> > > > - Export the battery level
> > > >
> > > > The latter is the only one I know how to do, so I'd be happy with
> > > > any
> > > > pointers or examples about the first two items.
> > >
> > >
> > > I sent this in December and didn't get any answers, and I would
> > > appreciate any guidance/examples if you have any into implementing
> > > this.
> >
> > Judging from the link, is it controlled through HID? If so, it's
> > primarily done by a HID driver, and it doesn't belong to the sound
> > card stuff, so far.
> > Though....
> >
> > > I would imagine that the new features would be implemented through
> > > a
> > > separate ALSA device with few features, which PulseAudio/Pipewire
> > > could
> > > merge with the existing USB audio device.
> >
> > ... given that it's implemented in a HID driver, the integration to
> > the system is a different question. But unless it's implemented as a
> > sound card device, the rest will become a totally different,
> > e.g. another PA or PW module.
>
> I think that it might be good to have the sidetone configuration
> implemented as a channel mixer, so it could be shown along with the
> device volume in sound settings.
>
> I believe there's already a device group feature in PulseAudio that
> could be used to merge the sidetone level with the rest of the USB
> audio mixers.
>
> Is there an example of a mixer like that implemented in a hid or
> another type of non-ALSA/sound driver?
Nothing so far, and that's the problem. HID is managed in a
completely different layer, hence the integration needs to be done in
a higher level like PA, I suppose. In theory we might be able to
extend UCM to handle the other external devices, though.
Takashi
next prev parent reply other threads:[~2021-01-13 15:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-09 13:30 USB Wireless device support Bastien Nocera
2021-01-13 14:36 ` Bastien Nocera
2021-01-13 14:49 ` Takashi Iwai
2021-01-13 15:03 ` Bastien Nocera
2021-01-13 15:08 ` Takashi Iwai [this message]
2021-01-13 15:13 ` Bastien Nocera
2021-01-13 15:17 ` Takashi Iwai
2021-01-13 15:41 ` Bastien Nocera
2021-01-13 15:43 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5hv9c0nabg.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=hadess@hadess.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.