Using this to chronical what all I have done with my Steam Link.
Create /steamlink/config/system/enable_ssh.txt
(Just create the file) Enables SSH after power cycling Link.
# pactl list sinks
Sink #1
State: RUNNING
Name: alsa_output.0.analog-stereo
Description: Logitech G930 Headset Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 17
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 82505 / 126% / 6.00 dB
Monitor Source: alsa_output.0.analog-stereo.monitor
Latency: 9851 usec, configured 9977 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "Logitech G930 Headset"
alsa.long_card_name = "Logitech Logitech G930 Headset at usb-f7ee0000.usb-1.2, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "/devices/soc.0/f7ee0000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card0"
sysfs.path = "/devices/soc.0/f7ee0000.usb/usb1/1-1/1-1.2/1-1.2:1.0/sound/card0"
device.string = "front:0"
device.buffering.buffer_size = "1760"
device.buffering.fragment_size = "880"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Logitech G930 Headset Analog Stereo"
alsa.mixer_name = "USB Mixer"
alsa.components = "USB046d:0a1f"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-output: Analog Output (priority: 9900)
Active Port: analog-output
Formats:
pcm
- Download http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
- Format a flash drive with an ext3 partition
- Extract downloaded rootfs to said partition
- Power on
- Insert flash drive
- Over SSH
mkdir /mnt/usb
mount /dev/block/sda1 /mnt/usb
mount -t proc proc /mnt/usb/proc/
mount -o bind /dev /mnt/usb/dev/
mount -t devpts devpts /mnt/usb/dev/pts/
mount -t sysfs sys /mnt/usb/sys/
chroot /mnt/usb /bin/bash
bluetoothctl
- scan on (Put phone in discovery mode)
- pair <discovered-mac>
- trust <discovered-mac>
- connect <discovered-mac>
- exit
pactl load-module module-native-protocol-tcp auth-anonymous=1
PULSE_SERVER=<steam-link-ip> pavucontrol
Same method will let you send audio from your computer to the Link (again only works with USB audio devices attached to the Link. HDMI doesn't show up as a device at all in pulse)
PULSE_SERVER=<steam-link-ip> some-program-that-uses-libpulse
pactl set-sink-volume 0 90%
Or whatever value you wantpactl set-sink-mute 0 toggle
Toggle mute
I think the reason why HDMI doesn't show up in pulse is: Pulse is only there for external headset support. Their main application probably interfaces with the HDMI audio directly as a means for lowest latency.