-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pulseaudio remote #395
Pulseaudio remote #395
Conversation
c54d6c0
to
5f5955e
Compare
5f5955e
to
9509a4d
Compare
9509a4d
to
a2faef1
Compare
a2faef1
to
b081db3
Compare
b081db3
to
65ca4cd
Compare
This comment was marked as resolved.
This comment was marked as resolved.
Started building... |
65ca4cd
to
d660355
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested pamixer options on gui-vm while playing youtube video. Mute/unmute and setting volume seems to work fine from gui-vm.
However, I noticed some clear glitches in the sound while listening music. Compared also to my work laptop Lenovo T14 in the same home network, playing the same youtube video on chromium. What could be causing the bad audio quality in ghaf?
I couldn't launch Gala app, neither from command line. Other apps launch. Need to check still if this is specific to this PR or just inherited from the mainline.
Its hard to say what is causing the glitches in the sound but Pulseaudio is known of not being really resource friendly and playback over a network connection from one vm to another is not ideal either. I could tweak the latency settings of Qemu-pulseaudio backend but i guess we are moving to pipewire anyway at some point so I don't see too much point spending the time playing with pulseaudio. |
I noticed now that Mika had reported already in November bug about NixOS 23.11 causing Gala not to launch. @josa41, maybe you had built a version with NixOS 23.05? |
Yes i had the older Nixos version. I updated and rebuild now, will test shortly. |
317d7c9
to
c014c90
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chromium app test stops working, it seems it's not possible to connect to chromium-vm:
==============================================================================
Test-Suites
==============================================================================
Test-Suites.Bat-Tests :: To be executed only for BAT tests
==============================================================================
Ghaf version: 24.03
Nixos version: 23.11.20231210.781e2a9 (Tapir)
Test-Suites.Bat-Tests.Apps :: Testing launching applications
==============================================================================
Start Chromium on LenovoX1 :: Start Chromium in dedicated VM and v... Connecting to Ghaf Host
Connecting to NetVM
Connecting to gui-vm.ghaf
Starting chromium
Connecting to chromium-vm.ghaf
Killed processes: ['']
| FAIL |
ChannelException: ChannelException(2, 'Connect failed')
------------------------------------------------------------------------------
c014c90
to
a60e5fb
Compare
Fixed, I accidentally cleaned too much of networking code for audio-vm and pulseaudio connection from host to audio-vm was lost in the process. |
a60e5fb
to
19d566b
Compare
Tested these:
In performance tests all 1-thread results are at normal level but there are some difference in multi-thread tests compared to ghaf mainline. Probably this is expected when new VMs are introduced. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works functionally, tested again with the latest changes. I see this as an intermediate iteration that enables audio-vm functionality and infrastucture. There are minor issues (pa audio glitches, variables for IP-addresses in audio-vm declaration) but I don't see them blocking. I think the main gain of this PR is that this enables an implemented baseline to discuss and redefine the next gen audio architecture for Ghaf.
Yes, and as Jon earlier noted the playback speed of audio is out of sync. With a 4min youtube video I measured 16% faster playback time compared to external timer. |
19d566b
to
4799a6f
Compare
Initial setup for AudioVM with pulseaudio - Sound card passthrough to AudioVM - Appvms use qemu virtual sound card - Connections over Pulseaudio TCP - Change volume toggle mute etc working from GuiVM - Set default max volume level to a bit more reasonable level Signed-off-by: Jon Sahlberg <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Integrated speaker/microphone not working. I didn't have now USB headset available but Milla had already tested with that USB headset audio/mic works.
- Audio/video playback speed. ok
- ci-test-automation, ok
- launching apps, ok
- performance, ok
Initial documentation for Audio virtual machine to separate the audio data away from host. Audio stream is routed through host over a virtual sound card to separate the virtual machines from eachothers audio streams. Signed-off-by: Jon Sahlberg <[email protected]> Signed-off-by: Ville Ilvonen <[email protected]>
4799a6f
to
14eee95
Compare
Description of changes
Initial Passthrough of Sound card for Lenovo X1 with pulseaudio backend for chromium
ADR documentation for the current implementation
Checklist for things done
x86_64
aarch64
riscv64
nix flake check --accept-flake-config
and it passesTesting
Chromium VM sound playback works on Lenovo X1
GuiVM can control pulseaudio with pamixer (or similar tool)
For GuiVM audio control: