Mumble is an open-source, low-latency, high quality voice chat software.
Go to file
Davide Beatrici 4fc7df5dde FEAT: Improve OSInfo so that architecture and OS are properly reported
This originally started as a Linux-only improvement (support for "/etc/os-release"), but it became pretty clear that OSInfo was not in a pretty state.

Please note that the auto-update system is not affected, because it doesn't rely on OSInfo.

The most important change involves the OS name.
Before this commit we had "Win32", "WinX64", "OSX" and "X11". The latter was particularly misleading now that Wayland is a thing.
We now have "Windows", "Linux", "macOS", "FreeBSD", "NetBSD", "OpenBSD", "BSD", "UNIX" and "Unknown".

The second most important change is the way we retrieve the version on OSes other than Windows and macOS.
OSInfo had several methods, but none was aware of "/etc/os-release". We initially wanted to implement a new method, to be used as primary, that gathers info from that file.
However, we later realized we can just use QSysInfo because it does exactly what we planned to do on our own.
The reason why we're retaining our own methods for Windows and macOS is because they're MUCH more descriptive. For example, the build number is not in the strings returned by QSysInfo.
In order to make the code easier to read, the parts that handled versions of Windows we no longer support is removed.

The final change is about the info that is sent to our server.
"is64bit" was set to the correct value on all platforms except for Windows, because IsWow64Process() returns true only when the process is 32 bit and running on a 64 bit OS.
"arch" and "osarch" are introduced and represent the architecture of the program and the OS, respectively. "is64bit" is removed as it's now redundant.
"osverbose" is also introduced and represents the full operating system version.
2021-02-12 08:27:15 +01:00
.ci CI(windows): Fix build number fetching script 2021-01-29 11:19:20 +01:00
.github Merge pull request #4597: MAINT: Fix PR template not working 2020-12-01 18:07:41 +01:00
.tx Add transifex client configuration for project. 2014-04-27 03:20:48 +02:00
3rdparty FEAT(client): load PulseAudio at runtime 2020-09-13 20:12:54 +02:00
3rdPartyLicenses scripts/mklic.pl, 3rdPartyLicenses: add libffi license. 2018-02-11 11:54:20 +01:00
cmake DOCS: fixed typos 2021-01-20 22:17:38 +01:00
docs Merge pull request #4692: DOCS: Added notes how to build specific versions/commits. 2021-01-17 11:14:46 +01:00
g15helper BUILD(versioning): Make use of the 4th part (build/tweak) of the version 2021-01-06 19:42:48 +01:00
helpers/vcpkg/ports/zeroc-ice DOCS: Restructure and include build-documentation 2020-10-12 08:16:01 +02:00
icons MAINT: Added Mumble PNG image 2020-10-18 09:15:58 +02:00
installer FIX(installer): Change version regex so that it accepts multiple digits 2021-02-08 00:01:07 +01:00
macx BUILD(macOS): Only include ".dylib" files in bundle's "Plugins" directory 2020-12-24 02:27:13 +01:00
man DOCS(man): Add missing options from help messages to man pages 2020-08-20 00:04:29 +02:00
overlay BUILD(versioning): Make use of the 4th part (build/tweak) of the version 2021-01-06 19:42:48 +01:00
overlay_gl BUILD(cmake): Fix overlay link option being overwritten 2.0 2020-12-18 09:58:20 +01:00
overlay_winx64 BUILD(versioning): Make use of the 4th part (build/tweak) of the version 2021-01-06 19:42:48 +01:00
plugins FIX(positional-audio): Update Among Us plugin to work with v2020.12.09s 2021-01-01 21:16:18 +01:00
samples Add sound for recording state change notifications 2010-08-25 23:24:37 +02:00
screenshots MAINT(docs): the Game bar trigger must be disabled for the guide button to work 2020-10-10 21:08:22 +02:00
scripts DOCS: fixed typos 2021-01-20 22:17:38 +01:00
src FEAT: Improve OSInfo so that architecture and OS are properly reported 2021-02-12 08:27:15 +01:00
themes FEAT(client): Indicate talking users when locally muted 2020-07-02 17:29:05 +02:00
.cirrus.yml CI: Update to FreeBSD 12.2 2021-02-10 19:33:12 +01:00
.clang-format MAINT: Added clang-format support 2020-09-11 18:28:38 +02:00
.gitignore MAINT: Ignore compile commands DB 2020-11-16 07:58:14 +01:00
.gitmodules BUILD(qmake): Remove 2020-09-02 08:29:45 +02:00
.mailmap Added aliases of Robert Adam 2020-01-28 12:47:16 +01:00
.travis.yml REFAC(ci): move scripts to dedicated ".ci" folder 2020-07-18 00:18:25 +02:00
AUTHORS AUTHORS: update via scripts/generate-AUTHORS.py. 2020-01-10 22:33:25 +01:00
CHANGES Update AUTHORS and CHANGES. 2016-12-23 09:27:14 +01:00
CMakeLists.txt BUILD(versioning): Make use of the 4th part (build/tweak) of the version 2021-01-06 19:42:48 +01:00
COMMIT_GUIDELINES.md MAINT: Fix type examples to consistent tense in commit guidelines 2020-12-30 10:12:53 +01:00
Dockerfile MAINT: Reduce Docker size image 2020-12-02 09:31:09 +01:00
Doxyfile Doxyfile: set "EXTRACT_ALL" to "YES" 2019-12-26 20:27:52 +01:00
LICENSE LICENSE, LICENSE.header: add 2020 to the copyright range 2020-01-07 02:54:50 +01:00
LICENSE.header LICENSE, LICENSE.header: add 2020 to the copyright range 2020-01-07 02:54:50 +01:00
README.md MAINT: Link commit guidelines in README 2020-12-09 19:43:59 +01:00
SECURITY.md Add link to advisories in SECURITY.md 2020-05-31 16:39:12 +02:00
sonar-project.properties Travis CI: add SonarCloud integration for static code analysis 2019-06-29 00:41:35 +02:00

Mumble screenshot

Mumble - Open Source voice-chat software

https://www.mumble.info

#mumble:matrix.org #mumble@freenode.net

Codacy Azure Cirrus CI Travis CI

Mumble is an Open Source, low-latency and high-quality voice-chat program written on top of Qt and Opus.

There are two modules in Mumble; the client (mumble) and the server (murmur). The client works on Windows, Linux, FreeBSD and macOS, while the server should work on anything Qt can be installed on.

Please note that with "Windows" we mean 7 and newer. Vista may be supported, but we can't guarantee it. If you don't want to encounter potential issues, you may download Mumble 1.3.x, the last version to provide support for XP.

The documentation of the project can be found on the wiki. The FAQ can also be found there.

Contributing

We always welcome contributions to the project. If you have code that you would like to contribute, please go ahead and create a PR. While doing so, please try to make sure that you follow our commit guidelines.

Building

For information on how to build Mumble, checkout the dedicated documentation.

Reporting issues

If you want to report a bug or create a feature-request, you can open a new issue (after you have checked that there is none already) on GitHub.

Windows

Running Mumble

After installation, you should have a new Mumble folder in your Start Menu, from which you can start Mumble.

Running Murmur

Doubleclick the Murmur icon to start murmur. There will be a small icon on your taskbar from which you can view the log.

To set the superuser password, run murmur with the parameters -supw <password>.

MacOS

Running Mumble

To install Mumble, drag the application from the downloaded disk image into your /Applications folder.

Running Murmur

Murmur is distributed separately from the Mumble client on MacOS. It is called Static OS X Server and can be downloaded from the main webpage.

Once downloaded it can be run in the same way as on any other Unix-like system. For more information please see the "Running Murmur" in the Linux/Unix section below.

Linux/Unix

Running Mumble

If you have installed Mumble through your distributon's package repostory, you should be able to find Mumble in your start menu. No additional steps necessary.

Running Murmur

Murmur should be run from the command line, so start a shell (command prompt) and go to wherever you installed Mumble. Run murmur as

murmurd [-supw <password>] [-ini <inifile>] [-fg] [v]

-supw   Set a new password for the user SuperUser, which is hardcoded to
        bypass ACLs. Keep this password safe. Until you set a password,
        the SuperUser is disabled. If you use this option, murmur will
        set the password in the database and then exit.

-ini    Use an inifile other than murmur.ini, use this to run several instances
        of murmur from the same directory. Make sure each instance is using
        a separate database.

-fg     Run in the foreground, logging to standard output.

-v      More verbose logging.

OpenGL Overlay

The OpenGL overlay works by intercepting the call to switch buffers, and just before the buffer switch, we draw our nice GUI.

To load a game with the overlay enabled, start the game like this: LD_PRELOAD=/path/to/libmumble.so.1.1 gamename

If you have Mumble installed through the binary packages, this can be done by simply typing: mumble-overlay gamename