Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XG Mobile reconnects 10 seconds after initial connection #3413

Open
2 tasks done
Plumbio opened this issue Nov 26, 2024 · 18 comments
Open
2 tasks done

XG Mobile reconnects 10 seconds after initial connection #3413

Plumbio opened this issue Nov 26, 2024 · 18 comments
Labels
question Further information is requested

Comments

@Plumbio
Copy link

Plumbio commented Nov 26, 2024

Rules

  • I made myself familiar with the Readme, FAQ and Troubleshooting.
  • I understand that, if insufficient information or no app logs will be provided, my issue will be closed without an answer.

What's wrong?

Every time I connect the XG Mobile to my laptop pressing the xg mobile button on g-helper, around 10 seconds after it successfully connected, the secondary screen flickers, it goes back to 1 display only and immediately after, the secondary screen get enabled again, but in that moment, if I had opened any software that used the xgm gpu, it will crash, so I assume that the xgm is reconnecting or something similar.

This behavior doesn't happen using armoury crate.

How to reproduce the bug?

  1. Connect the XG Mobile to the laptop.
  2. Enable Standard GPU mode on G-helper.
  3. Enable the XG Mobile on G-helper.
  4. Wait until XG Mobile is fully enabled.
  5. Wait 10 seconds.
  6. Secondary screen will turn off for a moment and any app you opened between the XGm was fully enabled and the secondary screen turned off will crash (as long as the app was using the external gpu).

Logs

log.txt

Device and Model

Asus ROG Flow x13 GV301QH

Additional information.

It's the XG Mobile with the RTX 3080

Armoury Crate

Uninstalled

Asus Services

0

Version

0.197

OS

Windows 11 22H2

@seerge
Copy link
Owner

seerge commented Nov 26, 2024

@Plumbio hello,

Whole XGM toggle is a single on/off command, there is not much else behind it.

Can you check what else did you change comparing to Armory setup you had before?

May be try to do a fresh Nvidia driver reinstall?

Can you try to enable XGM using AC now to double check?

Thanks

@seerge seerge added the question Further information is requested label Nov 26, 2024
@Plumbio
Copy link
Author

Plumbio commented Nov 29, 2024

Hi @seerge

I just tried enabling the xgm using armoury crate under the same conditions as with g-helper, but the reconnection didn't happen.
My current nvidia drivers were installed using DDU, should I still try doing a new fresh install?

@seerge
Copy link
Owner

seerge commented Nov 29, 2024

@Plumbio

I assume in AC you use default mode, right?

Can you try to reset all customisations to the mode you did in G-Helper to Factory Defaults, reboot and try to activate XGM again?

@Plumbio
Copy link
Author

Plumbio commented Dec 1, 2024

@seerge

I tried that, but no difference.

But I did some more testing and I found out that it only happens if I switch to Eco mode, so if I leave it on Standard mode and disable and reenable the XGM, there is no reconnection, but disabling the xgm, switching to eco, then back to standard and reenabling the xgm, it will trigger the reconnection.

I tried doing the same, but closing g-helper before the reconnection, but it happened anyways (thoug I don't know if closing the app would keep it from triggering more events).

Then I tried doing the same again, but using AC to disable and enable the xgm (and using g-helper to switch to eco and back to standard) and the recconection didn't happen, so there must be something that AC is doing that avoids that reconnection.

I also tried enabling the xgm directly from Eco mode using AC and there was no problem, in case that info is useful.
Captura de pantalla 2024-12-01 000934

Thanks for your help and sorry for bothering so much with this.

@seerge
Copy link
Owner

seerge commented Dec 6, 2024

@Plumbio hello,

Sorry for delay, I was away.

From what I remember you need to have Standard mode selected before enabling XGM. As you have verified it by yourself GPU “reconnects” (or whatever it is even) even without G-Helper running, cause it’s not G-Helper doing that but firmware or drivers most likely .

I have a feeling that AC even if it allows to enable XGM from Eco mode - under the hood just sets Standard first (without showing it in the UI) and then activates XGM.

Can you check windows device manager, for what happens when you enable XGM from Eco in Armoury, does your regular dGPU appear first in the devices list?

@Plumbio
Copy link
Author

Plumbio commented Dec 8, 2024

Hi @seerge
Don't worry about the delay, I'm the one who's wasting your time.

I did some more testing. Using AC to enable the xgm, it doesn't enable the dedicated gpu before switching to the external 3080, it goes directly to the 3080. And disabling it, it goes straight back to eco mode, I couldn't see the dedicated 1650 pop up in any of the 10 times I did the test, but if I close g-helper and run it again, it says it is on standard mode when the xgm is enabled, and if I do the same when xgm is disabled, it says it is on eco mode.

@seerge
Copy link
Owner

seerge commented Dec 8, 2024

@Plumbio ok, thanks for checking.

If you really want to use XGM in Eco mode and check what exactly AC sends to the device, I will need you to do some capturing and debugging.

Here is the guide on what needs to be set up
https://github.com/seerge/g-helper/wiki/_ACPI-Monitoring-and-Debugging

With the only exception that in Capturing -> Step 1 you will need to record all commands that happen since you click Activate XGM in AC (in Eco mode)

Let me know if you want to do that.

Thanks!

@Plumbio
Copy link
Author

Plumbio commented Dec 9, 2024

Hi @seerge

I did the capturing, I followed all the steps, but I'm not sure if I did it correctly.

I captured the xgm being enabled and disabled 2 times using AC just to make sure. Then I captured the switching from Eco to Standard and from Standard to Eco using AC in case you can use that info, and while doing that I noticed something.

If I switch to Eco from AC, the Nvidia Platform Controllers and Framework driver gets disabled, and switching back to Standard enables that driver. It also happens when enabling the xgm from Eco mode and disables it when disabling the xgm straight back to Eco.
Captura de pantalla 2024-12-09 184723

AC xgm enabling.log

AC xgm disabling.log

AC xgm enabling 2.log

AC xgm disabling 2.log

AC from Eco to Optimized-Standard.log

AC from Standard to Eco.log

@seerge
Copy link
Owner

seerge commented Dec 10, 2024

@Plumbio ok, thanks for checking and info!

XGM Enabling

[9:42:30] DEVS 0x090019 [1] <--- this is standard XGM ON / OFF toggle, and what G-Helper does
[9:42:52] DEVS 0x090041 [1] <--- this is something unknown, not sure if it's related to XGM at all, but app sends it 22 seconds after ?
....
[9:42:52] DEVS 0x090041 [1] <-- and does it 6 times in a row in a log ? :|

XGM Disabling

[9:42:30] DEVS 0x090019 [0] <--- this is standard XGM ON / OFF toggle, and what G-Helper does

Eco to Standard (i.e. dGPU enable)

[9:42:30] DEVS 0x090020 [0] <--- this is standard DGPU ENABLE (ECO OFF)

Standard to Eco (dGPU disable)

Doesn't do anything :) Most likely GPU was in use and AC did nothing.


To summarize : AC does same thing as G-Helper with one exception of calling 0x090041 endpoint with 1 as param some time after XGM enable. I'm not sure if it's even related, but you can test that.

  1. Quit G-Helper, open %appdata%\GHelper\config.json and add following line to the file and save it
"debug": 1,
  1. Open app and go to Extra settings, there you will see a new input field to send commands to any endpoints called DEVS TEST
  2. Put 090041 and 1 there and try to manually run it AFTER enabling XGM in G-Helper to see it makes any difference ?

If above mentioned does not help, try to manually disable Nvidia Platform Controllers in Device manager after activating XGM. Again to check if it makes any difference ?

Thanks!

@Plumbio
Copy link
Author

Plumbio commented Dec 14, 2024

Sorry @seerge , I can't find what is the common denominator of this problem.

At first I thought it happened when swtiching to Eco and back to Standard and somehow that triggered the reconnection when enabling xgm, but now, doing the endpoint test, it turned out that the reconnection happens somewhat randomly. I tried a lot of combinations (switching between silent and balanced, eco and standard, running the endpoint, turning on and off the nvidia platform driver, etc,), but couldn't get a consistent reconnection, it just sometimes happen and sometimes it doesn't.

But I found out something new. I was looking at the graphics driver on device manager. When the dedicated gpu or the xgm gets enabled, the driver shows "error 18", but after some seconds, it "re enables" or something and the error desappears, and in the case of the xgm, it connects the external display, BUT sometimes the nvidia driver for the 3080 gets enabled with no error, and the external display turns on at the same time, so the connection to the xgm is much faster, but when that happens is when the reconnection will occur (after the same time it would take for the fisrt scenario to get rid of the error).

I did some more testing having this in mind, but I couldn't figure out what is causing this behaviour, I think it has something to do with apps using the nvidia grpahics, but couldn't confirm it.

@seerge
Copy link
Owner

seerge commented Dec 14, 2024

@Plumbio ok,

But did you try things I asked to try above ?

  • Calling 0x090041 endpoint with 1 as param after activating XGM
  • Disabling Nvidia Platform Controllers manually ?

Thanks.

@Plumbio
Copy link
Author

Plumbio commented Dec 14, 2024

@seerge yes

@seerge
Copy link
Owner

seerge commented Dec 14, 2024

@Plumbio and it doesn't help ? cause that's literally the only thing AC was sending to the device next to actual Activate command according to your captures.

Also separate thought about "error 18" in device manager. Could it be that windows is simply acting and not detecting device fast enough after it "appears" in the system after activation ? And your "reconnect" is in fact windows finally turning on the driver ?

@Plumbio
Copy link
Author

Plumbio commented Dec 14, 2024

@seerge I tried getting this problem using AC a lot of times, but it might just not have happened by pure luck and, at the end, my problem with the reconnection could be my own problem and nothing to do with g-helper.

The error 18 seems to be the "correct" behaviour, because after some seconds it just goes away and the external gpu starts working no problem, but when the xgm gets enabled with no error, it starts working right away, no waiting, but after the same amount of seconds, it reconnects, like if it thinks the driver has the error 18 and needs to be re enabled.

I can't find out what is causing this behaviour, and just to be clear, running the endpoint manually nor disabling the Nvidia Platform Controllers made any difference.

I think it's better to just ignore this problem for now, it might have nothing to do with your app and I'm just wasting your time. Sorry for all of this and thanks a lot for your help.

But since we are already here, is it possible to enable the xgm directly from Eco mode using g-helper?

@seerge
Copy link
Owner

seerge commented Dec 14, 2024

@Plumbio you can enable XGM from Eco, it shouldn't be a problem as far as it works identically in AC.

Can you try to disable "Nvidia Platform Controller" before activating XGM, and then manually enable it after to see if it somehow affects this "driver" behavior ? (cause if so I can try to do same inside G-Helper itself)

@Plumbio
Copy link
Author

Plumbio commented Dec 14, 2024

@seerge I already tried it like 3 times, but it didn't work, I don't know why AC disables the Nvidia Platform Controller, but it only does it when it's on Eco mode or, in other words, when there is no Nvidia graphics enabled.

Is it really possible to enable xgm directly from Eco mode using g-helper, mine says that I have to switch to Standard mode before enabling the xgm, I can only do it from Eco mode using AC.

@seerge
Copy link
Owner

seerge commented Dec 14, 2024

@Plumbio I got confused by you saying that you set Eco already

But I did some more testing and I found out that it only happens if I switch to Eco mode, so if I leave it on Standard mode and disable and reenable the XGM, there is no reconnection

Now I recall, that UI indeed doesn't allow you to do that. And this is because someone else using XGM has explicitly asked me to do it like that because by his words AC required Standard mode as well (I don't have XGM so can't verify AC behavior by myself) :)

But limitation is purely cosmetic.

@Plumbio
Copy link
Author

Plumbio commented Dec 14, 2024

@seerge sorry about that, I intended to say "switch to Eco and back to Standard" to reproduce the problem, but some more testing later proved that this was not what was causing the problem.

And about the requirement of Standard mode by AC. That's weird, I'm absolutely sure it is not needed, but the other user might have a different device or a different version of AC or idk, but I never had a problem switching directly from Eco using g-helper before the limitation.

I'll keep doing some more testing to find the origin of the reconnection problem, but for now, you should just forget about it, I've stolen too much of your time, I'll tell you once I find the source of the problem and being completely sure about it. The xgm is a dying platform, so fixing this problem will help me and like 2 more guys, so it's not really important.

And thanks once more for being so helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants