git-credential-manager
git-credential-manager copied to clipboard
Cannot render authentication prompt UI on Windows-arm64
Version
2.4.1
Operating system
Windows
OS version or distribution
Windows 11 Pro Arm 64
Git hosting provider(s)
Azure DevOps
Other hosting provider
No response
(Azure DevOps only) What format is your remote URL?
None
Can you access the remote repository directly in the browser?
Yes, I can access the repository
Expected behavior
There are 2 expected behaviors that are not happening.
- There should be no auth prompt in the first place. I have the following GCM config set:
[credential]
interactive = auto
azreposCredentialType = oauth
msauthUseBroker = true
msauthUseDefaultAccount = true
as well as
[credential "azrepos:org/<ORG>"]
username = [email protected]
azureAuthority = <AUTHORITY_URL>
On this same machine, in this same state https://aka.ms/azureauth doesn't need to prompt and uses the current OS account without issue.
- GCM is launching an auth prompt, and that prompt should render an allow me to continue with the auth flow.
Actual behavior
- Silent auth via broker isn't happening.
- The prompt renders an empty window frame. The program icon is shown on the task bar, and the window frame outline is there, but the body is transparent and empty.
Logs
No response
This is a known issue with some ARM graphics drivers and Avalonia UI. We added a workaround to use software rendering in newer versions of GCM.
https://github.com/git-ecosystem/git-credential-manager/blob/e51e1a4c4e03b3ef0690d83b1f994e525749f091/src/shared/Core/Settings.cs#L567-L581
If for some reason it isn't detecting ARM correctly, you can manually enable SW rendering to see if that helps.
https://github.com/git-ecosystem/git-credential-manager/blob/main/docs/environment.md#gcm_gui_software_rendering https://github.com/git-ecosystem/git-credential-manager/blob/main/docs/configuration.md#credentialguisoftwarerendering
Thanks @mjcheetham , I'll see if I can try that at some point. for the time being, I set GITASKPASS globally to a my azureauth git ask pass wrapper and haven't gotten a prompt since ;)
A hint for Visual Studio 2022 users:
run this to enable software rendering for git:
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\bin\git.exe config --global credential.guiSoftwareRendering true
And a hint for SourceTree users without Visual Studio:
run C:\users\<username>\appdata\local\Atlassian\SourceTree\git_local\bin\git.exe config --global credential.guiSoftwareRendering true
to enable the workaround. It seems like you have to run just one of the commands if you use both.
It is confirmed, that it is a bug in the driver by a Microsoft guy at https://github.com/AvaloniaUI/Avalonia/issues/10405. Maybe it will be fixed soon. The statement at time of writing is "fixed in the near future" (Status: Mid Dec. 2023).