Pulseaudio Windows 10

INGREDIENTS

See full list on mathiashueber.com. Windows 10 64bit. Windows XP Professional x64 Edition. Windows 8 32bit. Windows 8 64bit. Windows 8.1 64bit. JUMP TO DRIVERS DOWNLOAD. AC'97 (short for Audio Codec '97. Windows has plenty of clients that can pick up a Icecast stream. Takkat has already written a fairly decent set of options for routing PulseAudio over Icecast. That should get you up and running. Alternatively there are PulseAudio binaries for Windows. Although the pulseaudio snap is available from other channels (candidate, beta, edge), only the stable version should be used for production devices. The purpose of the other channels is for internal use for the development team of the pulseaudio snap. All necessary plugs and slots will be automatically connected within the installation process.

  • Windows 10 April 2018 Update (1803)

WSL doesn't currently support sound devices. Hence when you open a GUI desktop or apps in X410, you will not hear anything other than the basic system bells (ex. CTRL+G). We hope Microsoft add the support in the future version of WSL.

Meanwhile.. there is a workaround..

STEP 1Download PulseAudio for Windows

PulseAudio version 1.1 was available for Windows as of this writing; it's indeed an old version but it works on Windows 10.

https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/

STEP 2Unzip the file from Step 1 to a folder

STEP 3Edit 'etcpulsedefault.pa'

Line 42
FROMload-module module-waveout sink_name=output source_name=input
TOload-module module-waveout sink_name=output source_name=input record=0

Please note that for security and privacy concerns Windows 10 (April 2018 Update) seems to restrict the access to audio recording devices. You can probably somehow override this feature, but since we just want to hear the sound we're simply disabling it from the PulseAudio server by adding the 'record=0'.

Line 61
FROM#load-module module-native-protocol-tcp
TOload-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

This enables the PulseAudio server to accept connections only from 127.0.0.1 via TCP.

STEP 4Edit 'etcpulsedaemon.conf'

Line 39
FROM; exit-idle-time = 20
TOexit-idle-time = -1

If this option is set to a non negative value, the server automatically terminates itself when the last client disconnects and the time is passed more than this option (in seconds).

STEP 5Test run 'binpulseaudio.exe'

The 'pulseaudio.exe' is the executable for PulseAudio server (also referred to as a daemon) that we need for our Linux apps.

When you first run pulseaudio.exe, you'll see the Windows Firewall Alert Msi camera driver. popup that asks you if you want to allow other devices for connecting to the server. Since we'll only be using a loopback address (= 127.0.0.1), you should select 'Cancel'; you don't have to allow other devices.

If there was an error, the server exits immediately. If that's the case, go to Step 3 and make sure you've changed the lines correctly.

Press CTRL+C to stop the server.

STEP 6Add PulseAudio related settings to your X410 launching batch file

For example, if you're using Ubuntu and created a batch file as mentioned in 'Customizing Xfce Desktop for Ubuntu (WSL)', try modifying it as shown below:

• start ' /B 'C:wslpulseaudiobinpulseaudio.exe'

You need to adjust the path to 'pulseaudio.exe' according to your setup.

• export PULSE_SERVER=tcp:127.0.0.1;

In order to let Linux apps know there is a PulseAudio server running at 127.0.0.1, we need to export the 'PULSE_SERVER' environment variable.

• taskkill /IM pulseaudio.exe /F

Pulseaudio.exe has its own '--kill' command line switch for terminating the running instance. But it doesn't seem to work in Windows 10.

STEP 7Enjoy the sound!

Known Issues

Pulseaudio Windows 10

Pulse Effects Windows

  • PulseAudio server cannot be terminated gracefully. If you want to stop the server, you need to use Windows Task Manager or taskkill.exe command to terminate it forcefully.

  • The current version of PulseAudio is 12.2 as of this writing. The version used in this post is 1.1 and you probably notice various performance issues. For example, if you're seeing unexpected stuttering in video playback, it's probably caused by the PulseAudio server that couldn't keep up with the video.

  • Batch files are updated to address the re-launching problem in some Windows 10 versions. When pulseaudio.exe is launched with '-D' option and stopped using taskkill.exe with '/T' option, pulseaudio.exe might only work for the first instance of X410 and Linux GUI desktop.

Getting audio to work properly in your Windows VM is one of the biggest challenges for VFIO enthusiasts, regardless of experience level. Over time, a wide variety of workarounds became popular, like passing through an audio interface, or using a usb sound card. Unfortunately, audio equipment can be costly, and doesn’t offer a seamless experience. This article will show you how to get the most out of your audio setup using nothing but software and the equipment you already own.

Read also: Handsfree Monitor Switching With DDCUtil

About Linux audio

Here’s a basic overview of the way most linux distros handle sound: At the base of the stack there’s the Advanced Linux Sound Architecture – also known as ALSA. Since 2002, it has most commonly provided the interface for audio device drivers: it supports a huge list of sound cards. If your distro plays sound out of the box, you are probably running ALSA.

On top of that we usually have PulseAudio, a sound server which comes pre-installed with most Linux distros. Using it allows for easy switching between multiple devices and regulating volume system-wide as well as per-device and each application individually.

In general, there is no pressing reason to use a sound server since most applications (including QEMU) work with ALSA alone. With interactive media like games in mind this potentially good practice as you shorten the processing pipeline by one instance and potentially reduce latency. However, some packages like the Gnome desktop environment or Discord depend on PulseAudio in order to function properly, so there’s no reason to get rid of pulse if things are working for you. We will provide you with configuration samples for both use cases.

Patching QEMU

UPDATE: as of qemu 4.0, patching is no longer needed. Please check below for qemu arguments.

In late 2017, the reddit user Spheenik provided a patch for QEMU which dramatically improves its audio backend. Thanks to his work it is now possible to have well-functioning playback and recording inside guest operating systems.

On Arch Linux a pre-patched version of QEMU is available in the AUR, but for other distributions, please check Spheenik’s Reddit post for build instructions.

Configuring VM Audio over PulseAudio

The instructions in this section will attach your VM to PulseAudio. They are recommended for most users.

Make sure your user has been added to the “libvirt”group by issuing sudo gpasswd -a *user* libvirt. Replace *user* with your own user name.
Open /etc/libvirt/qemu.conf in an editor and look for #user =. Uncomment the line and add your user name here as well.

Pulse

Configuring VM Audio over ALSA

The instructions in this section will attach your VM to ALSA directly. They are recommended to more advanced users who want lower latency but also need to run applications depending on PulseAudio.

If you have been using PulseAudio on your system so far, you need to disconnect it from ALSA. On Arch, Uninstall the pulseaudio-alsa package and remove /etc/asound.conf as well as ~/.asoundrc.
Now PulseAudio needs to be configured to use ALSA‘s dmix device which prevents it from claiming your hardware exclusively. Open /etc/pulse/default.pa in an editor and uncomment the lines which load backend drivers, then add device parameters as follows:

Also find and comment lines which load autodetect modules.

Reboot.

Guest configuration

Add the ich9 audio device to your VM, remove any other virtual audio devices.

Open your VM’s XML configuration file in your favorite editor, most commonly done with a command like:
sudo EDITOR=nano virsh edit *vm_name*
Edit your XML as follows:

Now, start up the VM with the revised xml, and enjoy your working virtualized audio.

UPDATE: as of qemu 4.0, Patching is no longer necessary. Follow the standard audio guide on the Arch Wiki instead. You need an additional qemu argument to make the passthrough functional:

This will enable what the patch did previously.

Windows 10 Update

Do you do prefer software or hardware solutions for your VM audio? Let us know about it in the comments and our official Discord server.

Pulseaudio Equalizer Windows 10

Images Via Pixabay