Page 1 of 1

[App] libGameMode D/E

Posted: Wed Feb 11, 2015 4:30 pm
by zoelechat
For those who are annoyed by native picture improvements such as "Motion Plus" (="camcorder" effect), "Motion Plus LED" and so on, this patch allows to directly set/unset "Game Mode" (where all these features are disabled) on every source, including the ones where it's normally not allowed. Especially on TV/Media Player/PVR Player.

Set your TV to source(s) where you'd like to set Game Mode (for media player/PVR: play a movie), then inject patch.
Patch is permanently applied (even after TV reboot) until you launch it again on the same source.
Current source ID and state (enabled/disabled) can be found in log. You can also check in TV menu->System->General if "Game Mode" is ON/OFF (even if option is greyed out, its state is reliable).

Usage:
*For D series (arm), replace every instance of /mnt below by /mtd_rwcommon/widgets/user/SamyGO/SamyGO
  • Get latest samyGOso from there and copy/overwrite samyGOso file (not folder) to /mnt/opt/privateer/usr/bin
  • Set permissions if needed (usually not if overwritten)

    Code: Select all

    chmod +x /mnt/opt/privateer/usr/bin/samyGOso
  • Extract attached archive and copy libGameMode.so to /mnt/opt/privateer/usr/libso (create folder if needed)
  • Execute

    Code: Select all

    samyGOso -d -D -l /mnt/opt/privateer/usr/libso/libGameMode.so
    Logfile is written to /dtv/GameMode.log
*Changelog:

Code: Select all

19/2/2015
v0.1.1 - Quicker TV series detection
15/2/2015
v0.1.0 - First public release
13/2/2015
v0.0.6 - Removed (hypothetical) F support
12/2/2015
v0.0.5 - Forcibly disable MotionPlus on TV source
11/2/2015
v0.0.3 - Pre-release

Re: [App] libGameMode D/E/F/H

Posted: Thu Feb 12, 2015 10:15 am
by zoelechat
New version. Please test :)
Now forcibly disables MotionPlus when switching to Game Mode on TV source (not necessary on other sources where it's done automatically). User defined MotionPlus level is restored if switching back to normal mode.

Re: [App] libGameMode D/E/(F?)

Posted: Fri Feb 13, 2015 10:10 pm
by oldman
Didn't work on F series. At first I activated Motion Plus (Standard) on TV and HDMI sources. After applying your patch the TV was turned off. Unfortunately, the MP Standard is still active.
SpoilerShow

Code: Select all

root@tv:/mnt $ samyGOso -d -A -B -l /mnt/opt/privateer/usr/libso/libGameMode.so
samyGOso v1.2.4 (c) bugficks 2013, sectroyer 2014
Injecting '/mnt/opt/privateer/usr/libso/libGameMode.so' resident: '0'
mprotect: 0x41e96f80
dlopen: 0x42158c5c
dlclose: 0x42158cf0
dlsymaddr: 0x42158d50
pc=41fc4654 lr=41fc4638 sp=befcee80 fp=80
r0=af30294 r1=80
r2=1 r3=0
stack: 0xbefaf000-0xbefd0000 length = 135168
executing injection code at 0xbefced40
library injection completed!
Succeeded.
Edit: and there is no log file.

Re: [App] libGameMode D/E/(F?)

Posted: Fri Feb 13, 2015 10:17 pm
by zoelechat
Ok, I was almost sure of that, F and H are often similar. Thanks for testing and sorry: removing (hypothetical) F support for now. At least until I find a different way (maybe :) )

Re: [App] libGameMode D/E/(F?)

Posted: Fri Feb 13, 2015 10:20 pm
by oldman
Never mind, but thanks for trying!

Re: [App] libGameMode D/E

Posted: Sun Feb 15, 2015 7:42 pm
by zoelechat
@juuso
Does this patch work for you? I'd like to be sure it works on D before releasing it (less and less series are supported :) )

Re: [App] libGameMode D/E

Posted: Mon Feb 16, 2015 9:17 am
by juusso
Sorry me being not helpfull these days, i`m very, very bussy with other things... :shock:
here is the result:

Code: Select all

[GameMode] SamyGO D/E libGameMode v0.1.0 - (c) zoelechat 2015
[GameMode] g_pAppWindow [0x599067c].
[GameMode] g_pAppTV [0x5990670].
[GameMode] g_pAppScreen [0x5990674].
[GameMode] _ZN4TCTv11SetGameModeEiiii [0xb9b89c].
[GameMode] _ZN4TCTv11GetGameModeEiiPii [0xb9b840].
[GameMode] _ZN8TCScreen13GetMotionPlusEPNS_11EAutoMotionEN4TCMW5ESeekE [0xb8ee98].
[GameMode] _ZN8TCScreen13SetMotionPlusENS_11EAutoMotionEN4TCMW5ESeekE [0xb8eecc].
[GameMode] _ZN8TCWindow9GetSourceEPii [0xba0ebc].
[GameMode] lib_init, >>>
[GameMode] Source: 0, GameMode: Enabled, MotionPlus: 0
[GameMode] <<< lib_deinit 
And... what i have to look for on TV? I`ve never used game mode, i know it only theoretically :)
Never checked it before, but i can switch motion plus on/off whenever i need. Even without patching. Am i wrong?

Re: [App] libGameMode D/E

Posted: Mon Feb 16, 2015 10:50 am
by zoelechat
Ok, no problem I won't ask you too much :)
You might check in TV menu->system->general if "Game Mode" is ON (even if greyed out). Don't forget:
zoelechat wrote:Patch is permanently applied (even after TV reboot) until you launch it again on the same source.
Consequently if you could just launch patch once again, tell me if you see screen flickering on injection, and paste again log please.
(then GameMode: should be disabled, and MotionPlus: should be back to your user value e.g. Standard=2)

"Game mode" disables not only Motion Plus (btw this option should become greyed out if you launch patch in PVR/media player mode) but also most other enhancements, so the image is supposed to become as natural as possible. More it considerably reduces input lag (that's why it's called Game Mode :) )

About usefulness: could be mapped to a remote key if you like to quickly switch from enhanced/not-enhanced. Or used once on every source to permanently disable enhancements everywhere (it seems some people hate "camcorder" effect, I personnally prefer it to jerky moves :) )

Re: [App] libGameMode D/E

Posted: Mon Feb 16, 2015 3:04 pm
by juusso
was on hdmi...

Code: Select all

root@[TV] /> cat /dtv/GameMode.log
[GameMode] SamyGO D/E libGameMode v0.1.0 - (c) zoelechat 2015
[GameMode] g_pAppWindow [0x599067c].
[GameMode] g_pAppTV [0x5990670].
[GameMode] g_pAppScreen [0x5990674].
[GameMode] _ZN4TCTv11SetGameModeEiiii [0xb9b89c].
[GameMode] _ZN4TCTv11GetGameModeEiiPii [0xb9b840].
[GameMode] _ZN8TCScreen13GetMotionPlusEPNS_11EAutoMotionEN4TCMW5ESeekE [0xb8ee98].
[GameMode] _ZN8TCScreen13SetMotionPlusENS_11EAutoMotionEN4TCMW5ESeekE [0xb8eecc].
[GameMode] _ZN8TCWindow9GetSourceEPii [0xba0ebc].
[GameMode] lib_init, >>>
[GameMode] Source: 71, GameMode: Enabled, MotionPlus: 0
[GameMode] <<< lib_deinit
switched to TV, then inject...

Code: Select all

root@[TV] /> cat /dtv/GameMode.log
[GameMode] SamyGO D/E libGameMode v0.1.0 - (c) zoelechat 2015
[GameMode] g_pAppWindow [0x599067c].
[GameMode] g_pAppTV [0x5990670].
[GameMode] g_pAppScreen [0x5990674].
[GameMode] _ZN4TCTv11SetGameModeEiiii [0xb9b89c].
[GameMode] _ZN4TCTv11GetGameModeEiiPii [0xb9b840].
[GameMode] _ZN8TCScreen13GetMotionPlusEPNS_11EAutoMotionEN4TCMW5ESeekE [0xb8ee98].
[GameMode] _ZN8TCScreen13SetMotionPlusENS_11EAutoMotionEN4TCMW5ESeekE [0xb8eecc].
[GameMode] _ZN8TCWindow9GetSourceEPii [0xba0ebc].
[GameMode] lib_init, >>>
[GameMode] Source: 0, GameMode: Disabled, MotionPlus: 2
[GameMode] <<< lib_deinit
root@[TV] />
inject again

Code: Select all

root@[TV] /> cat /dtv/GameMode.log
[GameMode] SamyGO D/E libGameMode v0.1.0 - (c) zoelechat 2015
[GameMode] g_pAppWindow [0x599067c].
[GameMode] g_pAppTV [0x5990670].
[GameMode] g_pAppScreen [0x5990674].
[GameMode] _ZN4TCTv11SetGameModeEiiii [0xb9b89c].
[GameMode] _ZN4TCTv11GetGameModeEiiPii [0xb9b840].
[GameMode] _ZN8TCScreen13GetMotionPlusEPNS_11EAutoMotionEN4TCMW5ESeekE [0xb8ee98].
[GameMode] _ZN8TCScreen13SetMotionPlusENS_11EAutoMotionEN4TCMW5ESeekE [0xb8eecc].
[GameMode] _ZN8TCWindow9GetSourceEPii [0xba0ebc].
[GameMode] lib_init, >>>
[GameMode] Source: 0, GameMode: Enabled, MotionPlus: 0
[GameMode] <<< lib_deinit
root@[TV] />

Re: [App] libGameMode D/E

Posted: Mon Feb 16, 2015 3:16 pm
by zoelechat
Ok, seems perfect.
Obviously on first try you weren't on HDMI (Source: 0=TV). Each source has its independent settings. Now seeing logs you have Game Mode enabled on both TV source and HDMI(number you were on). Just in case you wonder why some image settings are greyed out, you would have to relaunch patch on both sources to revert everything to "normal" state.
Anyway, I've seen what I wanted to, thanks :)
Releasing...