Blank white screen when trying to "Sign in using the Web." in Shotgun desktop

Hi Patrick et al,

We’ve sorted this out - as our VMs do not have GPUs, we had to force QT to use the QT Quick 2D renderer instead of QT Quick 2 with this variable:

QMLSCENE_DEVICE=softwarecontext

Thank you!
Den

2 Likes

Hi @dennisserras

Excellent news, thanks for finding this and sharing ! We will definitely take note of this.

-Patrick

FWIW I was having this same problem and the above solution worked for me in the following scenario:

  • Running ShotGrid Desktop on Windows 11 Pro (ARM) via Parallels VM on a Macbook Pro M1 Max.

Seems like there is a common underlying issue that causes this in multiple scenarios, maybe various cases of the GPU acceleration not working as-expected?

Hey all,

For those of you who happen to be on macOS, I thought I’d be clever and try the following:

  • sudo vi /Applications/Shotgun.app/Contents/Info.plist

Insert the following at line 4:

LSEnvironment

QTWEBENGINE_CHROMIUM_FLAGS
—disable-gpu

Unfortunately, it seems we can no longer modify an application’s Info.plist file in this way, so as to inject an application-specific environment variable into the launch process?

I’m currently using system-wide environment variables as a workaround, but I’m really concerned about how setting environment variables that affect QT Toolkit globally might break other applications that use the QT Toolkit, like Nuke, Houdini, etc. etc.

@patrick-hubert-adsk do you happen to know how to properly make these changes to the Info.plist file? Or does this break the code signing somehow?

-n

Hi @nedwilson

That is a totally valid concern with setting that environment variable for all applications, for all users on the machine or even just one specific user.

Unfortunately, I have never attempted the surgery you describe, so I do not know how to do that in a more recent OS.

Personally, I would either:

  • create myself a bash alias to start the Desktop with the environment variable set only for that process, or
  • find a way to package that in an Application, to start of the desktop with that special setting from the Launchpad, Spotlight Search or the Finder

One thing that could be done on the desktop/tk-core side : use TK-specific environment variable to set the QTWEBENGINE_CHROMIUM_FLAGS for any subprocess started. Thus isolating it from other apps.

Sorry for not having a better solution,

-Patrick

We cleared the browser cache

And set the ENV variables:

export QTWEBENGINE_CHROMIUM_FLAGS=--disable-gpu
export SGTK_FORCE_STANDARD_LOGIN_DIALOG=1
export QMLSCENE_DEVICE=softwarecontext

in here:
atom ~/.bash_profile

And yet Shotgun Desktop would still get stuck on the white login screen :frowning:

And yet what did work was Patrick’s logon script

Just pointing that out for others who got stuck

Hi @patrickwolf

How exactly did you start the SG Desktop ? From the command-line or from clicking on an icon ?

To use the environment variables, I believe that the desktop must be started from the command-line.

-Patrick

I have the same problem on Linux. Sorry for nob questions - are these env variables system wide, or are they stored somewhere within SG app install? When I manually added this variable to /etc/bashrc or etc/profile it did not seem to do anything, when I checked tk log it did not import this at all

Hi @vandam

Before trying to change things on your machine, which may impact other software, please do test if the environment variables mentioned in this thread do fix the issue for you.

First try in a terminal, setting the environment variables there and starting the application from the command-line. Do you know exactly where your SG Desktop is installed on your machine ? You will need the exact path to the executable.

When you double-click on an icon to start the SG Desktop then the environment variables will not be considered.

The way Unix works, bashrc and profile will only impact shell processes (your command-line) and applications started from there. Your window manager, and applications you start from it by clicking on icons and menus, has its environment set from a much earlier moment, prior to your shell processes being started.

-Patrick

Hey Patrick, thanks for getting back
I have tried to set the variables using export command in the terminal.

[lucas@fedora Shotgun]$ printenv SGTK_FORCE_STANDARD_LOGIN_DIALOG 
1
[lucas@fedora Shotgun]$ printenv QTWEBENGINE_CHROMIUM_FLAGS 
--disable-gpu

Launching SG Desktop still redirects to the Web Login (I always launch the app through terminal). When I check the tk-desktop.log there is a section there called Environmant variables and it does not list the ones that I set using export, so this got me wondering if there are some other files I should be checking. Or maybe use some flags to run the app?

Thanks for your help!

I wrote another post here, it got marked as spam due to edits I made, but nevermind it, I figured it out. My issue was running ./Shotgun in one terminal, exporting variables in another. Newbie linux mistake :wink: Anyway - thanks @patrick-hubert-adsk !

1 Like

btw it was not mentioned here, but you can use /etc/environment for setting global system variables.

1 Like

I believe we tried desktop icon and command line but since we did multiple iterations I don’t remember if we used starting via the command line each time.

Makes sense when we are setting them in “~/.bash_profile” that they would only work in the terminal.

Hi @patrickwolf

I believe that to get the environment variable to be used when starting applications from an icon, you need to follow @mmoshev 's suggestion and set it in /etc/environment

-Patrick

Just so everyone knows, i wrote an answer for Fedora issue (and mayber almost Linux user with thhis error) on the post of @vandam