Commit Graph

1155 Commits

Author SHA1 Message Date
Emil Velikov
68ce8f81cc Remove libdrm_amdgpu metrics
There are two alternatives - hwmon entries and gpu_metrics sysfs file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-12 10:28:18 +00:00
Emil Velikov
abbe5233ee Remove unused X11/drm auth code
The code was added back in 2020 and seemingly never built. Just drop it
- if needed it can be git reverted at some point.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-12 10:28:18 +00:00
Emil Velikov
7ad24b4c0a Simplify cpu/mem/os/glxinfo parsing
Currently we pipeline a bunch of commands alike cat | grep | sed, there
we can do all that job with a single sed invocation - use that.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-12 10:28:18 +00:00
Emil Velikov
83ce3ace2d keybinds: move ifdef spaghetti into the header
Drop the ifdef and simplify the .cpp file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-12 10:28:18 +00:00
FlightlessMango
8b801e8435 don't set hide_fsr_sharpness with full 2022-03-08 18:28:27 +01:00
FlightlessMango
0402fa4ab5 mangoapp: fsr_steam_sharpness 2022-03-08 17:51:06 +01:00
FlightlessMango
5c984e7b80 mangoapp: fsr_steam_sharpness 2022-03-08 17:36:13 +01:00
FlightlessMango
b1fdbc3a5b Disable gamemode dbus for now 2022-03-08 17:27:04 +01:00
jackun
822bb66629
Fix confusing vendorID with deviceID
OpenGL still needs some work to select the actual render device >:(
2022-03-06 22:06:48 +02:00
jackun
8e21b52acf
Make get_device_name return GPU name 2022-03-06 22:02:09 +02:00
jackun
c88ef84bf5
Revert "Get device name before system info"
This reverts commit e7de7b5b93.
2022-03-06 21:32:16 +02:00
jackun
8af07b4945
Move logging() to Logger struct
Stopgap to use same m_params while waiting for proper multithreading-safe overlay_params fix.
2022-03-06 21:31:17 +02:00
Emil Velikov
42de1edc22 Rework cpu freq node handling
Similar to the prior commit - fscanf directly into the required data
type.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:03:35 +00:00
Emil Velikov
597f78cbee Fixup device/vendor node handling
Currently we readout the data as string only to convert it to hex. In
the error case, we leak the fd for the given nodes.

Read the data as hex directly, error out if that fails and avoid the
leaks.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:03:35 +00:00
Emil Velikov
e3de89e475 Couple of whitespace fixes
Automatically picked by my editor, while fixing the warnings with prior
commits.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:03:35 +00:00
Emil Velikov
c5748a3154 Reorder Logger() constructor args
Currently the order varies across the struct and constructor. As a nice
reminder GCC will throw a lovely warning at us. Fix the ordering.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:03:35 +00:00
Emil Velikov
30cfe839eb Address signed comparisons warnings
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:03:35 +00:00
Emil Velikov
8ac81477d9 Remove unused parseConfigFile() return type
Was briefly introduced a while ago and the only user was been dropped
since then.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:02:39 +00:00
Emil Velikov
dc53cbf0f0 Remove unused-but-set variables
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2022-03-06 19:01:23 +00:00
FlightlessMango
3f2db318c5 Some fixes for windows compiling 2022-02-24 22:26:28 +01:00
FlightlessMango
ae7c5f0f24 Fix hud benchmark 2022-02-24 22:26:28 +01:00
Alessandro Toia
9b668babdc gamepad: add bool is_charging 2022-02-18 18:16:41 -08:00
Alessandro Toia
6db23968ee gamepad: fix 8Bitdo counter 2022-02-18 18:16:41 -08:00
Alessandro Toia
74b328d209 gamepad: add option to disable icon and show capacity instead 2022-02-18 18:16:41 -08:00
Alessandro Toia
5c92c32491 add gamepad_battery to legacy elements 2022-02-18 18:16:41 -08:00
Alessandro Toia
7d90ef8169 GAMEPAD: add 8Bitdo support 2022-02-18 18:16:41 -08:00
Alessandro Toia
a484f32e57 GAMEPAD: remove unsed variables 2022-02-18 18:16:41 -08:00
Alessandro Toia
a8ab4e2991 GAMEPAD: remove unused param and change xone to xbox 2022-02-18 18:16:38 -08:00
Alessandro Toia
4be3ba20c2 GAMEPAD: add battery reporting for gamepad devices
(xone,xpadneo,ds4,ds5,switch)
2022-02-18 18:14:14 -08:00
jackun
a029dfaaf2
Don't hide gpu_metrics behind HAVE_LIBDRM_AMDGPU 2022-02-18 17:35:11 +02:00
FlightlessMango
93f389dd62 clean up frametime_data 2022-02-18 16:08:14 +01:00
FlightlessMango
3a667ab66b Revert FPS calc 2022-02-18 16:08:14 +01:00
FlightlessMango
cf8ba8fd63 mangoapp: clean up msg_size 2022-02-18 16:08:14 +01:00
FlightlessMango
d82738b03c mangoapp: use GAMESCOPE_FOCUSED_APP_GFX instead 2022-02-18 16:08:14 +01:00
FlightlessMango
68f40c56cc only shrink frametime graph on mangoapp 2022-02-18 16:08:14 +01:00
jackun
e555a942fb
Use single IO stats instance 2022-02-18 16:44:10 +02:00
FlightlessMango
e12042ca3d mangoapp: adjust for changed msg size in gamescope 2022-02-17 15:27:17 +01:00
FlightlessMango
fa133940c8 Fix min/max frametime 2022-02-17 12:36:04 +01:00
Alessandro Toia
fb97530965 cpu: Fix not reporting amd cpu power 2022-02-16 19:53:42 -08:00
FlightlessMango
e289a55c6f mangoapp: make sure steam_focused is false when mangoapp_steam 2022-02-16 11:26:39 +01:00
FlightlessMango
316914da8d mangoapp: fixed mangoapp not respecting no_display 2022-02-15 19:16:45 +01:00
FlightlessMango
5cdedc4671 mangoapp: gamescope debug graphs 2022-02-15 10:23:33 +01:00
jackun
4608fa5e3a
vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr") should return our vkGetInstanceProcAddr not the next in the chain. 2022-02-15 00:35:55 +02:00
FlightlessMango
7740e8430f mangoapp: clean up unused variable 2022-02-14 11:01:20 +01:00
FlightlessMango
44a335a809 mangoapp: mangoapp_steam bool 2022-02-14 11:01:03 +01:00
FlightlessMango
6521eaa82d mangoapp: hide hud by default 2022-02-14 04:46:11 +01:00
Alessandro Toia
056f7b0e29 Check if battery status is full 2022-02-13 14:40:04 -08:00
FlightlessMango
17867f2a6d Battery: show remaining if > 1.f 2022-02-13 15:01:47 +01:00
FlightlessMango
b11714a326 mangoapp: hide fsr sharp when off 2022-02-13 15:00:16 +01:00
FlightlessMango
339f5c0d11 mangoapp: hide when steam is focused 2022-02-13 14:57:48 +01:00
FlightlessMango
cdcd08be44 battery remaining: don't show seconds at least by default 2022-02-13 08:51:28 +01:00
FlightlessMango
5508933c47 mangoapp: make fsr display a little prettier 2022-02-13 08:51:09 +01:00
Alessandro Toia
590f52d223 When battery is plugged in show plug icon 2022-02-12 15:28:34 -08:00
FlightlessMango
30ee0b770d Don't use all sysfs files if metrics_path 2022-02-11 08:53:06 +01:00
FlightlessMango
c708b1a8a8 disable deviceid check for now 2022-02-11 08:52:04 +01:00
FlightlessMango
4556caf6d3 mangoapp: remove some debug 2022-02-11 05:52:32 +01:00
FlightlessMango
b598d22543 mangoapp: don't write imgui.ini 2022-02-11 03:05:44 +01:00
Alessandro Toia
b158888d54 Add remaining time text to battery 2022-02-08 21:33:43 -08:00
FlightlessMango
61fb9267a0 mangoapp: don't use fsr if msg doesn't contain fsr 2022-02-09 05:33:08 +01:00
FlightlessMango
39f6ae98ec Battery remaining time 2022-02-09 05:20:59 +01:00
FlightlessMango
a9f811a207 mangoapp: gamescope fsr 2022-02-09 01:20:24 +01:00
FlightlessMango
8ddbcc3803 don't average log fps 2022-02-07 20:25:35 +01:00
FlightlessMango
d71dd74685 Fix amdgpu watt and make it more granular 2022-02-07 04:34:17 +01:00
flightlessmango
a76f2a9677
Merge pull request #684 from Joshua-Ashton/no_display_default_mapp
Enable no_overlay by default with mangoapp
2022-02-06 21:57:14 +01:00
FlightlessMango
5373140341 Don't enable battery_icon with full 2022-02-06 21:56:45 +01:00
FlightlessMango
d72099d1e7 Fixed issue with amdgpu metrics for APU 2022-02-06 21:56:33 +01:00
Joshua Ashton
beecde110b Enable no_overlay by default with mangoapp
Don't want this displaying unless explicitly requested.
2022-02-05 08:05:15 +00:00
FlightlessMango
986f3cc1b3 gpu_metrics: apu: set cpu temp as highest core temp 2022-02-04 21:01:44 +01:00
FlightlessMango
6983c2ec39 Use gpu_metrics instead of libdrm when available 2022-02-04 19:55:00 +01:00
jackun
eefce24024
Log an error if nvmlDeviceGetUtilizationRates failed 2022-02-04 16:50:51 +02:00
Joshua Ashton
8bc979b53c mangoapp: Fix janky window size transitions
GL apps that use non-normalized coordinates for stuff that will probably do stuff like this a lot in ways that make it hard to precompute the values beforehand make me very upset.
2022-02-01 02:34:36 +00:00
Joshua Ashton
b99817fd2b mangoapp: Don't redraw if we don't have new frames 2022-02-01 01:34:08 +00:00
Joshua Ashton
da8b0cbad4 mangoapp: Fix usage of notify_one in condition variable
This should be outside of the lock_guard scope to avoid a deadlock.
2022-02-01 01:27:45 +00:00
FlightlessMango
8e2c7e8524 mangoapp: disable amdgpu_handles 2022-01-29 20:29:10 +01:00
Lukáš Horáček
4943129844 cpu: Add parentheses around assigment in if check 2022-01-26 10:34:26 +02:00
Lukáš Horáček
ed4c8bca80 logging: Initialize total, total_cpu, total_gpu variables 2022-01-26 10:34:26 +02:00
Lukáš Horáček
e0cee5dbe3 cpu: Remove unused _power variable 2022-01-26 10:34:26 +02:00
FlightlessMango
fb1cae9cc9 display min/max frametime for period 2022-01-25 12:37:58 +01:00
flightlessmango
e435764eff
Merge pull request #662 from nanokatze/master
Set VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT when creating swapchain
2022-01-25 11:27:11 +01:00
FlightlessMango
9c15d093d6 Only reset logger if param is not set 2022-01-25 11:18:28 +01:00
FlightlessMango
639c39cdbb mangohudctl: expand help message 2022-01-24 06:02:52 +01:00
FlightlessMango
15a5edeb51 mangoapp: fixing up ctl switch statements 2022-01-22 05:17:55 +01:00
FlightlessMango
c50c815630 destroy logger with vulkan instance 2022-01-22 04:24:48 +01:00
Alessandro Toia
af716ac830 Add fps_only to legacy_elements, fixes #674 2022-01-21 17:40:29 -08:00
FlightlessMango
46730b572a permit starting a new log even if previous is rendering 2022-01-21 13:33:39 +01:00
FlightlessMango
9c7f91eccd clearer headers in summary 2022-01-21 11:20:50 +01:00
FlightlessMango
e9d4eeff04 mangohudctl meson option 2022-01-21 10:42:30 +01:00
FlightlessMango
97f6a00171 mangohudctl and interface 2022-01-21 10:35:55 +01:00
Joshua Ashton
f462c7ff76 Write log file in mangoapp
This was only writing the summary, which is rather useless.
2022-01-21 06:46:25 +00:00
FlightlessMango
3e2023a4a2 mangoapp: control socket 2022-01-20 01:24:01 +01:00
FlightlessMango
d4ca1050ec control: add toggle-logging 2022-01-19 05:29:50 +01:00
FlightlessMango
d734fa1b66 mangoapp: set static height to include benchmark 2022-01-19 05:29:50 +01:00
Alessandro Toia
2455d7ae9e Disable fps_color_change and core_load_change when using full config 2022-01-18 17:11:51 -08:00
flightlessmango
0f49c5796a
Merge pull request #671 from Joshua-Ashton/empty_crash
Fix crash when no frames were recorded
2022-01-19 01:57:03 +01:00
Joshua Ashton
437563fa77 Fix crash when no frames were recorded
This can happen with MangoApp + the Steam Deck UI as it doesn't commit when there is nothing going on
2022-01-19 00:51:50 +00:00
FlightlessMango
3d3916247a mangoapp: force benchmark underneath 2022-01-19 01:35:46 +01:00
FlightlessMango
8ee7dc0d7b mangoapp: increase window size when rendering benchmark 2022-01-19 01:35:46 +01:00
FlightlessMango
53b2a8b842 mangoapp: force log_interval 0 2022-01-19 01:35:46 +01:00
Alessandro Toia
21ecb48214 Fix fps not showing when using full config 2022-01-18 16:04:05 -08:00
FlightlessMango
6f882115f0 initialize m_log_end 2022-01-18 23:49:30 +01:00
flightlessmango
1f94e0af4d
Merge pull request #657 from ishitatsuyuki/quad
overlay: avoid quadratic behavior
2022-01-17 08:18:25 +01:00
FlightlessMango
5d3c0ff686 mangoapp: make sure logger is inited 2022-01-15 20:05:32 +01:00
FlightlessMango
d5c409beed mangoapp: temporarily remove vram mhz 2022-01-15 01:34:09 +01:00
FlightlessMango
37e18279e7 mangoapp: use amdgpu metrics 2022-01-14 22:41:38 +01:00
FlightlessMango
498687c33d mangoapp: let gamescope decide when to send updates 2022-01-07 18:42:06 +01:00
FlightlessMango
f7dffb03a1 mangoapp: bump width 2022-01-07 11:00:49 +01:00
FlightlessMango
77e4d51d87 calculate and show mins in benchmark 2022-01-06 14:54:45 +01:00
FlightlessMango
3366120364 Move calc benchmark into logger 2022-01-06 14:54:45 +01:00
FlightlessMango
7071900a79 Disable fps_only when using full param 2022-01-06 13:40:25 +01:00
FlightlessMango
496fa0babc mangoapp: shutdown and reinit based on no_display 2022-01-06 10:57:18 +01:00
FlightlessMango
6c0965c27b Write a log summary 2022-01-06 07:10:09 +01:00
FlightlessMango
a1b7b55a54 Use hudelements params in logging 2022-01-05 11:27:39 +01:00
FlightlessMango
92151565fc mangoapp: disable some options 2022-01-05 08:46:33 +01:00
flightlessmango
01cdc6cdc2
Merge pull request #664 from Joshua-Ashton/gamescope-external
mangoapp: Use GAMESCOPE_EXTERNAL_OVERLAY
2022-01-05 05:16:31 +00:00
FlightlessMango
941d5e6977 mangoapp: close if no_display 2022-01-05 06:14:19 +01:00
FlightlessMango
b0fc3d348a mangoapp: notifier 2022-01-05 06:14:19 +01:00
FlightlessMango
4cd2ba539f mangoapp: cleaning up 2022-01-05 06:14:19 +01:00
jackun
4a33838bcd
Add extra parentheses to make compiler happy 2022-01-04 18:20:33 +02:00
Joshua Ashton
80042e00a3 mangoapp: Rename to "mangoapp overlay window" 2022-01-04 12:17:36 +00:00
Joshua Ashton
0be5e9a72f mangoapp: Use GAMESCOPE_EXTERNAL_OVERLAY
Don't replace the STEAM_OVERLAY
2022-01-04 06:56:56 +00:00
Alessandro Toia
4f02e20205 Blacklist: add EADesktop.exe and EALauncher.exe 2022-01-03 15:49:08 -08:00
Alessandro Toia
6717ad9ecf Remove the FPS text from fps_only param 2022-01-03 15:43:53 -08:00
Alessandro Toia
15fc641fc3 Add fps_only param to disable showing the engine name 2022-01-02 19:30:52 -08:00
FlightlessMango
9758d2a286 Try to get correct amd gpu when multiple 2022-01-02 12:04:22 +01:00
FlightlessMango
e7c59c55a2 Rewrite reading core mhz files 2021-12-30 23:59:04 +01:00
Constantine
a04230ad29 Set VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT when creating swapchain
Fixes #582
2021-12-30 23:44:56 +02:00
FlightlessMango
cfd802c063 Incorrect param used in calc benchmark 2021-12-30 02:27:21 +01:00
FlightlessMango
aab8730f69 exec: make sure LD_PRELOAD is unset 2021-12-19 14:42:11 +01:00
FlightlessMango
7212c79feb Logging: push param to benchmark calc 2021-12-19 14:40:27 +01:00
Tatsuyuki Ishi
ada173e67f overlay: avoid quadratic behavior
Using a vector with erase(begin()) results in a copy of the full array
every time. This is inefficient and in the case of HUD graphs, was having
quadratic complexity which can noticeably affect performance.

This patch replaces most of the operations with an O(1) alternative,
keeping the total cost under a linear bound. While on this, also refactor
the size of graph array into a constant.
2021-12-19 00:20:54 +09:00
FlightlessMango
337ecbc4cf use scaling_cur_freq for cpu core mhz 2021-12-14 18:49:23 +01:00
FlightlessMango
ee7f3fbfd2 Mangoapp: frametime message queue 2021-12-13 14:38:50 +01:00
FlightlessMango
52ae70f650 read_line: return empty line if ifstream fails 2021-12-13 14:33:39 +01:00
FlightlessMango
ac58c30bbc Use driverInfo for driver name/version instead 2021-12-13 14:20:38 +01:00
FlightlessMango
e7de7b5b93 Get device name before system info 2021-12-10 11:47:55 +01:00
FlightlessMango
9434033083 Don't use read_line as it causes issue with splitgate 2021-12-10 11:27:12 +01:00
FlightlessMango
f2dcf3f4b2 Rewrite of exec() 2021-12-09 21:16:12 +01:00
FlightlessMango
23ed317536 mangoapp: shm struct + gamescope engine 2021-11-18 08:25:30 +01:00
FlightlessMango
fbda58c907 Some windows fixes 2021-11-12 05:44:53 +01:00
Stephan Lachnit
4983056600 fix regression in hw_info_updater
Calling std::unique_lock in update() will cause a delay if
update_hw_info() takes longer than the period when update() is called.
To fix this, a try_to_lock tag is added. update() will only update if
the lock is aquired, else the update call is skipped.

Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2021-11-10 08:55:02 +02:00
FlightlessMango
45be485a13 mangohud control 2021-11-04 02:08:26 +01:00
FlightlessMango
5fee3bc5e3 Change _params to pointer 2021-11-04 02:07:38 +01:00
FlightlessMango
872c3f03a4 Show highest cpu freq instead of cumulative 2021-11-03 01:06:15 +01:00
FlightlessMango
da573e8eba mangoapp: fix not respecting nvctrl option 2021-10-23 02:35:09 +02:00
FlightlessMango
cb3682633e Mangoapp: include unistd for sleep 2021-10-18 17:50:58 +02:00
FlightlessMango
b001eb4714 Move _params init to overlay.cpp 2021-10-18 17:50:58 +02:00
FlightlessMango
cd215854ce Mangoapp: meson option 2021-10-18 17:50:58 +02:00
Joshua Ashton
fb619147e4 Set overlay atom to tell gamescope to render over 2021-10-18 17:50:58 +02:00
FlightlessMango
4e3a40c6ef mangoapp + gamescope shm 2021-10-18 17:50:58 +02:00
jackun
a91f1c7cf7
Iterate through libraries for possible locations of dlopen/dlsym functions
glibc 2.34 moves `dlopen` and `dlsym` from libdl.so to libc.so
2021-10-07 09:02:59 +03:00
jackun
abf146f73c
Set correct swapchain_stats etc references for hw updater 2021-10-02 16:42:37 +03:00
jackun
9b6a39dfe9
sed s/gnu_linux/linux/g 2021-10-02 15:25:07 +03:00
jackun
90e48f95ca
Use unversioned fmt::format_error 2021-10-02 15:25:07 +03:00
jackun
6584f23a6c
Use ghc::filesystem to iterate over /proc/self/map_files 2021-10-02 15:25:07 +03:00
jackun
c452609718
Fix hw update thread waiting for initial update signal 2021-09-27 14:52:47 +03:00
jackun
ced84ec526
Try to find dlopen/dlsym from libc.so too (musl libc, glibc 2.34+) 2021-09-27 14:48:43 +03:00
FlightlessMango
947f287a5e
Only create hw_info_thread once 2021-09-24 22:16:47 +03:00
jackun
729ccc83bd
Use spdlog's 'fmt' to format media player metadata
Usage:
  media_player_format={title};{artist};{album}

Semi-colon breaks to new line, might change.
2021-09-23 14:54:22 +03:00
FlightlessMango
3ac7772a55 Add universal param 2021-09-18 17:21:20 +02:00
jackun
ac11beef9b
[dbus] Don't stop D-Bus thread or remove filter if not completely deiniting 2021-09-08 23:35:09 +03:00
jackun
31e879215a
[dbus] Also check if gamemode is enabled with D-Bus 2021-08-21 18:45:47 +03:00
jackun
7e3a56d356
[dbus] Raise TRAP if wrong primitive type but allow to continue 2021-08-21 18:45:47 +03:00
jackun
d1617818cd
Fix OpenGL gpu_name 2021-08-12 18:18:39 +03:00
jackun
a431c092eb
Separate libdrm and libdrm_amdgpu loader 2021-08-12 16:21:37 +03:00
jackun
822e325d11
Add get_basename, fix win32 build
std::string::substr likes to throw
2021-08-12 16:07:42 +03:00
jackun
9df9df0f4f
Fix some tangling printfs 2021-08-11 01:50:14 +03:00
jackun
94a7705554
Fix integer overflow on 32 bit, for procmem 2021-08-08 17:21:45 +03:00
jackun
5767426192
Nope, ERROR level has higher priority, doh 2021-08-07 16:27:16 +03:00
jackun
c79e01830d
Clean up battery.{h,cpp} header includes 2021-08-07 16:02:37 +03:00
jackun
866fd8bc24
Add per process memory usage (procmem etc) 2021-08-07 15:56:27 +03:00
jackun
891abdf3b9
Skip setting up vulkan render if HUD is hidden 2021-07-31 01:14:42 +03:00
jackun
b20d2492bc
Limit keybind check to about 10hz 2021-07-31 01:14:42 +03:00
jackun
355c521f12
Misc small clean ups and fixes 2021-07-30 19:15:49 +03:00
jackun
a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 2021-07-27 16:16:39 +03:00
jackun
46c2183b5d
Use engine type enum in engine_version() 2021-07-27 15:34:15 +03:00
jackun
7d3b6b946d
Don't reinit stuff when re-creating swapchain
Partial revert of e13e98e03a
2021-07-21 19:00:49 +03:00
jackun
6c604f379c
Fix parse_pciids when trying to open pci.ids from alternate location 2021-07-21 19:00:49 +03:00
jackun
944202f273
Fix #ifdef scope in overlay_DestroyInstance 2021-07-20 22:46:45 +03:00
jackun
d41ad84260
Poll amdgpu regs at 120ticks/s regardless of sampling period 2021-07-16 04:06:36 +03:00
jackun
2f807a4c0d
Add spdlog wrap and logging 2021-07-16 04:06:09 +03:00
jackun
c093f9823e
Use libdrm_amdgpu for amdgpu sensor info, if available
Using plain `open` as `drmOpen` needs bus id check which needs interface 1.4 ioctl which gives EPERM cause only DRM_MASTER can call it :(

https://github.com/clbr/radeontop/issues/48#issuecomment-493792404
2021-07-13 19:54:24 +03:00
jackun
88d801bd7e
Move functions not directly related to vulkan from vulkan.cpp to overlay.cpp 2021-07-13 17:08:16 +03:00
jackun
8244d7f288
Fix vulkan driver's patch version 2021-07-06 19:04:35 +03:00
Joshua Martin
3b0b6fbc42
Add position options to place the overlay halfway down the screen (#561) 2021-07-04 22:17:43 +03:00
jackun
b6dab97d08
[OpenGL] Some code clean-ups 2021-07-01 17:56:01 +03:00
jackun
f8bb948de2
More quotation glyphs 2021-07-01 17:36:34 +03:00
Lukáš Horáček
213953089d
Detect ToGL 2021-06-27 16:35:07 +02:00
Lukáš Horáček
f1eae93253
Use map_files instead of lsof for wined3d detection 2021-06-27 16:33:10 +02:00
jackun
750d2cddb5
Make engine type per instance 2021-06-27 16:31:19 +03:00
FlightlessMango
e39513cfa4 still check PengineName if engine OpenGL 2021-06-24 17:03:55 +02:00
FlightlessMango
3f120b1fc5 don't set engine to vulkan if already set 2021-06-23 19:53:07 +02:00
Alessandro Toia
0bc6d33a24 Fix frame spikes when using battery parameter 2021-06-19 19:57:07 -07:00
Alessandro Toia
570bef468b Cosmetic changes to engine detection 2021-06-19 15:58:01 -07:00
FlightlessMango
5330573c8c don't rely on std in engine detection 2021-06-17 00:49:46 +02:00
FlightlessMango
94dda243a5 Battery: header include filesystem.h 2021-06-11 21:06:53 +02:00
FlightlessMango
226330c0d7 Battery: assume unknown status is charging 2021-06-11 20:38:30 +02:00
jackun
9da427d093
Include u2019 (RIGHT SINGLE QUOTATION MARK) glyph by default 2021-06-11 20:22:21 +03:00
jackun
0ee101e0ac
Fix MPRIS ticker, microseconds to nanoseconds 2021-06-11 20:14:03 +03:00
FlightlessMango
a50bbbac22 add battery, fps_limit and resolution to legacy layout 2021-06-11 18:58:11 +02:00
jackun
37d8c75c78 Skip calculating IO stats for first sample
Or you get high read/write speeds averaged over process' whole lifetime.
2021-06-11 17:55:09 +02:00
flightlessmango
428ddf4e8a
Merge pull request #536 from flightlessmango/battery_test
Battery info and font awesome icons
2021-06-10 20:52:58 +00:00
FlightlessMango
2e5fc31711 use vulkan to determine if zink 2021-06-10 22:41:06 +02:00
FlightlessMango
92282bcec2 convert frametime from ns to us 2021-06-10 19:40:15 +02:00
Joshua Ashton
815097718e Use nanoseconds to calculate fps
No need to round this earlier on.

Removes an unnecessary implicit float -> double conversion in the calculation also
2021-06-10 19:40:15 +02:00
Joshua Ashton
1f0119bc91 Use raw clocks if available
Avoids NTP synchronization having impact on frametime pacing.
2021-06-10 19:40:15 +02:00
medusalix
560930214a Fix CPU power calculations 2021-06-10 19:40:15 +02:00
Alessandro Toia
5c48b4729c Change param to battery, add param for icon, hide power when plugged in 2021-06-08 16:04:33 -07:00
jackun
a0a57038c1
Fix redefinition of 'open'
musl pulls in fcntl.h from somewhere
2021-06-03 09:55:33 +03:00
Alessandro Toia
105ad9c2be Check for batteries only once 2021-05-27 15:40:33 -07:00
Alessandro Toia
500a65dd52 Only display battery stats if a battery is present 2021-05-27 15:40:33 -07:00
Alessandro Toia
a533883a39 Check if there are battieres before attempting to retrieve stats 2021-05-27 15:40:33 -07:00
Alessandro Toia
8960a54813 Change battery path list to array 2021-05-27 15:40:33 -07:00
Alessandro Toia
6833ee3593 Check if battery(s) are fully charged 2021-05-27 15:40:33 -07:00
Alessandro Toia
6c69f68f7f Iterate over n batteries to find energy consumption 2021-05-27 15:40:33 -07:00
Alessandro Toia
e63a5bd472 Iterate over n batteries to find percent 2021-05-27 15:40:33 -07:00
Alessandro Toia
62db1495d6 Scale down icons if font is small 2021-05-27 15:40:33 -07:00
Alessandro Toia
5656001639 Add forkawesome from compressed Base85 TTF 2021-05-27 15:40:33 -07:00
Alessandro Toia
552a85aaaa Only update battery stats if a battery is present 2021-05-27 15:40:33 -07:00
Alessandro Toia
c6074b0f4d Check if there are batteries before checking if they are charging 2021-05-27 15:40:33 -07:00
Alessandro Toia
8980ff46bc When plugged in change battery icon according to percent 2021-05-27 15:40:33 -07:00
Alessandro Toia
5adb4500c7 Install forkawesome font file 2021-05-27 15:40:33 -07:00
Alessandro Toia
b89b9b8109 Add ForkAwesome Icons 2021-05-27 15:40:33 -07:00
Alessandro Toia
1ab25220c6 Add param to check battery power and percent 2021-05-27 15:40:33 -07:00
FlightlessMango
a90c897feb Check battery info 2021-05-27 15:40:33 -07:00
Alessandro Toia
d556e8e357 Improve Zink detection 2021-05-27 15:38:44 -07:00
Alessandro Toia
36ec9ef41a Add round_corners param 2021-04-29 21:06:22 -07:00
jackun
47865573a8
Add option to prepend libdir to library's path in vulkan manifest
"\$LIB" technically breaks json but on the other hand vulkan loader
currently doesn't handle "\\$LIB"
Help with issue #468
2021-04-18 23:03:24 +03:00
jackun
765024227c
[OpenGL] Framerate limit in eglSwapBuffers 2021-04-17 22:29:22 +03:00
Alessandro Toia
ddfcb01c30 Add detection of Zink 2021-04-15 15:40:12 -07:00
jackun
a724e5e294
Fix engine name not showing with engine_version without fps also enabled 2021-04-12 22:42:38 +03:00
jackun
34f964eab9
Use aligned buffer size with vkMapMemory too 2021-04-08 00:46:56 +03:00
Alessandro Toia
856c333e09 Fix wine param not properly detecting proton experimental 2021-04-01 17:14:21 -07:00
Alessandro Toia
272b035ca8 Fix wine param not detecting proton experimental 2021-04-01 16:59:19 -07:00
jackun
0f6ead57d7
[OpenGL] Bind framebuffer for all GL ES versions 2021-03-31 18:51:34 +03:00
jackun
e62d6e3337
[OpenGL] Save/restore last GL_DRAW_FRAMEBUFFER if using gl_bind_framebuffer 2021-03-31 18:39:23 +03:00
jackun
714f3853f7
[OpenGL] Support apitrace in debug build
Try to load `glxtrace.so` instead of `libGL.so.1`.
Assumes `glxtrace.so` lives outside of usual library paths and is only preloaded.
2021-03-31 17:52:38 +03:00
jackun
afa50a17c4
[OpenGL] Add gl_size_query, gl_bind_framebuffer, gl_dont_flip options for workarounds
`gl_size_query = viewport` - specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable.
`gl_bind_framebuffer = 0` - (re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings 3.
`gl_dont_flip = 1` - don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx.
2021-03-30 05:33:11 +03:00
jackun
54d6a8e889
Unset LD_LIBRARY_PATH if using absolute paths in LD_PRELOAD
$LIB in LD_LIBRARY_PATH makes `ldconfig` unhappy.
2021-03-24 19:55:32 +02:00
jackun
ea07d1e080
Remove ".exe" from wine executable's name
Fixes ad4e1ac35f
2021-03-22 21:26:11 +02:00
jackun
ad4e1ac35f
Try to get wine executable's name from /proc/self/comm 2021-03-20 14:37:12 +02:00
jackun
4d4444e1c5
Allow overriding config file options with MANGOHUD_CONFIG if using legacy layout 2021-03-16 23:45:43 +02:00
jackun
4f3133c5da
Fix log file using wine-preloader etc instead of executable's filename 2021-03-16 22:32:25 +02:00
Lukáš Horáček
8f3ecb81df Divide IO stats by time difference since last update
This should prevent IO stats reaching high numbers when application stops responding resulting into MangoHud not updating.
2021-03-13 17:10:25 +02:00
jackun
30cdc912a8
Rework blending equation to preserve alpha in output buffer
bda12e5fdd
2021-03-07 23:42:54 +02:00
jackun
118c54072f
[OpenGL] Disable primitive restart 2021-03-06 23:01:50 +02:00
jackun
8e7564ab1a
[OpenGL] Disable stencil test 2021-03-06 22:59:31 +02:00
jackun
bdd87f5eff
Use SetTexID instead 2021-03-06 22:58:06 +02:00
jackun
76b571bc11
[OpenGL] Fix glClipControl(GL_UPPER_LEFT) rendering 2021-03-06 22:16:59 +02:00
jackun
6c737dc734
Round up buffer allocation sizes to nonCoherentAtomSize.
For some Vega APUs. Or don't use VK_WHOLE_SIZE?
2021-03-02 20:47:02 +02:00
jackun
f77a73ce8a
Fix scoped_lock clash with >= c++17 2021-03-02 13:01:04 +02:00