Sound while in looking glass: How to get it to work properly in November 2020

Hi there fellow humanz!
Greetings out of the Shutdown in Germany.

Looking Glass finally behaves as it should for me but I can’t get sound to run using the two options on the Looking Glass Website.

I have a feeling that some tutorials for Scream on Looking Glass may be out of date. Is there anything newer out there? (I couldn’t find anything with Scream 3.6 for instance)

On top of that trying to follow the guide as best as possible leaves me with a broken Looking Glass if I add the Scream IVSHMEM device to the XML. I suspect this might be Scream highjacking the “lane” (can’t think of the correct term) that Looking Glass is supposed to use.

As soon as I remove the device again Looking Glass finds the Server again.

Any tips? Maybe I missed a step?
I am using qemu 5.1 (I might be wrong on that though as I compiled it from scratch I think maybe it’s older as well) with a Linux Mint 20 installation on a 5.9.1 kernel. I am also administering the VMs with Virt-Manager.

Greetings and stay healthy

goldsteal

1 Like

Yes. It is. It is taking the IVSHMEM device that Looking Glass uses.

Read this section of the Looking Glass wiki: https://looking-glass.io/wiki/Installation#A_note_about_IVSHMEM_and_Scream_Audio

TLDR: Use Scream over the network rather than Scream over IVSHMEM.

I want to do that. Is there any up to date guide for doing that. I struggle to create the correct network device to do this.

Thanks for answering my seemingly endless questions btw @TheCakeIsNaOH :smiley:

I would suggest using the instructions from the readme of the git repository.

Followed the video, scream does not automatically start on host and even if I start it manually still no sound.

I have no idea what to do now… Maybe I bungled something trying to get it to work by hand?

Anyone any troubleshooting ideas? I am completely out of my depth here I think…

I’ve used Scream some time ago in Manjaro, because audio through spice wasnt working for me. But then i was fixed after one of updates so I stopped using scream. However I still have setup for that in my host and VM. So maybe this will help:

In guest you have to tell Scream not to use IVSHMEM:
HKEY\SYSTEM\CurrentControlSet\Services\Scream\Options
Dont_UseIVSHMEM = DWORD(0x2)

In host to start service automatically, you have to make systemd user level service. Create file like that, if you use pulseaudio:


[Unit]
Description=Scream network pulse reciever
After=pulseaudio.service
Wants=pulseaudio.service

[Service]
Type=simple
ExecStart=/usr/bin/scream-pulse -i virbr0

[Install]
WantedBy=default.target


And then symlink it to the systemd config… Usually:
$HOME/.config/systemd/user/scream-network.service

You should be able to do from user privileges:
systemctl --user start scream-network

And checking “systemctl --user status scream-network” should give you info that it is “Active: active (running)”

Also you may want to try to use unicast, maybe with better luck:

Edit: Added interface as argument. Needed with multicast when your VM is on virtual net instead standard bridge.

1 Like