matanui159 / ReplaySorcery

An open-source, instant-replay solution for Linux
GNU General Public License v3.0
856 stars 26 forks source link

Constant CPU and therefore fan usage #127

Closed abienz closed 3 years ago

abienz commented 3 years ago

Describe the bug Since installing and enabling replay-sorcery I now hear my fans running at all times, checking the system monitor I can see that at replay-sorcery is constantly running at about 2.5% CPU usage.

I want to know if this is expected behavior as it is quite jarring hearing my CPU fans running so much now, I understand this may be particular to my hardware configuration.

Desktop:

Configuration: See attached zip file

Logs: See attached zip file replaySorceryFiles.zip

Calinou commented 3 years ago

This is expected. Only leave ReplaySorcery running when you're playing a game :slightly_smiling_face:

I suppose we could have a way to suspend ReplaySorcery automatically when a game is no longer running (e.g. by detecting process names currently running every 30 seconds or so).

abienz commented 3 years ago

Is there a preferred/recommended way to switch on or off replay-sorcery?

Seems a bit cumbersome to enable and disable through systemctl even if it is saved in my terminals history.

I agree a way for ReplaySorcery to detect when a game is running would be ideal.

Calinou commented 3 years ago

Is there a preferred/recommended way to switch on or off replay-sorcery?

Seems a bit cumbersome to enable and disable through systemctl even if it is saved in my terminals history.

You could define system keyboard shortcuts using your desktop environment's shortcut facilities.

abienz commented 3 years ago

Ok, thanks for the feedback, please consider your suggestion for checking for games running, I think it's a really neat idea.

matanui159 commented 3 years ago

2.5% shouldn't really be making the fans spin 🤔 if it helps try enabling hardware-acceleration (it should be supported on ur system since you have a AMD card.

abienz commented 3 years ago

@matanui159 Thanks for the idea, I did try but I get errors running it now, maybe I haven't edited my config properly?

~/.config/replay-sorcery.conf videoInput = kms_service (I have also tried this with hwaccel

journalctl output:


Sep 16 13:40:01 arch-desk systemd[1211]: Started ReplaySorcery: an open-source, instant-replay solution for Linux..
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Real user ID: 1000
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Effective user ID: 1000
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Reading config file '/usr/etc/replay-sorcery.conf'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'logLevel' to 'info'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'traceLevel' to 'error'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'recordSeconds' to '30'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoInput' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoDevice' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoX' to '0'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoY' to '0'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoWidth' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoHeight' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoFramerate' to '30'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoEncoder' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoProfile' to 'baseline'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoPreset' to 'fast'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoQuality' to '28'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoBitrate' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoGOP' to '30'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'scaleWidth' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'scaleHeight' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioInput' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioDevice' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioSamplerate' to '44100'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioEncoder' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioProfile' to 'low'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'audioBitrate' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'controller' to 'auto'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'keyName' to 'r'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'keyMods' to 'ctrl+super'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'outputFile' to '~/Videos/ReplaySorcery/%F_%H-%M-%S.mp4'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'outputCommand' to 'notify-send ReplaySorcery "Saved replay as %s"'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Reading config file '/home/alex/.config/replay-sorcery.conf'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Setting 'videoInput' to 'kms_service'...
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: ReplaySorcery  Copyright (C) 2020-2021  ReplaySorcery developers
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: This program comes with ABSOLUTELY NO WARRANTY.
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: This is free software, and you are welcome to redistribute it
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: under certain conditions; see COPYING for details.
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: FFmpeg version: n4.4
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: [h264_vaapi @ 0x5596c25e7380] Filter graph: hwmap=derive_device=vaapi,crop=3440:1440:0:0,scale_vaapi=3440:1440:nv12
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: [AVHWDeviceContext @ 0x5596c25f3000] Failed to initialise VAAPI connection: -1 (unknown libva error).
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: [Parsed_hwmap_0 @ 0x5596c25ed640] Failed to created derived device context: -5.
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: [Parsed_hwmap_0 @ 0x5596c25ed640] Failed to configure output pad on Parsed_hwmap_0
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: [AVFilterGraph @ 0x5596c25ea440] Failed to configure filter graph: Input/output error
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Unused option: rc_mode
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Failed to create VA-API encoder: Input/output error
Sep 16 13:40:01 arch-desk replay-sorcery[19391]: Function not implemented
Sep 16 13:40:01 arch-desk systemd[1211]: replay-sorcery.service: Main process exited, code=exited, status=1/FAILURE
Sep 16 13:40:01 arch-desk systemd[1211]: replay-sorcery.service: Failed with result 'exit-code'.
Sep 16 13:40:01 arch-desk systemd[1211]: replay-sorcery.service: Scheduled restart job, restart counter is at 5.
Sep 16 13:40:01 arch-desk systemd[1211]: Stopped ReplaySorcery: an open-source, instant-replay solution for Linux..
Sep 16 13:40:01 arch-desk systemd[1211]: replay-sorcery.service: Start request repeated too quickly.
Sep 16 13:40:01 arch-desk systemd[1211]: replay-sorcery.service: Failed with result 'exit-code'.
Sep 16 13:40:01 arch-desk systemd[1211]: Failed to start ReplaySorcery: an open-source, instant-replay solution for Linux..```