Commit Graph

158 Commits (master)

Author SHA1 Message Date
flightlessmango a41e8e0d1f meson: can't build mangoapp without x11 1 month ago
flightlessmango 01b81d068b meson: compile opengl files regardless of x11/wayland 1 month ago
flightlessmango 3c743a9e92 param: exec: rewrite exec
This rewrites the exec function to have a persistent
shell. This should reduce or even fix frame time spikes
when updating outputs
1 month ago
flightlessmango a4862f5461 param: network
This param shows the throughput in kb/s for each interface or for
user specified interfaces
2 months ago
Etaash Mathamsetty 732629e5a0 Implement Wayland hotkeys 3 months ago
PedroHLC ☭ cba217ffaf meson: add dep_vulkan to mangoapp and test_amdgpu 3 months ago
John Zimmermann cfc51ec99f meson: allow setting absolute path instead of 'Dynamic string tokens'
resolves #601
4 months ago
Ryan Houdek 267a431eef Implement support for Adreno GPUs through the msm kernel interface
Tested in both OpenGL and Vulkan and it gets the GPU load percentage
correctly.
4 months ago
FlightlessMango e85c580de3 implot: set default library static 7 months ago
John Zimmermann 23c9b50742 meson: fallback to project_version() without git
resolves #1131
8 months ago
FlightlessMango 84caba707a subproject: implot 8 months ago
Alessandro Toia 17d4541980 device: switch gamepad_battery to device_battery and allow to enable mouse or gamepad or both 8 months ago
FlightlessMango d5ca00717e windows: don't include intel.cpp 9 months ago
FlightlessMango e60b625fd0 meson: check for glslang bin as well 10 months ago
FlightlessMango f38cc78996 add --version to mangohud script 10 months ago
FlightlessMango dc1761e98a static link stdc++ 10 months ago
FlightlessMango 602ba78ea3 Split library into vulkan and opengl parts.
This has caused a lot of issues because when preloaded the vulkan hooks
will still initialize even tho it's an OpenGL application.
This will subsequently crash the application.
The solution is to split the vulkan and opengl parts into two separate
shared libraries.
10 months ago
FlightlessMango 5754ca13ee vulkan manifest: set cpu_family in layer name 1 year ago
FlightlessMango b8bd09d638 More windows fixes 1 year ago
Emil Velikov 1b3f8b29bc meson: restrict most libMangoHud.so symbols
With the introduction of the static library, we forgot the version
script. As a result we were spilling all the internal symbols.

Fixes: d4aa74c ("Create static and shared libs separately")
Closes: https://github.com/flightlessmango/MangoHud/issues/933
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
1 year ago
Emil Velikov 80d394c0cd meson: make libMangoHud.so append_libdir_mangohud aware
The library does not honour the correct install location. Seems like it
was broken for a while and I didn't catch it with my recent rework...
Since all the scripts flip the default "true" to "false" 🤦

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
1 year ago
Emil Velikov 5c86369758 meson: explicitly annotate version.h as dependency
Currently we list the custom_target (aka vcs_tag() as part of the
sources. Although since it's not an explicit dependency meson/ninja are
free to compile the C/C++ files, before the file is generated.

Closes: https://github.com/flightlessmango/MangoHud/issues/862
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
1 year ago
Emil Velikov f47f777e26 meson: unwrap ld_libdir_mangohud handling, remove ld_libdir_abs
Currently we have ld_libdir_abs which defaults to false. In that case,
both the mangohud shell wrapper, as well as the json files, reference
the DSOs directly without any path component.

This means that at run-time the dynamic linker, vulkan loader as well as
pressure-vessel will need to jump through hoops and figure out the
bitness of the DSO, whether one wants the 32 or 64bit one and even then
there will be confusing messages like:

fatal: /usr/lib/libMangoHud.so: wrong ELF class: ELFCLASS32

When set to true, as seen in the in-tree build.sh we'll append empty
path to LD_LIBRARY_PATH (bad), the full path with the $LIB token will be
used with LD_PRELOAD (good) and json files (bad).

Since we are generating separate json files, we can use the actual path
(while $LIB currently works, it's not really strict json nor documented
as supported). We can also drop the dubious LD_LIBRARY_PATH manipulation

This basically reinstates the prepend_libdir_vk=true option that was
dropped earlier.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov dd374d4c9e meson: remove prepend_libdir_vk option
The option is always true for all distributions that build Mangohud.
While only the in-tree PKGBUILD disables it for undocumented reasons.

In practise the option will be enabled across the board - in different
manner, with latter commit. But for now, just remove it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 491510d41c meson: produce per cpu_family json files
This will allow us to remove the $LIB from the json files and simplify
the related lib handling.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 5d53d0dcc3 meson: inline PROJECT_NAME in mangohud.json.in
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov def59db953 meson: remove ld_libdir_prefix option
The option defaults to false in-tree and across all distributions. The
only alleged use-case is the build.sh/build-srt.sh scripts. Although the
output of those scripts is absolutely identical with or w/o the flag.

Remove it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 08c26d595f meson: do not pick system vulkan, when explicitly disabled
For this to actually work, we also need to set dep_vulkan for all users.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 221d335006 meson: remove mangoapp_32bit option
Was introduced as a means to shorten the build cycles. With the static
lib helper it should no longer be needed.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 581b6b3375 meson: move util_files next to its user
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 270beefdf3 meson: drop no_override_init_args
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov ef169bd28b meson: remove unused MANGOAPP_LAYER define
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov da219457e5 mangoapp: control.cpp -> control.c
There's nothing C++ in there, so rename the file appropriately.

While in there, use C99 initializers, annotate static functions as
such and pull the implicit stdbool.h.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 8a1c56ba25 meson: remove broken -Dwith_dlsym
The option does not even build, so let's remove it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
FlightlessMango 99c72d30cf check for mangoapp_layer option for manifest 1 year ago
FlightlessMango d4aa74c149 Create static and shared libs separately 1 year ago
FlightlessMango 6f23cdeaf1 mangoapp: meson option to install lib32 1 year ago
FlightlessMango e3995ffcbf mangoapp: compile using static mangohud_library 1 year ago
FlightlessMango ddbb4f5be1 intel: use json for parsing intel_gpu_top output 1 year ago
FlightlessMango e38413b2d8 use intel_gpu_top for gpu stats 2 years ago
Stephan Lachnit b8b6d61b25 Build mangoapp and mangohudctl for any CPU architecture
On 32-bit-only machines, building these for the 32-bit architecture makes sense.

Signed-off-by: Simon McVittie <smcv@debian.org>
2 years ago
jackun e5d52c202e
Add meson install_tags, bump meson to 0.60 2 years ago
jackun 50720d2215
Install data files only if `include_doc` option is set 2 years ago
Stephan Lachnit 5709832576 Install MangoApp layer into libdir_mangohud
This makes the installation path adapt correctly to the value of
the append_libdir_mangohud option, which defaults to putting it in a
subdirectory ${libdir}/mangohud. Without this, the path in the JSON
manifest (which does respect append_libdir_mangohud) is inconsistent
with the actual location of the library.

Resolves: https://github.com/flightlessmango/MangoHud/issues/795
Co-authored-by: Simon McVittie <smcv@collabora.com>
2 years ago
jackun 39ba57daa1
s/is/are/g 2 years ago
jackun 8a628e6a77
Rename GL files to avoid some confusion with upstream Dear ImGui files 2 years ago
FlightlessMango 4341843117 nlohmann_json wrap 2 years ago
FlightlessMango 7df8918c42 mangoapp: layer: append libdir to json 2 years ago
jackun 11142b5b2c
Merge pull request #703 from evelikov/misc-mixes
Remove libdrm_amdgpu and other unnecessary code
2 years ago
FlightlessMango b064f47d66 mangoapp: vulkan layer 2 years ago