Request installation option to turn-off hardware acceleration completely

hhspiny

Member
Attempted to run in hyper-v VM with GPU-P enabled. after installation, when GUI was loading, VM crashed, and VM always crashed during booting. in previous conversation, I was told that this is not supported at least for some GPU.

without GPU-P, installed and ran fine. but all hardware acceleration related options were grayed out, could not turn off hardware acceleration explicitly.

Then enabled GPU-P again, it ran fine during booting, could connect to windows login screen and login. but VM still crashed as remotly GUI was loading.

Guess that the GUI during loading tries to detect hardware acceleration. If there is an option during installation to turn it off, it might run ok?
 

mirillis

Administrator
Staff member
Hi hhspiny,

Thank you for a detailed explanation.

"Then enabled GPU-P again, it ran fine during booting, could connect to windows login screen and login. but VM still crashed as remotly GUI was loading."

This is a very useful hint. I think the problem is not with the encoding part but rather initialization and checking for hardware decode part (used by PC client).

I will upload a test version of remotly_wincore.dll (located in installation folder) that will allow to skip checking hardware decode and hardware encode with a registry key (separate key for decode and encode part).
 

mirillis

Administrator
Staff member
We have uploaded a test version of remotly core for windows (digitally signed):

To disable video encoding hardware acceleration (for all possible GPU vendors) please add a new registry value:
DisableHwEnc (REG_DWORD) and set it to "1"
in the following registry key:
Computer\HKEY_CURRENT_USER\Software\Mirillis\MonfloServer

After starting Remotly the Hardware Acceleration (encoding) list should be greyed out and set to "Disabled"

This test version also includes a new message that is visible when the booter service cannot start (still needs testing if it is visible on Windows Server).
 

mirillis

Administrator
Staff member
Thats's good news and bad news.

"The dxgkrnl. sys BSOD error is a common problem for Windows 10 users. The most effective solution to fix the error is reinstalling the graphics driver. Some other working solutions are disabling SLI, turning off NVIDIA Surround, running SFC/DISM scan, and performing a system restore."

The crash is porbably not related (or it did not get to this part before crashing) with hardware encode.

We will upload another version of remotly_wincore.dll but this time with hardware decode part completely disabled.
 

hhspiny

Member
btw, in my GPU-P, hardware decoding and encoding works fine. handbrake runs fine with hardware de/encoding. but getting it work was tricky. however, before I was able to get it work, handbrake simply did not detect GPU and turned off hardware encoding, it never crashed the VM. in fact, never had any other 3D/game/encoding application crashing VM, regardless if GPU-P works or not.
 

mirillis

Administrator
Staff member
It's still a driver error though. We need to figure out what exactly hurts the AMD driver as Remotly does a lot of complex stuff on GPU.

I will upload another version of remotly_wincore.dll with another registry key "DisableHwDec" that work just like "DisableHwEnc" but for all hardware decoding stuff. It will be uploaded in 20 minutes from now.
 

mirillis

Administrator
Staff member
File uploaded (digitally signed):
https://downloads.mirillis.com/files/beta/remotly/remotly_wincore.dll

To disable video decoding hardware acceleration (for all possible GPU vendors) please add a new registry value:
DisableHwDec (REG_DWORD) and set it to "1"
in the following registry key:
Computer\HKEY_CURRENT_USER\Software\Mirillis\MonfloServer

Please set both DisableHwDec and DisableHwEnc to '0' to make sure almost everything is not used.
 

hhspiny

Member
UI shows up for a few seconds before crashing. only VM crashes, host is fine. in previous attempt a few months ago, the host crashes too.
 

mirillis

Administrator
Staff member
"UI shows up for a few seconds before crashing" that's very good news. I'm sure we will find the root cause of this problem soon.
 

mirillis

Administrator
Staff member
The UI is using CEF for UI rendering (yes, it might initialize something that causes problems).

Could you be so kind and past the content of these two files:
C:\Users\<user name on your hyper-v>\AppData\Local\Mirillis\remotly_exe_log.txt
C:\Users\<user name on your hyper-v>\AppData\Local\Mirillis\remotly_log.txt

These two files include important startup logs and will tell us whether the UI initialized OK and the problem is in the Remotly low-level core.

Thanks!
 

hhspiny

Member
remotly_exe_log.txt below. rest of log files are empty. since VM crashes, some content might not get written to disk yet.

[RemotlyExeLog]
[CP] >> APP_INIT
[CP] >> GUI_INIT
[CP] >> GUI_CREATE_CEF_SESSION
[CP] << GUI_CREATE_CEF_SESSION
[CP] >> GUI_CREATE_BROWSER [main]
[CP] >> BROWSER_INIT
[CP] >> BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_INIT
[CP] >> BROWSER_OPEN
[CP] << BROWSER_OPEN
[CP] << GUI_CREATE_BROWSER [main]
[CP] << GUI_INIT
[CP] << APP_INIT
[CP] JS_NATIVE_INTERFACE_CREATED
[CP] >> GUI_CREATE_BROWSER [application]
[CP] >> BROWSER_INIT
[CP] >> BROWSER_INIT_WINDOW
[CP] << BROWSER_INIT_WINDOW
[CP] >> BROWSER_INIT_RENDERER
[CP] << BROWSER_INIT_RENDERER
[CP] >> BROWSER_INIT_THREAD
[CP] << BROWSER_INIT_THREAD
[CP] >> BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_INIT
[CP] >> BROWSER_OPEN
[CP] << BROWSER_OPEN
[CP] << GUI_CREATE_BROWSER [application]
[CP] GUI_BROWSER_CEF_READY [main]
[CP] >> JS_INIT_CONTROLS
[CP] << JS_INIT_CONTROLS
[CP] >> JS_INIT_GLOBAL_LISTENERS
[CP] << JS_INIT_GLOBAL_LISTENERS
[CP] >> JS_INIT_MANAGERS
[CP] << JS_INIT_MANAGERS
[CP] >> JS_INIT_NATIVE
[CP] JS_NATIVE_INTERFACE_CREATED
[CP] APP_WINDOW_INITIAL_STATE_REQUESTED
[CP] APP_GET_PROCESS_NAME
[CP] APP_GET_MODULE_VERSION
[CP] >> APP_CORE_INIT_REQUESTED
[CP] << APP_CORE_INIT_REQUESTED
[CP] << JS_INIT_NATIVE
[CP] >> JS_INIT_BROWSER
[CP] >> BROWSER_SYSTEM_SCALE_INVALIDATING
[CP] << BROWSER_SYSTEM_SCALE_INVALIDATING
[CP] << JS_INIT_BROWSER
[CP] JS_INITIAL_WINDOW_STATE_RECEIVED
[CP] GUI_BROWSER_CEF_READY [application]
[CP] JS_SETTING_BROWSER_VISIBILITY [default]
 

mirillis

Administrator
Staff member
Thank you!

Good news is that the UI starts properly. The core crashes.

I have uploaded one more remotly_wincore.dll (also digitally signed):
https://downloads.mirillis.com/files/beta/remotly/remotly_wincore.dll

1. Does not initialize D3D9 (legacy stuff for old Windows operating systems)
2. Does not create any 3D swap chains
3. Does not initialize hardware decode (we have removed it as it is not used in the host part of Remotly PC)

Please let me know if there is any difference.

Thanks!
 

mirillis

Administrator
Staff member
BTW. Can you also try to start Remotly without administrator rights on the Hyper-V. Please let me know if this will make any difference (Run Remotly.exe from installation folder).
 

hhspiny

Member
still crashes. run from shortcut or from installation folder.
run from normal user account, also crashes.

[RemotlyExeLog]
[CP] >> APP_INIT
[CP] >> GUI_INIT
[CP] >> GUI_CREATE_CEF_SESSION
[CP] << GUI_CREATE_CEF_SESSION
[CP] >> GUI_CREATE_BROWSER [main]
[CP] >> BROWSER_INIT
[CP] >> BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_INIT
[CP] >> BROWSER_OPEN
[CP] << BROWSER_OPEN
[CP] << GUI_CREATE_BROWSER [main]
[CP] << GUI_INIT
[CP] << APP_INIT
[CP] JS_NATIVE_INTERFACE_CREATED
[CP] >> GUI_CREATE_BROWSER [application]
[CP] >> BROWSER_INIT
[CP] >> BROWSER_INIT_WINDOW
[CP] << BROWSER_INIT_WINDOW
[CP] >> BROWSER_INIT_RENDERER
[CP] << BROWSER_INIT_RENDERER
[CP] >> BROWSER_INIT_THREAD
[CP] << BROWSER_INIT_THREAD
[CP] >> BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_CREATE_CEF_CONTEXT
[CP] << BROWSER_INIT
[CP] >> BROWSER_OPEN
[CP] << BROWSER_OPEN
[CP] << GUI_CREATE_BROWSER [application]
[CP] GUI_BROWSER_CEF_READY [main]
[CP] >> JS_INIT_CONTROLS
[CP] << JS_INIT_CONTROLS
[CP] >> JS_INIT_GLOBAL_LISTENERS
[CP] << JS_INIT_GLOBAL_LISTENERS
[CP] >> JS_INIT_MANAGERS
[CP] << JS_INIT_MANAGERS
[CP] >> JS_INIT_NATIVE
[CP] JS_NATIVE_INTERFACE_CREATED
[CP] APP_WINDOW_INITIAL_STATE_REQUESTED
[CP] APP_GET_PROCESS_NAME
[CP] APP_GET_MODULE_VERSION
[CP] >> APP_CORE_INIT_REQUESTED
 

mirillis

Administrator
Staff member
:( we must add more checkpoints and make sure they are stored/flushed to the log file before the crash happens.
 

hhspiny

Member
disable the mapped GPU inside VM, remotly UI can load without crash. then, enable the GPU, UI freezes. and stays frozen when disabling GPU again.
tried some other apps, none behave this way between GPU on/off. guess someway UI was programmed that is different than other apps.

last year the UI freezes in one of my laptop, and requires to change DPI compatibility setting to use it.

also download a few apps that use CEF UI engine, they all work fine.
 

hhspiny

Member
well, here is the proof that it is UI itself, not hardware decode/encode

did a fresh install in VM with GPU disabled, no .dll replacement, no registry... UI loads fine, login, and works fine
set remotly to start with windows. minimize window, re-enable GPU. reboot

after reboot, login to a normal user account instead of the admin account, this way, UI is never loaded. Now, everything works perfectly. can connect to VM, and can do 3D. hardware encoding works fine.
 
Top