-
Notifications
You must be signed in to change notification settings - Fork 69
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
add Mumble overlay support #1008
base: beta
Are you sure you want to change the base?
Conversation
Started test build 6779 |
Build 6779 successful
|
I think this can be solved by packaging the Mumble overlay as an extension for the Steam flatpak app, e.g. |
That is great! I see that in my installation I have it under: What do you think it's the better approach? Should we also include the OpenGL library in the extension? |
AFAICT Mumble Overlay has its own wrapper command |
yeah, that wrapper is in dire state. It merely finds |
ok, i built my first yaml manifest and it effectively extends Steam with the mumble's library! It installs it in One thing is not clear, tho: can I only this configuration?
If i don't use the beta branch i get
|
You need to specify |
Yeah sorry. That indeed fixed it. |
That'll make sense when/if the upstream accepts your patches. |
- --filesystem=xdg-run/app/com.discordapp.Discord:create | ||
- --device=all | ||
- --device=shm |
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.
I suppose this conflicts with --allow=per-app-dev-shm
Also, given this permission is pretty unsafe (many apps use /dev/shm
for IPC), are you sure it's strictly required for the overlay to work? If it communicates via a socket in $XDG_RUNTIME_DIR
, what does it need /dev/shm
for?
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.
Okay, I investigated a little and found that the shared memory is used by the overlay to retrieve the image rendered by the Mumble client. We are talking about ~3.7MB of data in shared memory.
As far as I know that is read at least (if not more) every time the overlay and the resolution change.
Metadata for that image is sent through a local socket. I am now trying to understand if it's feasible and a good idea (performance-wise) to move everything to the socket. That includes being able to use the overlay in multiple games, simultaneously
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.
Over here I have implemented a new protocol for the overlay: https://github.com/carlocastoldi/mumble/tree/socket-overlay-chunked
at the moment it works with /tests/OverlayTest
, but if I have a positive feedback upstream I indend to move it to the actual overlay library as well
For anyone interested and for the time being, I've published my unofficial extension for Steam over at: https://github.com/carlocastoldi/com.valvesoftware.Steam.Utility.MumbleOverlay |
adds access to
$XDG_RUNTIME_DIR/mumble
in order to allow Mumble overlay in games installed with flatpak'ed Steam.Shared memory is required as well, so I added
--device=shm
as, to my testing, it is not included in--device=all
Fixes: #997
Depends on: mumble-voip/mumble#5961
It's worth noting that this PR is not enough for having the overlay on Steam. An user has to manually copy overlay libraries in flatpak'ed Steam's directory because
/lib
and/lib32
are not accessible. For example:cp /usr/lib/mumble/libmumbleoverlay.x86.so /home/$USER/.var/app/com.valvesoftware.Steam/.local/share/Steam/linux32
and then proceed by setting the game launch options to: