FlightlessMango
4fd1c5f3e7
Fixed some basic errors
2020-08-02 08:25:04 +02:00
FlightlessMango
9445ab4acc
Warning that permit_upload = 0
2020-08-02 01:19:25 +02:00
FlightlessMango
6a443f35ac
Upload multiple logs
2020-08-02 01:10:21 +02:00
jackun
b07db5d3ef
[dbus] Don't clear metadata when reloading config file
2020-07-31 23:05:50 +03:00
jackun
fc62624b7b
Recalculate right alignment offset if font scale changes
2020-07-31 22:51:55 +03:00
flightlessmango
c046c250d8
Merge branch 'develop' into benchmark-percentages
2020-07-23 11:16:59 +00:00
jackun
5ce6bcb79c
Set target frametime only if fps_limit > 0
2020-07-17 01:14:09 +03:00
jackun
55430d7571
Initialized fps limiter or wait for 300 years
2020-07-17 00:41:09 +03:00
jackun
bb50e6a637
[dbus] Use "xesam:url" to force metadata update
...
If file has no other metadata, clear old metadata by using
"xesam:url" to detect new file being played.
2020-07-16 14:24:03 +03:00
jackun
f74b4bccd9
[dbus] always update metadata if no forced player
...
Otherwise it stays in "paused" state if resuming play.
2020-07-16 14:22:00 +03:00
jackun
d581a9ce2b
Merge pull request #264 from larskraemer/media_player_autodetect
...
Media Player autodetect
2020-07-16 14:02:32 +03:00
Stephan Lachnit
acf2d88fbc
Import Dear ImGui files as subproject
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-07-09 00:55:10 +03:00
Lars Krämer
a393c05829
Fix auto-switching bug
...
Debug output under ifdef NDEBUG
2020-07-07 01:29:37 +02:00
Lars Krämer
6dd08c89bc
Use fallback only if no player was requested;
...
Request no player by default
2020-07-07 01:29:37 +02:00
Lars Krämer
9a34b55498
Move interactions with main_metadata into separate functions
...
More tidying up of the helper classes
2020-07-07 01:29:35 +02:00
Lars Krämer
7cc76142f1
Tidy up DBus helper classes
...
make sure metadata is up-tp-date when switching players (WIP)
2020-07-07 01:28:04 +02:00
Lars Krämer
72b86b4371
Fix some weird behaviour with non-spotify media players
...
Add DBusMessage_wrap to wrap/hide some dbus_message_* calls
2020-07-07 01:28:04 +02:00
Lars Krämer
6484e09f01
Implement wrapper class for DBusMessageIter
...
Implement for_each-style helpers for common constructions
Reimplement most of the DBus message parsing in terms of these
2020-07-07 01:28:04 +02:00
Lars Krämer
4bf7a3f2f0
Make DBus signal handling more event-based
2020-07-07 01:28:04 +02:00
Lars Krämer
5850643db4
Change the media player functionality to allow changing active media
...
player
2020-07-07 01:27:46 +02:00
larskraemer
a28931ef6b
General cleanup ( #272 )
...
* Cleanup unused struct fields, use uniform include guards
2020-07-06 20:31:40 +03:00
flightlessmango
eafa62356b
Merge branch 'develop' into benchmark-percentages
2020-06-30 04:39:08 +02:00
jackun
8eba5e2ed2
[OpenGL] Use GL_R8 for font textures
...
Randomly getting squares with GL_ALPHA for some reason
2020-06-30 02:06:01 +03:00
Lars Krämer
0b29a7ea06
Remove conflict in render_imgui
2020-06-29 16:43:25 +02:00
Lars Krämer
329725c134
Move Log uploading; Cleanup
2020-06-29 16:33:21 +02:00
Lars Krämer
4101237fdd
Move logging functionality into a class
2020-06-29 16:33:17 +02:00
jackun
5fe5ac5f3d
Build script and fixes for Steam Runtime SDK
2020-06-29 17:30:45 +03:00
jackun
c63037efb5
Use 1-channel font textures; glyph ranges support; vulkan image descriptors and "helper" functions
...
* To save some memory, use just 1-channel alpha-only textures
* Add some sort of wider glyph ranges support
* Chop single-ish vulkan font image uploading function into separate reusable helper functions
* Use descriptor set for ImTextureID but probably use texture array and push constants for "fast-path" if need arises
2020-06-29 17:15:50 +03:00
jackun
e0832c7e02
Re-add config file watch in case of IN_DELETE_SELF
2020-06-29 14:38:47 +03:00
jackun
068157f3d8
Fix cpu fallback temp sensor logic
...
Break the for loop either way so `path` still points to sensor module's hwmon folder.
2020-06-25 17:29:26 +03:00
jackun
62efa4acc4
[OpenGL] Simplify if check
2020-06-25 16:51:24 +03:00
jackun
d0999ab01b
[OpenGL] Workaround: Merge version and shader strings for Feral games
...
FIXME: GLAD loads Feral's version of glShaderSource,
2020-06-25 16:51:24 +03:00
jackun
2db83f4e18
[OpenGL] Check if font texture is valid and regenerate if not
2020-06-25 16:51:14 +03:00
Lars Krämer
20221217d4
Frame-timing using chrono
2020-06-24 20:14:24 +02:00
Lars Krämer
22026cbc60
Create MesaClock class, use chrono classes for time points/durations
2020-06-24 14:41:34 +02:00
Kingsley McDonald
0e1fe708c8
make use of new float parsing function
...
i've also moved the input validation checks to the config parser, so that
warnings aren't displayed in the terminal output every time a benchmark is
run with an invalid percentile entry.
2020-06-23 19:01:55 +01:00
Kingsley McDonald
979c4d32ca
oops! i didn't save changes from the merge conflict >.<
2020-06-23 18:51:51 +01:00
Kingsley McDonald
aa77a351de
implement configurable benchmark percentiles.
2020-06-23 18:46:43 +01:00
jackun
0d03b5a150
meson: use gnu_symbol_visibility argument
...
This uses a meson builtin to handle -fvisibility=hidden.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740 >
2020-06-21 22:55:13 +03:00
FlightlessMango
118a105aa4
Check often if logUpdate has occured
2020-06-21 13:47:22 +02:00
FlightlessMango
e957358786
Force a hw values update on log start
2020-06-21 13:44:12 +02:00
jackun
44060c2b80
Force blacklist re-check at certain points
...
Wine preloader that executed a non-blacklisted app may execute a blacklisted app,
or vice versa, and previous check applies to new app too.
2020-06-21 14:18:56 +03:00
FlightlessMango
fbd60a102f
Forgotten debugging in logging
2020-06-20 17:35:21 +02:00
FlightlessMango
a9463ae06c
Start logging after first update
2020-06-20 17:17:54 +02:00
FlightlessMango
0f171dbd9c
Added labels to log csv file
2020-06-20 14:05:21 +02:00
jackun
03ec318d00
Make find_*_ptr function pointers static
2020-06-19 23:44:57 +03:00
jackun
2da02ee553
Try to limit exported symbols with --version-script
2020-06-19 23:42:30 +03:00
Alan Witkowski
61a443bd50
add .csv extension to log file and rename function that generates the log filename suffix
2020-06-19 18:57:42 +03:00
jackun
612d3b761d
Merge pull request #237 from larskraemer/float_parser
...
First implementation of custom float parsing
2020-06-19 18:49:57 +03:00
larskraemer
ecd84c8cc0
Logging options ( #234 )
...
* Added config options for logging
* Documentation
* Log everything
* Add RAM/VRAM usage to the log
* add loggingOn-check for memory usage
* Always init GPU stats
* Move functions from logging.h to logging.cpp, remove params from writeFile
2020-06-19 18:32:04 +03:00
FlightlessMango
99cefe96a5
Created logging.cpp
2020-06-19 16:28:55 +02:00
jackun
66ddada43c
Fix readlink
overloading for fortified musl
...
Issue #231
2020-06-19 16:15:49 +03:00
jackun
6887abbea8
Just <limits.h>
2020-06-19 16:01:18 +03:00
jackun
edf9f95517
Use std::locale::classic with confiog file ifstream, just in case
2020-06-19 16:01:18 +03:00
FlightlessMango
916ef02eb2
Revert "Add readlink.c to meson"
...
This reverts commit 56933049d0
.
2020-06-19 14:48:38 +02:00
FlightlessMango
b614734ab6
Revert "Trying to fix issue #231 musl"
...
This reverts commit 01233e5f1f
.
2020-06-19 14:47:24 +02:00
FlightlessMango
56933049d0
Add readlink.c to meson
2020-06-19 14:23:43 +02:00
FlightlessMango
01233e5f1f
Trying to fix issue #231 musl
2020-06-19 14:22:09 +02:00
FlightlessMango
8f22ebae44
Also check for pci.ids in /usr/share/misc/
2020-06-19 14:05:46 +02:00
FlightlessMango
e2ec80d84e
Upload log keybind setup
2020-06-19 13:59:19 +02:00
FlightlessMango
8d6ff5bd25
upload log functions
2020-06-19 13:59:07 +02:00
FlightlessMango
6a28a8f7f1
Track log files for current session
2020-06-19 13:58:53 +02:00
FlightlessMango
064c285f31
permit_upload and upload_log params
2020-06-19 13:57:44 +02:00
FlightlessMango
f14c9a7587
Moved exec function in to logging.h
2020-06-19 13:56:45 +02:00
Lars Krämer
3421ad269a
Use locale::classic
2020-06-19 13:44:25 +02:00
jackun
441f1d3f3f
Use std::locale::classic() in parse_float()
2020-06-19 14:43:28 +03:00
jackun
d9a09670d8
Replace std::stoi with something that doesn't throw
2020-06-19 13:47:52 +03:00
jackun
e1fb2fbf88
Parse floats in C locale, hopefully
2020-06-19 13:47:30 +03:00
Lars Krämer
4d22927776
Use a stringstream
2020-06-19 12:07:16 +02:00
Lars Krämer
01df8149ab
sign bug
2020-06-19 04:26:41 +02:00
Lars Krämer
b8571c27e2
First implementation of custom float parsing
2020-06-19 03:36:55 +02:00
FlightlessMango
8e34e752e5
Merge branch 'master' into develop
2020-06-18 18:15:45 +02:00
Kingsley McDonald
6178c5859c
adjust benchHeight for 0.1% and fix percentages.
2020-06-18 15:32:59 +01:00
Kingsley McDonald
053a1d8a44
add 0.1% lows to the brief benchmark overlay
2020-06-18 13:35:46 +01:00
jackun
5ec6519832
Add media_player_order
to set media player metadata order
2020-06-13 22:00:36 +03:00
Stephan Lachnit
d956f60f86
remove old system nvml build option
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-12 13:37:12 +03:00
FlightlessMango
b9c00fc510
Check pci.ids without gpu_stats
2020-06-12 04:21:19 +02:00
FlightlessMango
38a78fa01e
Fix logging window if bg alpha is 0
2020-06-12 04:16:39 +02:00
Rémi Verschelde
f915d890f2
Fix -Wformat-security warning with GCC 10.1
2020-06-11 13:47:24 +02:00
FlightlessMango
71cbd66afb
Fixing cpu temp for core 2 duo CPUs
2020-06-11 14:02:56 +02:00
FlightlessMango
d41909321a
More width fixing
2020-06-11 13:59:15 +02:00
FlightlessMango
0728d49a1d
Fix width with no params
2020-06-11 13:50:08 +02:00
FlightlessMango
df631a2343
Reduced width with io rw
2020-06-11 12:33:07 +02:00
FlightlessMango
e9b1b70ebc
Fixed nextRow for gpu_power
2020-06-11 09:03:24 +02:00
FlightlessMango
135f3a5009
Fixing compiler warnings and removing control
2020-06-11 08:58:29 +02:00
FlightlessMango
59268a34b3
Always do nextRow() with core_clock
2020-06-11 08:54:11 +02:00
FlightlessMango
bc5d41f921
Changed IO rd/wr to rw
2020-06-11 08:03:58 +02:00
FlightlessMango
4a5e05c979
Trim gpuName from pci.ids
2020-06-11 07:58:19 +02:00
FlightlessMango
572ba69e3e
More width fixing
2020-06-11 04:50:39 +02:00
FlightlessMango
816d6ca515
Fixing hud width issues
2020-06-11 04:48:26 +02:00
jackun
b68f78028d
Fix "IO RD/RW" typo
...
Also micro-micro-micro optimization, probably: move READ/WRITE if statement before WRITE
as you'd probably find it more useful than just WRITE.
2020-06-10 22:00:55 +03:00
FlightlessMango
6d1ed9751d
Changed default keybinds
2020-06-10 08:34:37 +02:00
Valters
40017bc1e6
Change blacklist type ( #204 )
...
* Set blacklist to std::vector<std::string>
Fix some strange crashes.
Co-authored-by: jackun <jack.un@gmail.com>
2020-06-09 19:00:35 +03:00
jackun
1495b1e88f
ifdef guard nvml header
2020-06-09 14:16:02 +03:00
jackun
953c8d0e0f
Add meson option with_nvml
2020-06-09 13:44:41 +03:00
jackun
a236af66ee
Lock metadata mutexes in case they are cleared by inotify thread
2020-06-08 19:09:10 +03:00
jackun
467c53d22f
Keep track of notifier thread to make sure it exits before notify_thread
struct is freed
2020-06-08 19:08:01 +03:00
jackun
31f9cce720
[COMMENTED] Make inotify monitor new per-app config file or if delete, the main config file again
...
Needs to be triggered by main config file change.
FIXME what if there's no config file?
2020-06-08 19:03:20 +03:00
jackun
2220cb9d74
Decouple engine_version
from fps
2020-06-06 13:00:59 +03:00
jackun
16b05dfc5e
Show gpu core clock or power usage in 4th column or both on next row if both are enabled
2020-06-06 12:50:13 +03:00
jackun
91ccde4969
[blacklist] Add SocialClubHelper.exe
...
No much difference but at least doesn't spam log as much
2020-06-06 12:35:55 +03:00
FlightlessMango
3d503c9f29
Don't enable histogram with full param
2020-06-06 00:49:24 +02:00
jackun
b837ce930e
[whitespace] fix indentation from gpu_name
to arch
2020-06-05 15:46:37 +03:00
jackun
1f81889d1b
Show bitness in library loaders
2020-06-05 15:28:30 +03:00
FlightlessMango
db151bb236
Add log_interval check to per frame log write
2020-06-05 06:14:47 +02:00
FlightlessMango
52989a727e
Cleaning up for after change to log_interval
2020-06-04 05:17:00 +02:00
FlightlessMango
d8727110b0
Replaced log_period env with log_interval param
2020-06-04 00:52:11 +02:00
FlightlessMango
128fbd4b88
Per frame logging use output_file and date
2020-06-04 00:47:01 +02:00
FlightlessMango
4bdd252393
Load 32bit libs if they exist with 64bit bin
2020-06-03 22:00:48 +02:00
Valters
6cebbba732
Always print blacklist info to STREAM
2020-06-02 16:47:58 +03:00
Valters
4721281952
Add LeagueClient{,UxRender} to blacklist
2020-06-02 16:47:58 +03:00
FlightlessMango
33a5ad6571
Format gpu_text and cpu_text in textColored
2020-06-01 20:18:15 +02:00
FlightlessMango
dd1667bf3e
Fixed typo
2020-06-01 03:49:34 +02:00
FlightlessMango
2d0ba9a076
Params to override cpu/gpu text
2020-06-01 02:08:35 +02:00
FlightlessMango
0e3508dcf0
Check if pci.ids was found
2020-05-30 18:02:14 +02:00
jackun
699de56fa1
[dbus] clear non-main players' metadata on dbus deinit
2020-05-28 20:55:30 +03:00
jackun
72602fab89
[dbus] remove missed exceptions; set dbus call timeout to 2 seconds
2020-05-28 20:52:32 +03:00
jackun
c04658456a
Wider glyph ranges for custom font; media player text scaling with font_scale_media_player
param
2020-05-24 16:49:11 +03:00
FlightlessMango
c254347688
Use histogram in benchmark too
2020-05-24 17:28:29 +02:00
FlightlessMango
ac926bbfd5
Added histogram param
2020-05-24 17:17:17 +02:00
jackun
15ed8df404
Fix keybinds init when building without X11
2020-05-24 14:14:10 +03:00
jackun
5ad67fe446
Remove unused vars
2020-05-24 14:14:10 +03:00
FlightlessMango
078617f999
Added param for engine version
2020-05-23 23:16:08 +02:00
FlightlessMango
0e396186a6
[OpenGL] Always use QueryDrawable
2020-05-22 22:01:14 +02:00
jackun
ff48525313
Consolidated amdgpu file handles to a struct and add gpu_power
param to show power usage for amdgpu/nvml
2020-05-22 15:44:34 +03:00
jackun
5c3c8a5ac9
Add nvmlDeviceGetPowerUsage import
2020-05-22 15:38:54 +03:00
jackun
9b595cef1a
[dbus] clear metadata on re-init; don't use exceptions
2020-05-22 15:00:35 +03:00
jackun
5057a47b05
Potential buffer overflow, use snprintf instead
2020-05-21 20:23:33 +03:00
jackun
159305bbc7
Use display_time
instead of recalculating
2020-05-21 20:19:46 +03:00
FlightlessMango
357a819d67
Removed some debugging in logging
2020-05-20 19:34:12 +02:00
FlightlessMango
096fb626a3
Fixed logging date
2020-05-20 19:31:11 +02:00
FlightlessMango
1d375fd155
Removed crosshair
2020-05-20 18:21:14 +02:00
FlightlessMango
434aa04356
Fixed bench position even more
2020-05-19 12:57:17 +02:00
FlightlessMango
7f9bb2e6b8
Fixed mistake in bench positioning
2020-05-19 12:38:03 +02:00
FlightlessMango
54f83ee3d6
Corrected position and sizing for quick bench
2020-05-18 01:09:24 +02:00
jackun
613fa68491
Use +
as keybind delimiter
2020-05-17 15:45:31 +03:00
FlightlessMango
22c25b6247
Fixo typo in quick benchmark
2020-05-17 16:33:57 +02:00
jackun
c5bb35c10d
Merge branch '159' into develop
2020-05-17 15:24:47 +03:00
FlightlessMango
92b86ad8bf
Added plot graph to quick benchmark
2020-05-17 15:51:43 +02:00
Valters
1afea91dab
Add multi hotkey
2020-05-17 15:19:20 +03:00
FlightlessMango
75f9128ce5
Redesigned logging, adding quick benchmark
2020-05-16 13:35:50 +02:00
FlightlessMango
0964f517b7
Change LogData previous to uint64_t
2020-05-14 14:54:57 +02:00
jackun
d93a21589e
Find cpu temp sensor input by label or fallback to first tempN_input
2020-05-14 13:50:55 +03:00
FlightlessMango
927fee0f59
No need to add version for nvidia twice
2020-05-13 10:54:00 +02:00
FlightlessMango
2e1861ea09
Changed elapsedlog to int64_t
2020-05-13 05:58:00 +02:00
jackun
40255b62f9
Fix get_device_name, don't substr if no '[' in gpu name
2020-05-12 22:56:20 +03:00
jackun
c25082b1dd
Fix blacklist array entries count
2020-05-12 21:23:15 +03:00
jackun
2622270e5c
Init remote control params even if blacklisted
2020-05-12 20:40:16 +03:00
jackun
a8f01a75e6
Use std::array for blacklist
...
More annoying to add entries but maybe more streamlined
2020-05-12 20:34:30 +03:00
jackun
a27ee0dc39
Generalize initial metadata error message
2020-05-11 22:30:44 +03:00
jackun
d694a61d21
Add media_player_name
and media_player_color
params
...
Allows to set "main" media player and text color
2020-05-11 22:05:13 +03:00
jackun
6c2b00ffb7
Append driver version
2020-05-10 15:46:40 +03:00
jackun
768297b430
[editorconfig] Apply whitespace rules
2020-05-10 15:18:59 +03:00
FlightlessMango
bc0a0aa53e
No need to save deviceName for later
2020-05-10 16:09:05 +02:00
jackun
2308a4228a
Fix vulkan device name
2020-05-10 14:44:04 +03:00
jackun
bb9721fe87
[OpenGL] Check if SRGB is enabled and Render ImGui in linear colorspace
2020-05-10 14:15:38 +03:00
FlightlessMango
31b01aab9f
Uncommented most of prop.driverVersion code
2020-05-10 08:56:41 +02:00
FlightlessMango
1750c43716
No need to convert deviceID twice
2020-05-10 02:31:58 +02:00
FlightlessMango
848b296477
Display vulkan driver
...
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com>
2020-05-10 02:22:44 +02:00
FlightlessMango
f3422af562
Param gpu_name
2020-05-10 02:21:39 +02:00
FlightlessMango
1ddcc531ff
Get device name from pci.ids and display it
2020-05-10 01:43:08 +02:00
FlightlessMango
ed62155310
Parse pci.ids
...
Co-authored-by: jackun <jack.un@gmail.com>
2020-05-10 01:40:56 +02:00
FlightlessMango
a2cc14f738
Get deviceID
2020-05-10 01:36:09 +02:00
jackun
beee2b08c7
[OpenGL] Add glXSwapBuffersMscOML and disable XGetGeometry
2020-05-08 22:53:33 +03:00
jackun
9d1b548f69
Merge branch 'master' into develop
2020-05-05 12:01:13 +03:00
FlightlessMango
3f4949f593
Added top-center overlay position
2020-05-04 06:54:25 +02:00
FlightlessMango
03c9d1cd90
We don't need two vk_enum_to_str in shared_library
2020-05-02 23:24:54 +02:00
FlightlessMango
70d7ea4948
Add mangohud_version to shared_library
2020-05-02 23:18:25 +02:00
FlightlessMango
9cf6c502d2
Missing brackets for versions in render_imgui
2020-05-02 20:20:10 +02:00
FlightlessMango
e170e64f9c
[Params] Version option
2020-05-02 18:39:39 +02:00
FlightlessMango
0eaba7bb6c
Removed obsolete license from params
2020-05-02 17:14:14 +02:00
FlightlessMango
5ee573730a
Removed obsolete license from meson.build files
2020-05-02 17:13:04 +02:00
jackun
0ab53a1c06
Move MANGOHUD_PCI_DEV to config file param 'pci_dev'
...
Relax format requirements as long as it loosely resembles 'domain🚌 slot.func' format.
2020-05-02 17:40:05 +03:00
FlightlessMango
bff9958284
Changed pthreads to std::thread
2020-05-01 23:55:21 +02:00
Sporif
c61d25da04
Simplify 'is_blacklisted' function
2020-04-30 16:49:40 +03:00
Sporif
1e1dcd3a98
Fix vulkan driver version shown for Nvidia and Intel on Windows
2020-04-30 14:38:22 +01:00
jackun
8b13f8db7c
Blacklist Final Fantasy XIV launchers
2020-04-28 23:27:52 +03:00
jackun
29e5c4e460
Show device's name and vulkan driver version
2020-04-28 18:06:39 +03:00
jackun
8b855e3251
Fix mul/div order when normalizing io stats to sample per second as fps_sampling_period
is also an integer.
2020-04-28 17:25:34 +03:00
jackun
d8264c485f
[OpenGL] Fixed version check mistakenly testing for GL 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset, leaving 3.2 contexts without it. (ocornut#3119, ocornut#2866, ocornut#2852)
2020-04-25 21:17:58 +03:00
jackun
22ee56def5
[OpenGL] Use 32bit font texture until someone figures out why 8-bit looks worse
2020-04-25 13:13:05 +03:00
jackun
0271aa6368
[OpenGL] Track threads with context, but might as well ignore glXMakeCurrent(NULL, NULL) calls probably
2020-04-21 20:57:13 +03:00
jackun
79e4c5223a
In C-only apps, std::cerr and friends can be uninitialized
2020-04-21 17:19:12 +03:00
jackun
934dc31e44
Add utility lib with dlsym hooking
2020-04-21 17:05:37 +03:00
jackun
ebdaa901b9
Merge pull request #131 from Sporif/blacklist_v2
...
Blacklist: Add OpenGL and fix `mangohud steam`
2020-04-21 16:58:46 +03:00
Danilo Spinella
b6340c832a
Add include for dlopen flags, fix build on musl
...
RTLD_DEEPBIND is not defined on musl based systems, add a check
before using it.
2020-04-21 15:51:12 +03:00
Danilo Spinella
fb64b2ae0e
Add __ELF_NATIVE_CLASS to musl systems
2020-04-21 15:50:19 +03:00
Danilo Spinella
728fc9fe56
dbus: Add missing include
2020-04-21 15:47:21 +03:00
jackun
86f8ebed30
Trying to find XNVCtrl's display by iterating through 16 displays.
2020-04-20 22:51:55 +03:00
jackun
6caa4a5173
Try load XNVCtrl as "libXNVCtrl.so.0"
...
Seems not all distro symlink also to libXNVCtrl.so
2020-04-18 20:34:06 +03:00
Sporif
61ef9244e9
Disable dlsym hooking by default and fix LD_PRELOAD propagation to new processes
...
This allows `mangohud steam` to work
2020-04-18 17:53:41 +01:00
Sporif
d1e90b5bec
[OpenGL] Add blacklist functionality
2020-04-18 17:53:41 +01:00
Sporif
c4a00704cf
Separate out blacklist implementation
2020-04-18 17:53:41 +01:00
Georg Lehmann
1eca184157
Vulkan Overlay: Don't try to change the image layout to present twice
...
The render pass already does the transition.
The pipeline barrier is still needed to transfer the queue family ownership.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740 >
2020-04-18 18:37:27 +03:00
jackun
efed107af6
[meson] check void* size once and better-ish xnvctrl checks
2020-04-15 19:45:59 +03:00
jackun
cf5eb9e9a5
ifdef-guard dbus_info.h include
2020-04-15 19:12:56 +03:00
jackun
ad0f010951
Don't print that nvmlDeviceGetHandleByPciBusId failed if it wasn't even called
2020-04-14 00:54:44 +03:00
jackun
723c6bedeb
Fix init_x11
return value and X11/XNVCtrl logic checks
2020-04-14 00:26:23 +03:00
jackun
88188ee1da
[dbus] Generalize a bit more but still give Spotify special treatment, keep track of 'org.mpris.MediaPlayer2' service providers
...
Keeps and draws spotify's and other player's metadata separately.
Keep track of 'org.mpris.MediaPlayer2' service providers so when
a player that was the last metadata sender quits, we can stop
showing its metadata on overlay.
2020-04-13 03:02:52 +03:00
jackun
7e5afe96bb
Add dbus_message_get_sender to dbus loader
2020-04-13 02:52:36 +03:00
jackun
bb4b78ada0
[OpenGL] Spam terminal a little less with version strings
2020-04-12 16:38:28 +03:00
jackun
f35e49defa
[OpenGL] Merge "shared" files back to imgui_hud.cpp
2020-04-12 16:25:46 +03:00
jackun
b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays
2020-04-12 16:25:35 +03:00
FlightlessMango
d6314da8b2
Merge branch 'master' into develop
2020-04-11 22:49:50 +02:00
jackun
2383ba26fc
Tell GCC to stop exporting static library functions
...
Should fix crashes where games using Dear ImGui link to ours.
2020-04-11 13:05:53 +03:00
flightlessmango
0f695d76c7
Merge pull request #119 from andrealmeid/log_to_mem
...
Write log in a memory buffer and periodically write it in disk
2020-04-11 01:49:22 +02:00
jackun
6576a0a09c
Print NVML return code as string
2020-04-11 01:08:20 +03:00
jackun
a9311bb578
Allow to specify gpu with pci bus id by setting env var MANGOHUD_PCI_DEV=xxxx:xx:xx:x
where x's are "domain 🚌 slot.function"
2020-04-11 00:34:33 +03:00
jackun
e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place
2020-04-10 22:39:43 +03:00
jackun
d81dc7936a
[OpenGL] Use glXQueryDrawable if XGetGeometry fails
2020-04-10 22:39:43 +03:00
jackun
ff3c58c9c5
[OpenGL] Change glXMakeCurrent return type to int just in case and convert missed #ifdefs
2020-04-10 22:35:07 +03:00
Stephan Lachnit
f860418e7e
Allow system NVML to be used
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-04-10 11:33:58 +02:00
André Almeida
f07aea54b6
logging: check if duration is enabled before checking if it has expired
...
If we check if log_duration is enabled before checking if it has expired
we can save some math and comparison instructions on every log write.
2020-04-09 15:58:05 -03:00
André Almeida
0a942512e9
logging: don't sleep if time is over
2020-04-09 15:50:39 -03:00
André Almeida
0303f8de28
logging: write log to a memory buffer
...
Instead of writing every line of the log to the file (and, consequently,
to the disk), write to a memory buffer first and after the log finishes
flush from memory to disk. This improve the performance of the tool, since
it avoids making the program blocked by disk IO.
2020-04-09 15:50:39 -03:00
jackun
f3f04f3f78
Print dlerror() in lib loaders
2020-04-09 21:26:00 +03:00
jackun
780ea7c89b
[OpenGL] Use GLAD instead on gl3w and hook EGL
2020-04-09 21:24:37 +03:00
jackun
772ab6aa5b
[OpenGL] Don't exit if function is not found, it probably isn't catastrophic
2020-04-09 11:30:51 +03:00
André Almeida
4830268a11
logging: fix indentation
2020-04-08 15:14:13 -03:00
jackun
a6bfa712e3
Do a sanity check for XNVCtrl and GLX headers
2020-04-05 16:11:29 +03:00
FlightlessMango
d454ff43a2
Hide all hud elements on no_display
2020-04-05 13:20:15 +02:00
jackun
e95a96d9f0
If used for other things than just reading sysfs files, xfs/jfs need stat() for inode type
2020-04-05 14:02:15 +03:00
jackun
0db804aa01
Don't free DBusError if it was never inited because dbus_error_free() is nullptr too
2020-04-05 13:56:14 +03:00
jackun
421146b822
Don't reinit dbus manager
2020-04-05 13:48:16 +03:00
jackun
0a27e0a447
Clear all metadata strings in case other mpris-compatible media players don't have them all
2020-04-05 00:12:01 +03:00
jackun
8024736253
Add DBus loader, combined ticker for Spotify metadata
2020-04-04 23:50:57 +03:00
FlightlessMango
d975278396
Dbus with spotify
2020-04-04 20:51:53 +03:00
jackun
cbb46fa21b
Also call default constructor for libnvctrl_loader
2020-04-04 20:46:54 +03:00
Stephan Lachnit
0998d33d72
Use Vulkan-Headers module via wrap
...
This commit replaces the git submodule for the Vulkan headers with meson subproject using wrap.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-04-04 17:49:02 +03:00
jackun
8cd3172335
[OpenGL] Separate GLX out from shareable code so wayland sessions can just use EGL, hopefully
2020-04-02 03:09:49 +03:00
jackun
2f034c6d1e
Use X11 loader functions instead of linking to X11 libs
2020-04-02 03:09:49 +03:00
jackun
71b37906da
Shared X11 intialization functions
2020-04-02 03:08:53 +03:00
jackun
329b5d66c2
Add X11 loader
2020-04-01 22:54:48 +03:00
jackun
108bca7d4f
Don't include X11 headers in overlay_params.h
2020-04-01 15:37:42 +03:00
jackun
bd9d9650a0
Move dlsym
hook out from inject_glx.cpp
2020-04-01 15:37:19 +03:00
jackun
0a36578adf
[OpenGL] Rename GLX loader functions
2020-04-01 15:37:08 +03:00
jackun
b2e6727b25
[OpenGL] Rename loader_gl.* to loader_glx.*
2020-04-01 15:16:44 +03:00
jackun
2e7d92e068
Move real_dlsym
files out from gl
subdir
2020-04-01 14:39:51 +03:00
jackun
e750173b51
[OpenGL] Check if X11 is enabled
2020-04-01 11:46:08 +03:00
Danilo Spinella
0373383581
Add x11/wayland feature switches, rename 'use_xnvctrl' to 'with_xnvctrl'
2020-04-01 11:39:57 +03:00
jackun
59113b3ae2
[OpenGL] Move ImGui functions to separate file
2020-04-01 11:28:16 +03:00
jackun
c3e50db2f4
[OpenGL] Import glXQueryDrawable just in case
2020-04-01 11:27:27 +03:00
jackun
accac3a015
[OpenGL] Import XGetGeometry
2020-04-01 11:27:27 +03:00
jackun
ebe23d3431
[OpenGL] Rename inject.cpp to inject_glx.cpp in preparation for separating X11 related functions
2020-04-01 11:27:04 +03:00
jackun
042267f26b
Update API version to 1.2.135 in manifest
2020-03-31 00:13:53 +03:00
jackun
049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support
2020-03-30 22:48:56 +03:00
jackun
5afbe10005
[OpenGL] Restore ImGui's context to previously saved one, duh
2020-03-29 01:54:57 +02:00
jackun
6eb2c9bc09
[OpenGL] Explicitly set ImGui's context and treat global context as foreign
...
Apps might be using Dear ImGui so keep our stuff separate from theirs.
Issue #107
2020-03-29 01:47:24 +02:00
jackun
f5e3f3b73b
[config] Add MANGOHUD_CONFIGFILE envvar for specific configuration file
...
Issue #104
2020-03-29 00:05:52 +02:00
jackun
f8cc3bbf06
[config] Allow fps_limit=0 or commenting it out to disable fps limit
2020-03-28 23:38:33 +02:00
jackun
49742e1cea
[config] Load config changes to local copy of overlay_params so it does not block rendering thread while parsing
2020-03-28 23:32:58 +02:00
FlightlessMango
0d53d7d39d
Fixed typo in nvctrl
2020-03-28 14:39:41 +01:00
FlightlessMango
85291d25ef
Added warning messages for nvctrl
2020-03-28 14:28:12 +01:00
Lionel Landwerlin
1fc94600e9
vulkan/overlay: Add a workaround semaphore for application presenting without one
...
When an application calls vkQueuePresent() on a different queue than
the one we run our drawing on and it doesn't give a semaphore to wait
on, let's insert our own semaphore so that we don't race the
application's drawing.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2540
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893 >
2020-03-27 02:24:54 +02:00
jackun
32ae051434
Add Bethesda launcher to blacklist
2020-03-25 22:51:21 +02:00
Sporif
c24d9015cd
Blacklist support
...
Initial blacklist: Battle.net.exe, EpicGamesLauncher.exe, IGOProxy.exe, IGOProxy64.exe, Origin.exe, Steam.exe
Signed-off-by: jackun <jack.un@gmail.com>
2020-03-25 17:11:33 +02:00
jackun
25b0adfbf9
Move Wine exe name code from config.cpp to get_wine_exe_name(...)
2020-03-25 17:11:29 +02:00
jackun
cf17f70dab
Remove unused statistics related code
2020-03-24 21:38:08 +02:00
jackun
d3f895cbef
[config] keep pthread_t pointers in notify_thread struct for MT safety
2020-03-24 00:51:30 +02:00
jackun
1b192c4910
[config] join notifier thread just to be sure
2020-03-24 00:10:03 +02:00
jackun
e72a7bdd76
[config] Try to set notifier file descriptor to non-blocking mode; add start/stop_notifier functions
...
If setting to non-blocking fails, just closing the fd should kill it anyway
2020-03-24 00:02:42 +02:00
jackun
841d76c6af
Quit config watcher thread if it fails to init and clean up
2020-03-23 23:22:22 +02:00
jackun
2ab386d70a
Fix double definition
2020-03-23 21:19:03 +02:00
FlightlessMango
a84f5ef178
Show mangohud arch in hud
2020-03-23 20:12:11 +01:00
FlightlessMango
23adda92b7
Added param 'arch'
2020-03-23 20:11:53 +01:00
FlightlessMango
c9558eec50
Merge branch 'xnvctrl' into develop
2020-03-23 18:05:13 +01:00
jackun
ae3a155e22
Keep engine name per vulkan instance
2020-03-23 18:59:39 +02:00
jackun
053a07d83c
[OpenGL] Don't set display size to scissor box if its size is just 1 by 1
2020-03-23 01:26:40 +02:00
jackun
f92a2a07db
GiB not GB
2020-03-21 21:47:50 +02:00
jackun
fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported.
2020-03-20 16:36:00 +02:00
jackun
b059fa26bc
xnvctrl: parse tokenized attributes
2020-03-20 15:26:37 +02:00
jackun
c16f4b4275
try_stoi: spam in debug build only
2020-03-20 15:25:45 +02:00
FlightlessMango
79add746b5
Removed debugging messages
2020-03-20 13:23:39 +01:00
FlightlessMango
f2b770abac
Use XNVCTRLQueryTargetAttribute64 instead
2020-03-20 13:23:24 +01:00
FlightlessMango
2c979e52e6
Set nvmlSuccess to false if NVML gpu load is unsupported
2020-03-20 13:06:24 +01:00
FlightlessMango
e7b5a18d87
If NVML fails fallback to NVctrl
2020-03-20 12:54:54 +01:00
FlightlessMango
f81af99ee5
NVCtrl meson build
2020-03-20 12:54:20 +01:00
FlightlessMango
aaaf30b807
NVctrl fetching
2020-03-20 12:54:08 +01:00
FlightlessMango
8ee0ec2c3f
NVCtrl loader
2020-03-20 12:53:43 +01:00
jackun
1915352c86
Draw versions after table so they don't get clipped
2020-03-18 18:55:51 +02:00
jackun
c7bee1a99d
[OpenGL] Compare if viewport or scissor box size changed with window resizing and use that for display size
2020-03-17 15:06:58 +02:00
jackun
6ad6bffade
Use ImGui's DisplaySize so display size for layer positioning etc can be set the same way for vulkan and OpenGL
2020-03-17 15:00:20 +02:00
jackun
3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped
2020-03-17 14:58:27 +02:00
jackun
8aa0783b4a
Show vulkan/opengl version
...
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
2020-03-17 00:24:04 +02:00
jackun
bb3aba9080
[OpenGL] Use elfhacks to load real OpenGL functions
2020-03-16 22:37:42 +02:00
jackun
85801bcc17
[OpenGL] Add elfhacks
...
https://github.com/ienorand/elfhacks
2020-03-16 22:37:42 +02:00
FlightlessMango
8fb13e23e4
Resize window when reloading config
2020-03-16 18:41:48 +01:00
jackun
5bdfcd493d
[config] Add config file change notifier to OpenGL
2020-03-16 19:35:46 +02:00
jackun
a0f5cb56a2
[config] Guard overlay_params from the thread with mutex
2020-03-16 18:52:03 +02:00
jackun
34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed
2020-03-16 18:35:01 +02:00
jackun
341aa21b87
[config] Move options map and config_file_path to overlay_params
2020-03-16 18:32:48 +02:00
FlightlessMango
c5dad16612
Listen for modify on config file
2020-03-16 16:48:12 +01:00
jackun
b0f36fad31
Expand paths only
2020-03-15 18:52:14 +02:00
FlightlessMango
b0e1fe9321
[params] set targetFrameTime in params.cpp
2020-03-15 17:09:03 +01:00
FlightlessMango
71b602751d
[meson] option to include_doc
2020-03-15 16:01:08 +01:00
jackun
6e40f9bdd5
Expand tilde to home dir if string param start with ~
2020-03-15 16:57:49 +02:00
jackun
f7a7256374
Clear options map so reloading config files actually has an effect
2020-03-15 14:37:42 +02:00
jackun
6b4103eae9
[config] Parse Wine application name without absolute path
2020-03-15 13:09:51 +02:00
jackun
abef561573
Disable CPU stat(s) if it failed to initialize
2020-03-14 23:15:03 +02:00
jackun
712590befe
Check if CPU sensor file handle is valid
2020-03-14 23:14:48 +02:00
FlightlessMango
64a42df047
forgot to include functional
2020-03-14 19:27:25 +01:00
FlightlessMango
cbb58ab79c
make sure Xdisplay is closed on shutdown
2020-03-14 19:18:41 +01:00
FlightlessMango
b3286cbe48
check if opengl/vulkan with is_vulkan bool
2020-03-14 18:29:43 +01:00
jackun
13e57578c3
Fix update_hud_info indentation
2020-03-14 19:11:34 +02:00
jackun
154380e056
Don't update time if not enabled
2020-03-14 19:10:38 +02:00
jackun
9a7a4d99e0
Don't update CPU freq/temp if not enabled
2020-03-14 18:48:04 +02:00
jackun
6bbc89a9cc
Don't update CPU stats if not enabled
2020-03-14 18:41:50 +02:00
jackun
16552b25e3
Don't update RAM/IO stats if not enabled
2020-03-14 18:38:18 +02:00
jackun
c850507314
[OpenGL] Initialize MangoHud from glXSwapBuffers even if glXMakeCurrent is skipped for some reason
2020-03-14 18:32:27 +02:00
jackun
fa41e6f882
Always configure vulkan json
2020-03-14 13:22:17 +02:00
jackun
ad64bf345d
Update build scripts, again
...
Install to $prefix$libdir/mangohud by default.
2020-03-14 12:59:43 +02:00
jackun
50cef9621b
Remove ~/.local/share/MangoHud/MangoHud.conf support
2020-03-13 18:37:55 +02:00
jackun
57f3b3470d
Remove param_unit()
2020-03-13 18:25:22 +02:00
jackun
2e3f8077cb
Remove parse_output_file
2020-03-13 18:24:21 +02:00
jackun
da9120f971
Add parse_signed() for gl_sync
2020-03-13 18:05:03 +02:00
jackun
125dbc1403
[OpenGL] Allow swap interval of -1 for adaptive sync, if supported
2020-03-13 17:54:36 +02:00
FlightlessMango
e24f5dfc8b
added log_duration param and updated readme
2020-03-13 16:27:45 +01:00
FlightlessMango
b4cd837328
[OpenGL] custom font file
2020-03-13 16:18:59 +01:00
FlightlessMango
8641392ca7
added MANGOHUD_FONT to params as font_file
2020-03-13 16:18:47 +01:00
FlightlessMango
d1bdf71580
added MANGOHUD_OUTPUT to params as output_file
2020-03-13 16:06:57 +01:00
jackun
4adb6ed25f
Convert tabs to spaces in cpu.cpp/cpu.h
2020-03-13 16:35:11 +02:00
jackun
72d7f6ef71
Print also a reason for skipping a config file
2020-03-13 16:14:58 +02:00
jackun
31a651133c
[OpenGL] Cleanup stderr output a little
2020-03-13 16:08:36 +02:00
jackun
bbfad2e073
[OpenGL] Parse and initialize configuration just once
2020-03-13 16:08:36 +02:00
jackun
a52dce875f
[OpenGL] Keep glClipControl local to imgui_impl_opengl3.cpp
2020-03-13 16:08:36 +02:00
jackun
05d61ee77e
Init CPUStats just once
2020-03-13 16:08:36 +02:00
FlightlessMango
e68dd48f3f
forgot one refresh_config
2020-03-13 15:07:44 +01:00
FlightlessMango
fe69ec2955
changed refresh_config to reload_cfg
2020-03-13 14:57:11 +01:00
FlightlessMango
501d7d74d2
install example config with meson
2020-03-13 12:41:22 +01:00
jackun
5caeb10882
[OpenGL] Apply swap interval from glXMakeCurrent
2020-03-13 10:05:41 +02:00
jackun
297b44bfe6
[OpenGL] Force-load libGL.so.1 with dlopen() if dlsym fails to find functions
2020-03-13 09:35:14 +02:00
jackun
e0ce0493f7
[OpenGL] Set swap interval (vsync) with gl_vsync
param
2020-03-12 12:12:21 +02:00
FlightlessMango
8133048e9c
Add blank configuration for project_name and layer_suffix with build.sh
2020-03-12 09:20:22 +01:00
FlightlessMango
8153e29eb3
forgot to add '/' to end of path
2020-03-12 08:31:33 +01:00
FlightlessMango
8599484032
configure .json files with meson
2020-03-12 08:24:37 +01:00
jackun
37e34335ae
Sprinkle NDEBUG over gl debug prints
2020-03-11 18:57:21 +02:00
jackun
ad598f7ec4
[OpenGL] Fix double-free with ImGui context
2020-03-11 18:56:31 +02:00
jackun
f99129f9de
Libdirs: once more, with feeling
2020-03-11 18:11:35 +02:00
jackun
4761078133
Fix small font for gl
2020-03-11 12:23:39 +02:00
jackun
c88b930a37
Match gl PushPopStyle count with vulkan's
2020-03-11 12:16:53 +02:00
jackun
bc7db582bd
Single ImGui context for OpenGL
...
Seems only VAO is not shareable between OpenGL context
but that gets recreated every render anyway.
2020-03-11 12:15:44 +02:00
jackun
373bba5fcf
Keep time outside the table or it gets clipped if using too fancy a format
2020-03-11 12:11:16 +02:00
FlightlessMango
8bf8723ad5
added param text_color
2020-03-11 06:20:18 +01:00
FlightlessMango
77b3033cc7
Removed frametime_alpha and replace it with an overall alpha for text and frametime
2020-03-11 06:07:41 +01:00
FlightlessMango
a1eafc3403
Install .so into subdirectory in libdir
2020-03-11 05:19:48 +01:00
jackun
a64b6cada2
Build/install scripts: verbose tar output and set files' owner/group to root
2020-03-10 23:41:55 +02:00
FlightlessMango
8558d038d7
refactored the install process
2020-03-10 13:39:52 +01:00
FlightlessMango
ccf870e630
changed offset_x/y to int so it can be negative
2020-03-10 10:18:59 +01:00
FlightlessMango
88ad5de2ab
Fix so preloading doesn't break vulkan layer
2020-03-10 08:27:27 +01:00
FlightlessMango
163c76bea7
added param background_color
2020-03-10 07:48:04 +01:00