Commit Graph

1218 Commits (95b7b44b6ff9057d56321cd05051dc81212d276d)

Author SHA1 Message Date
FlightlessMango d59375b0c9 amdgpu: add support for gpu_metrics_v2_3 2 years ago
FlightlessMango 22d374cc13 steam deck: fix fan speed 2 years ago
Leopard1907 1f841ef1a6 blacklist: Add Amazon client
Amazon Games App client needs this.
2 years ago
jackun 313abbe6a7
[OpenGL] Check GL_VENDOR too to determine GPU's vendor id
Try to fix #965
2 years ago
jackun 1055bc0c6c X11 keyboard poller thread 2 years ago
Hannes Mann 3cebc55a35 hud_elements: Show FPS limit method 2 years ago
Hannes Mann e1f41bbb92 glx,egl,vulkan: Limit FPS early or late depending on config 2 years ago
Hannes Mann f92c8b1b76 overlay_params: Add FPS limit method 2 years ago
Artem Polishchuk d323752d0b build: Fix building with GCC 13 2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years ago
Emil Velikov 5d53d0dcc3 meson: inline PROJECT_NAME in mangohud.json.in
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years 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>
2 years ago
FlightlessMango 06b46fd5d7 Fix building with mingw 2 years ago
FlightlessMango c64ff84007 horizontal/compact layout fixes + battery_watt/battery_time params 2 years ago
FlightlessMango 47f822f19c mangohudctl: reload_config variable in msg sctruct 2 years 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>
2 years ago
Emil Velikov 047bc2e7f7 tests: make it work aka hide HUDElements
Currently the test is pulling an external reference to HUDElements,
which is unresolved so the test fails to link.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
FlightlessMango d84c85609a overlay: position: bottom center 2 years ago
FlightlessMango 175493c89c horizontal: default to max width 2 years ago
FlightlessMango 8cf92ff8a6 overlay: horizontal_separator func 2 years ago
Alessandro Toia 3e136db6a8 gamepad: Change DS5 to DS4/5 as DS4 was added to hid_playstation in kernel 6.2 2 years ago
FlightlessMango d0f8c8aa94 mangoapp: control: rerload_config option 2 years 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>
2 years ago
Emil Velikov eecd451068 meson: build with -Werror=missing-declarations
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov eecf901aed hud_elements: remove unused LinearToSRGB
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov f1a86fe10f inject: drop unneeded declarations/function
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov 581b6b3375 meson: move util_files next to its user
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov 270beefdf3 meson: drop no_override_init_args
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov ef169bd28b meson: remove unused MANGOAPP_LAYER define
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov b714f54cd4 dbus: reshuffle HAVE_DBUS handling
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years ago
Emil Velikov 535c1f0a83 mangoapp: reshuffle ifdef MANGOAPP guards
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years 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>
2 years ago
Emil Velikov 8e1c389f22 mangoapp: split proto details into separate header
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2 years 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>
2 years ago
Alessandro Toia 7b255a8cbd blacklist: Add RSI Launcher.exe 2 years ago
FlightlessMango 3190778086 Don't update metrics if we're not logging and not displaying 2 years ago
FlightlessMango 475026a183 amdgpu: move defines to header 2 years ago
Alessandro Toia 87cc5c62fa vulkan: Remove unused VkPhysicalDeviceFeatures 2 years ago
Alessandro Toia 5d1877c2a3 Remove extraneous break 2 years ago
Kenton Groombridge ffa7048543 vulkan: fix implicit instantiation of 'std::basic_stringstream<char>'
Add a missing include to fix the following build error seen with clang
15.0.7:

../MangoHud-0.6.8/src/vulkan.cpp:1523:22: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
   std::stringstream ss;
                     ^
/usr/include/c++/v1/iosfwd:146:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
2 years ago
FlightlessMango 8450291777 vulkan: Do not modify pCreateInfo in CreateDevice 2 years ago
FlightlessMango 302ceaa3e6 logging: flush after each write 2 years ago
FlightlessMango 25b170d480 logging: change frametime to float 2 years ago
FlightlessMango d6c7b3c101 logging: write to file while logging 2 years ago
FlightlessMango f883e2cba1 set log_interval to 0 by default 2 years ago
azn1999 f7a1cc159c Fix FPS limiter
Note: the egl limiter is already correct
2 years ago
Alessandro Toia f6d980696d Fix not finding wine binary, with 64bit only wine 2 years ago
Alessandro Toia f76527d14f Revert "Fix reporting temp of AMD zen4 CPUs"
This reverts commit edac405d57.
Didn't actually fix the issue oops
2 years ago
FlightlessMango 0ae106dba5 hud_elements: remove extra '}' 2 years ago
Echo J ba7e2cb313 Logging: Switch to a different sleep function
This fixes a freeze with zink when automatic logging is enabled

I didn't test this on Windows, so please report any issues there
2 years ago
FlightlessMango 7c54ea819c params: exec_name: don't show unless enabled 2 years ago
FlightlessMango 99c72d30cf check for mangoapp_layer option for manifest 2 years ago
FlightlessMango abb5359cdd Blacklist: add gamescope
Co-authored-by: Valters <valters.tomsons@protonmail.com>
2 years ago
Alessandro Toia f7c3ec2072 Add redlauncher(CDPR) to blacklist 2 years ago
Alessandro Toia edac405d57 Fix reporting temp of AMD zen4 CPUs, zen4 doesn't use Tdie, use Tctl instead 2 years ago
Bitwolf a67ba60773 Blacklist GOG Galaxy 2.0
FPS counter appears in the client, it probably shouldn't.
2 years ago
FlightlessMango d4aa74c149 Create static and shared libs separately 2 years ago
FlightlessMango 6f23cdeaf1 mangoapp: meson option to install lib32 2 years ago
FlightlessMango 03d64e5afb params: exec_name 2 years ago
Alessandro Toia b2bcd889f0 Skip OpenGL impl if vulkan is loaded togther with zink or wined3d. 2 years ago
FlightlessMango e3995ffcbf mangoapp: compile using static mangohud_library 2 years ago
Alessandro Toia 7b248efef7 Check if libvulkan is loaded when opengl is also loaded and skip opengl rendering
Fixes #866 #852 issues with zink and multiple games using DXVK that load OpenGL for some reason
2 years ago
Alessandro Toia b61f83f522 Add lib_loaded function to check for current loaded libraries 2 years ago
Kurt Kartaltepe 1a3fa6e4ff overlay: Fixup device detection on intel GPUs
This resolves missing GPU names due to deviceID only being computed for
AMD gpus. It also filters out display adapters so there is less noise in
the logs when scanning cards.
2 years ago
FlightlessMango 7dee12a75a params: toggle_hud_position 2 years ago
FlightlessMango 61596104ce params: hud_compact default off 2 years ago
Alessandro Toia 5bf4091cdf Add window padding if hud_compact = 0 2 years ago
FlightlessMango ddbb4f5be1 intel: use json for parsing intel_gpu_top output 2 years ago
FlightlessMango f8ca49f627 allow for compact hud layout 2 years ago
FlightlessMango e38413b2d8 use intel_gpu_top for gpu stats 2 years ago
Zebediah Figura 2f01d15690 Bind a zero pixel unpack buffer if necessary when uploading fonts texture 2 years ago
FlightlessMango e6c5ff4a4b overlay.cpp: fixed renamed check metrics function 2 years ago
FlightlessMango cb7d2a2447 amdgpu tests 2 years ago
Gustavo Parreira 96f72e2352 fix: Look for NAVI in device name for AMD GPUs 2 years ago
Vir Chaudhury c670203a5b add logging for when the OpenGL context fails to initialize 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
Deis Dupeyron b46908bdbc src/battery.cpp: fix getTimeRemaining for energy_now 2 years ago
FlightlessMango ebb0f969de params: don't enable hud_no_margin and log_versioning with full 2 years ago
FlightlessMango a76e8a26f5 hud elements: battery: adjust remaining time for normal and horizontal view 2 years ago
FlightlessMango 57c4e4e6c2 increase width based on table_columns 2 years ago
FlightlessMango bc89947df0 hud_elements: battery: don't show plug or watt in horizontal 2 years ago
FlightlessMango 4f49ffea7b frame_timing: minor adjustments for horizontal and mangoapp 2 years ago
FlightlessMango 3949c6c87f amdgpu: change cpu/gpu temps from max to avg 2 years ago
MasterDevX 99f0e4139c Add support for it8603 sensor 2 years ago
FlightlessMango d0a1c4ea07 horizontal view and hud_no_margin 2 years ago
jackun dcabe6b33f
Explicitly include array 2 years ago
jackun 021df9b932
`env -u` doesn't affect "piped" commands, use `unset` instead 2 years ago
jackun a05dd84bf5
Don't use unsetenv in `exec`
Hopefully fixes #809
2 years ago
Alessandro Toia 08431a0221 Fix reporting amdgpu clock speed 2 years ago
FlightlessMango 5f43fcd121 logger: control: use hudelements 2 years ago
FlightlessMango e9a7865a90 logger: reinit on config reload 2 years ago
tisim 732439b8e6 changing Logger class from struct pointer to 3 variables
removing commented line of code
2 years ago
jackun 85007fe0bd
Use separate font atlas for vulkan
vkCreateSwapchainKHR and vkQueuePresentKHR may share the same ImGui context accidentally and
vkCreateSwapchainKHR might (re)create font image and destroy old font atlas while vkQueuePresentKHR is still rendering :(
2 years ago
FlightlessMango 14dcd153ae control: send msg when log stops 2 years ago
FlightlessMango ef4ace2e2a logging: versioning 2 years ago
Alessandro Toia 52c24afae9 Don't check for conf file if blacklisted 2 years ago
jackun 05133ae3cd
When `pci_dev` is set, don't skip AMD gpu if device id doesn't match 2 years ago