Dark Grey screen **FIX**

*********** To the admins and or developers of unity ************
could you please pass on a small message, It seems as though this solution is working for a few
people. If your team was to automate this solution through the self deployment I am more then sure this issue would disappear. Some times the npm registry could be down or machines might muck something up but if its done locally its one less thing to worry about.
*************************************************************************
*** Thank you to malyzeli as he had the one liner idea ***

For anyone getting the grey screen after install I have figured out how to fix it. (This is with Ubuntu other distros may vary slightly.)

Method A.) Visual one liner (myself: visuals / wildcard and malyzeli original one liner**)**

Method A:
1.) Create a folder called unityfix in /Home/Downloads
2.) Place the unity(someversion).deb file into unityfix folder
3.) Open terminal copy paste the below

cd ~/Downloads/unityfix && unityfile=$(stat -t *.deb --format=%n) && echo “please be patient extracting .deb file” && ar x $unityfile && echo “extracting data from tarballs” && tar -zxvf data.tar.gz -C ~/.local/share/unity3d/ --strip-components=6 ./opt/Unity/Editor/Data/Resources/Packages && cd ~/.local/share/unity3d/Packages && ls | grep tgz | xargs npm i --verbose && echo “Complete”

once its finished it will say Complete you can now run unity…

Explanation for people who are scared to enter strange code into terminal (you should be!):

  • unarchive (ar x) unity-editor.deb into actual directory (retrieving data.tar.gz and other stuff)
  • use tar to unzip (-z) and extract (-x) Packages from data.tar.gz (-f) into ~/.local/share/unity3d/ (-C), -v stands for verbose (you see what’s going on in console) and --strip-components is there to get rid of full path in archive
  • change directory (cd) to ~/.local/share/unity3d/
  • list (ls) all files in directory and filter (grep) only tgz ones
  • pipe those files into xargs to call npm install on each of them
  • echo just prints the “text in quotes to the screen”
  • unityfile=$(stat -t *.deb --format=%n) its a wildcard so you dont have to know the filename $unityfile is the name that was found from the stat.

Happy Coding

7 Likes

I had no idea that this would work. Honestly, I tried this as a last resort, because it seemed so ridiculous. I have no idea why I would have to run npm on those files manually… but hey, it worked!

Thank you very much, man.

Unity 5.6, Linux Mint (Ubuntu)

1 Like

Thanks alot, worked for me in openSUSE Leap 42.2. I follow your instructions step by step and run smoothly. :slight_smile:

1 Like

Thanks for this. Saved me after 3h of frustrations. Ubuntu 16.10

1 Like

Thanks! This worked for me on both on Linux Mint 17.3 and Linux Mint 18.1.

1 Like

@LevonRavel First of all thanks a lot for your solution!

Now let’s improve it a bit, since I was personally quite annoyed by having to open three different pictures, examine them, read and write and click a lot of things… :smiley:

So my step-by-step automated solution is this:

  • get the Unity installer .deb and note the filename, you’ll need it in next step (lets say I saved it as unity-editor.deb)
  • open terminal in directory where that file is and enter this one-liner do it for you (replace unity-editor.deb by the corresponding filename)
ar x unity-editor.deb && tar -zxvf data.tar.gz -C ~/.local/share/unity3d/ --strip-components=6 ./opt/Unity/Editor/Data/Resources/Packages && cd ~/.local/share/unity3d/Packages && ls | grep tgz | xargs npm install

Wait for a while, since opening >2GB archive can take couple of minutes on slower machines.

When terminal returns to command prompt, you are ready to launch Unity!

Now you can also safely remove files unarchived from deb (data.tar.gz, control.tar.gz and debian-binary).

Explanation for people who are scared to enter strange code into terminal (you should be!):

  • unarchive (ar x) unity-editor.deb into actual directory (retrieving data.tar.gz and other stuff)
  • use tar to unzip (-z) and extract (-x) Packages from data.tar.gz (-f) into ~/.local/share/unity3d/ (-C), -v stands for verbose (you see what’s going on in console) and --strip-components is there to get rid of full path in archive
  • change directory (cd) to ~/.local/share/unity3d/
  • list (ls) all files in directory and filter (grep) only tgz ones
  • pipe those files into xargs to call npm install on each of them
1 Like

Thats totally awesome I just made another contribution.

1 Like

Worked here as well! Ubuntu 16.04. Thanks for the fix!

1 Like

Worked great on Ubuntu 16.10. Thanks!

1 Like

Awesome guys !

1 Like

Fantastic! The one-liner work great!!! Fine Job! Thank-you! (Works on both Ubuntu 16.10 and Debian Sid)

1 Like

Worked for me aswel! Thanks.

1 Like

Thanks guys! I have unity working in linux.

I tried all the solutions from other threads this is the only one that worked. To be specific I used @malyzeli 's solution. Thanks!

1 Like

Thanks!! Working on Ubuntu 16.10

1 Like

Method B, it looks like the package’s download page is bringing a 404 not found error. Here’s npm’s output.

npm info trying registry request attempt 1 at 00:02:11
npm http GET https://registry.npmjs.org/unityeditor-cloud-hub
npm http 404 https://registry.npmjs.org/unityeditor-collab-history
npm http 404 https://registry.npmjs.org/unity-editor-home
npm ERR! 404 Not Found
npm ERR! 404
npm ERR! 404 'unityeditor-collab-history' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'unity-editor'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.

npm ERR! System Linux 3.16.0-4-amd64
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "i" "--verbose"
npm ERR! cwd /opt/Unity/Editor/Data/Resources/Packages
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code E404
npm verb exit [ 1, true ]
npm http 404 https://registry.npmjs.org/unityeditor-collab-toolbar
npm http 404 https://registry.npmjs.org/unityeditor-cloud-hub
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/Unity/Editor/Data/Resources/Packages/npm-debug.log
npm ERR! not ok code 0
1 Like

thank you I removed that method please use method A as its worked 13x so far

I just wanted to say… When I posted that I was getting it to run in ubuntu, and now I used the same fix to get Unity3D running on mint as well. Thank you!

1 Like

The above one-liner worked for me in Mint 17.3 to solve the ‘grey screen’ bug.

To launch monodevelop, I had to install the following extra packages beyond what was pulled in by the .deb installer:

realpath mono-complete gtk-sharp3 gnome-sharp2

Everything seems to be working now.

2 Likes

Solves my blank screen problem. I’m using Debian 8 “Jessie”, amd64. Version Unity 5.6.0xb3

Both the script and deb file extract the files within Editor/Data/Resources/Packages. The last step needed is installing them.

@FrostVoxel Yes, it works for the .sh file. They forgot to run a script to install the nodejs packages. You should run Method A after installation with .deb or extraction with the .sh files.

I’m looking into a way to modify the script to make it work. Open the .sh installation script with vim. It’s a file with a script at the top and an archive file appended at the bottom. It appears you can add Method A to the script. Bold lines indicates where to add new code. It’s around line 61. DO NOT USE, BUGGY. The problem is that when the installation script is executed as root, it will copy the files into the root’s home directory instead of the user’s home directory. I’ll come back to see what I can do to fix the installation script.

ARCHIVE=`awk '/^__ARCHIVE_BEGINS_HERE__/ {print NR + 1; exit 0; }' $0`

# Actual extraction
echo "Unpacking Unity 5.6.0xb3Linux ..."
mkdir -p "${EXTRACT_DIRECTORY}"
tail -n+${ARCHIVE} $0 | tar xj -C "${EXTRACT_DIRECTORY}"

# chrome-sandbox requires this: https://code.google.com/p/chromium/wiki/LinuxSUIDSandbox
chown root "${EXTRACT_SUBDIR}/Editor/chrome-sandbox"
chmod 4755 "${EXTRACT_SUBDIR}/Editor/chrome-sandbox"

echo "METHOD A GOES HERE"
cp "${EXTRACT_SUBDIR}/Editor/Data/Resources/Packages/*" ~/.local/share/unity3d/Packages
ls ~/.local/share/unity3d/Packages | grep tgz | xargs npm i

echo "Extraction complete. Run ${EXTRACT_SUBDIR}/Editor/Unity to begin"

exit
__ARCHIVE_BEGINS_HERE__

For the Deb File, you can add the following into the postinst file. I haven’t tested it yet.

echo "METHOD A GOES HERE"
cp opt/Unity/Editor/Data/Resources/Packages/* ~/.local/share/unity3d/Packages
ls ~/.local/share/unity3d/Packages | grep tgz | xargs npm i
1 Like

thank you sooo freaking much man I have been using rider with unity on linux but i dont like it as much as monodevelop seems as though rider taps into monos debugger anyhow… In any case thank you for helping with monodevelop such a freaking blessing…