Giter Club home page Giter Club logo

Comments (8)

martinellimarco avatar martinellimarco commented on September 3, 2024 7

Today a reddit user asked me if it was possible to have IVSHMEM from linux guest to linux host because in his particular case the network option was not viable so I hacked together this linux transmitter for pulseaudio.
It's far from feature complete, it doesn't support the network mode at all (pulseaudio can do that on it's own) and at the moment it handle only one default channel mapping, but I hope it's useful to others so I'm leaving it here.

from scream.

LeonardoCurvelo avatar LeonardoCurvelo commented on September 3, 2024 1

@tadly I have been sending Linux audio to a Windows receiver for years now, this is my setup:

  1. Windows:
    1a) Download pulseaudio for Windows (http://bosmans.ch/pulseaudio/pulseaudio-1.1.zip)
    1b) Open the default.pa file with notepad++ and add this line:
    load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
    1c) Run pulseaudio.exe
    1d) Make a shortcut for it on the special "shell:startup" folder to auto-start it (optional)

  2. Linux:
    2a) Option 1: open a terminal, type in (if you use a bash-compatible shell):
    PULSE_SERVER=192.168.xxx.xxx firefox
    To run firefox, for example, pointed at your Windows IP address, and the audio will be routed through it in real time.
    You can, for example, set this as a global shell variable on the environment, and you won't need to specify the PULSE_SERVER manually.
    2b) Option 2: open /etc/pulse/client.conf and add or alter this line:
    default-server = 192.168.xxx.xxx

Replace 192.168.xxx.xxx with your Windows IP, obviously.
If everything is ok, it should work right away.

from scream.

pgaskin avatar pgaskin commented on September 3, 2024 1

I have an up-to-date patched PulseAudio build for Windows. It works well with networked audio via module-native-protocol-tcp, and I've been using it with module-tunnel-sink-new over WiFi for a while.

from scream.

duncanthrax avatar duncanthrax commented on September 3, 2024

No, the driver is only available on Windows.

AFAIK, Linux has no common kernel-space sound subsystem. There's ALSA, OSS, pulse ... There are a couple of ways to send audio from Linux to other systems. First come to mind is the multicast RTP sink for PulseAudio. You can receive that with any RTP audio sink, e.g. VLC.

from scream.

tadly avatar tadly commented on September 3, 2024

@duncanthrax To bad. Was really hopeful for a sec. :)
AFAIK there's only OSS and alsa in regards to kernel-space.

From the wonderful arch-wiki:

The Advanced Linux Sound Architecture (ALSA) provides kernel driven sound card drivers. It replaces the original Open Sound System (OSS).

Hence OSS should be considered legacy/deprecated anyways IMO.

Pulse, Jack and even the upcoming pipewire project are all user-space.
What I'm trying to say is, focusing on alsa would be enough when it comes to kernel-space.
That said, I do not know how scream is implemented and when it comes to audio in general my knowledge is very limited. I know that only one app at a time can use alsa (one reason for why pulse etc. exist).

@LeonardoCurvelo Before my HW wired setup I was playing with pulse as well but didn't like it much.
It felt to bloated and for me it wasn't all that stable either.

from scream.

khseal avatar khseal commented on September 3, 2024

Need sender stream for screamer based alsa.
I use and windows and Linux. Sending sound to the router. No sound in Linux is sad.

from scream.

notusedanymore2 avatar notusedanymore2 commented on September 3, 2024

@martinellimarco Will there ever be a similar thing but Linux host to Windows guest, via low-latency IVSHMEM?

from scream.

martinellimarco avatar martinellimarco commented on September 3, 2024

@minmossi I think it is a bit out of scope for Scream, but it's not impossible to do. I don't really have the time to work on something like this at the moment, but who knows, if there is enough interest I may work on it in the future.

from scream.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.