Run Unity3D on Linux with Wine – solved!

Run Unity3D on Linux with Wine – solved!

Contents

Disclaimer

Requirements

Introduction

Tested Successfully on Distros

The Script

Tutorial

Unity3D Web Player

WineBrowser Changes

Potential Problems

More info

Remarks

Thanks

Disclaimer

All information herein is presented “as-is”, with no warranties expressed nor implied. If you lost any data or something else, it’s not my fault.

I’m one of the authors of the script. The fifth version was improved by me. This article is about running Unity3D on Linux, so these scripts aren’t for copy&paste, but for reference. That’s why, they aren’t in plain text. To get them, please go to the thread, where the authors placed them. My intention was only presenting how all stuff work, how to handle this software, and propagate knowledge of it. However, I placed the fifth script in plain text, too, because my readers copied the Unicode text and had many problems with running Unity3D and MonoDevelop (go to the Tutorial section to get the script).

Requirements

Linux (openSuse 13.X is the best I think)

Unity3D (the recent version)

Notepad++ (the recent version; optionally; if you can’t run MonoDevelop because of any reasons, you can always use this editor; Notepad++ is simply much faster than MonoDevelop)

MonoDevelop (the one installed with Unity3D)

PlayOnLinux (the recent version)

Wine (the recent version)

Mesa 3D Library (the recent version for 3D rendering)

Intel graphics card (Intel cooperates with Mesa the best; there can be problems with other graphics cards, so maybe not Mesa, but proprietary drivers are better for you – check which graphics card you have first!)

The Script (the recent version should work the best; if not, use the previous version)

other software like Pipelight Project for using Unity3D Web Player under Linux.

Tested Successfully on Distros

openSuse 13.1

Fedora 20

Ubuntu 13.10

Debian Jessie

Introduction

Because there’s no still Unity Editor for Linux, many people are trying to run Unity Editor for Windows on Linux. Yes, Wine is an alternative for you. However, I was trying many ways to run Unity3D on Linux and nothing worked. But I found the thread on Unity Forum:

http://forum.unity3d.com/threads/211059-Unity3D-on-Linux-with-Wine-Support-thread

It was started by Cauê from Brazil. This man did nothing new, but in reality he helped me much. I used Wine and I was able to solve all those problems with running Unity3D. But I had to give up because I couldn’t create a New Project for Unity3D.  All the solutions I found in the Internet sucked.

Cauê wrote a script (you can find it at that link) that automates the process of installing Unity3D with Wine on Linux. And he uses PlayOnLinux to accomplish that. Yes, it’s a good way to be successful with installing Unity3D on Linux.

But the script was still imperfect. We couldn’t create Unity projects; we needed tricks to do that. xplicit-ru and other users did much to fix some problems, but the whole script was improved by Damian-LinuxFan from Poland. And now you can make Unity projects with no problems.

The Script

Below the script evolution (Unicode – don’t copy&paste because you can have problems! For reference only!):

Cauê’s script (the first version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/” “Cauê Waneck” “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

Damian’s script (the second version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/” “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie6

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

However, I was unable to install Internet Explorer 6, and still couldn’t create Unity projects. That’s why, I edited the script slightly:

Instead of

POL_Call POL_Install_ie6

I wrote:

POL_Call POL_Install_ie8

So the script looks in this way (the third version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/” “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie8

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

However, we can’t still run MonoDevelop. We need all .NET versions installed.

My script that I wrote with cooperation with Goran Grncaroski (the fourth version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/” “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_dotnet35

POL_Call POL_Install_dotnet40

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie8

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

I made the script more professional and adjust it for debugging (the fifth version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can’t use Asset Store

[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/” “waneck-six, Damian-LinuxFan, Tomza” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS  “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native” “mscore”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
regfile=$(mktemp –suffix=.REG)
echo “REGEDIT4” > $regfile
echo “” >> $regfile
echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile
echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

The previous script isn’t still perfect, and Unity3D and MonoDevelop crash sometimes, especially when you start it for the first time.

gnumaru add two lines:

POL_Call POL_Install_directx9
POL_Wine_OverrideDLL “builtin, native” “dnsapi”

This script hasn’t been tested by me yet. But you can test it and share results:

gnumaru’s version (the sixth version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-14 10-35)
# Wine version used : 1.7.14
# Distribution used to test : Ubuntu 13.10
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : Asset Store window does not work at all

[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/” “waneck-six, Damian-LinuxFan, Tomza, gnumaru” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
regfile=$(mktemp –suffix=.REG)
echo “REGEDIT4” > $regfile
echo “” >> $regfile
echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile
echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

There’s some improvement as to the script made by Doctor Jellyface. He fixed the registry.

This version is untested by me! If it doesn’t work, just use the previous version of the script.

Doctor Jellyface’s version (the seventh version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru, Doctor Jellyface (doctorjellyface@riseup.net)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can’t use Asset Store

[ “$PLAYONLINUX” = “” ] exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/” “waneck-six, Damian-LinuxFan, Tomza, gnumaru, DoctorJellyface” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
POL_Wine reg add “HKLM\Software\Microsoft\Windows NT\CurrentVersion” /v ProductId /t REG_SZ /d 12345-oem-0000001-54321

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

Tutorial

To help you run Unity3D on Linux, I prepared 20-steps tutorial for you how to install Unity3D on Linux:

1. Download Unity3D

2. Download and install PlayOnLinux (Warning: you probably should install cabextract and python-wxWidgets first to run PlayOnLinux on your computer)

3. Start PlayOnLinux

When you run PlayOnLinux for the first time, you will get PlayOnLinux Wizard (PlayOnLinux first use):

a/ The first warning

PlayOnLinux cannot find wine (from Wine)

You should install it to use PlayOnLinux

Click OK

b/ The second warning

PlayOnLinux cannot find 7z (from P7ZIP full)

You should install it to use PlayOnLinux

Click OK

c/ Windows Fonts useful for all programs you will run on PlayOnLinux

Install Windows fonts

Click Next

d/ When all is ready

You should see:

Enjoy using PlayOnLinux

Some of these warnings you can see later, too.

4. Tools->Manage Wine Versions

5. Choose the recent Wine version (Warning: remember that the newest Wine can be unstable (Wine 1.6.2 is stable), but, at the same time, some bugs can be fixed in the recent version, and that’s why it can be the best way to go for you; fortunately, you can choose the Wine version in PlayOnLinux you like; the recent version is recommended for running Unity3D because of 3D improvements)

6. Click an arrow to install your version of Wine

a/ installing some software

When you run PlayOnLinux for the first time, you will some software being installed automatically by PlayOnLinux

7. Tools -> Run a local script

8. Choose the script that was made for automating the installation process of Unity3D. (You should have it on your disk in plain text – unity.pol. You can call it as you want, but the .pol extension should be kept so that PlayOnLinux can recognize it as its script.

The seventh version of the script should work the best for you. Thanks to it, you can use the built in MonoDevelop for creating and editing scripts for Unity3D under Linux.

Warning: If you copy&paste the scripts above from my article, please be careful. It’s Unicode, not plain text. You should go to the thread to get them. However, because you are lazy, I placed the seventh script in plain text here. I hope it will be working for you with no any problems. Just copy&paste and enjoy Unity3D and MonoDevelop on Linux :).

unity.pol

By Cauê Waneck (waneck-six), Damian Kucharski (Damian-LinuxFan), Tomasz Zackiewicz (Tomza), gnumaru and Doctor Jellyface

the seventh version of the script in plain text


#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru, Doctor Jellyface (doctorjellyface@riseup.net)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can't use Asset Store

[ "$PLAYONLINUX" = "" ] exit 0
source "$PLAYONLINUX/lib/sources"

TITLE="Unity 3D"
PREFIX="Unity3D"
WINE_VERSION="1.7.14"

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "Unity" "http://www.unity3d.com/" "waneck-six, Damian-LinuxFan, Tomza, gnumaru, DoctorJellyface" "$PREFIX"

#create prefix
export WINEARCH="win32"
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WINE_VERSION"

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS "winxp" "sp3"

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL "" "mscorsvw.exe"

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
POL_Wine reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ProductId /t REG_SZ /d 12345-oem-0000001-54321

POL_SetupWindow_browse "Please select the location of the Unity3D setup executable" "$TITLE"

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut "Unity.exe" "$TITLE"

POL_SetupWindow_Close
exit

 

Note: it’s good to edit the script to change to the recent Wine version before installing all software

POL_Wine_PrefixCreate “Your.Version.Number”

for example, my version is Wine 1.7.20, so I should write in the script:

POL_Wine_PrefixCreate “1.7.20”

That’s all.

You will see the warning that the signature of the script isn’t valid. Ignore it!

Next

You will be able to review your script and check if its content is OK before running. If OK, check I agree

Next

You will see:

Welcome to PlayOnLinux installation Wizard

Next

The script is running

a virtual drive is being created first – it will be the place where your whole installation will be placed.

a/ The environment for the virtual disk

When you run PlayOnLinux for the first time, some software can be installed

9. The installation is going – it isn’t too easy and you can even see some errors because you probably will be forced to install some additional software in your operating system.

After our tests, we know that to run Unity3D and MonoDevelop with no problems, we need all .NET versions installed in Wine. They all will be added automatically by the script, so no worries.

I have no idea of what exactly you should install – it depends on the system you have. For example, I had to install python-wxWidgets (and maybe wxPython).  To get more details, read my article:

An “import wxversion” error when installing PlayOnLinux

10. PlayOnLinux is installing the components it needs for Unity3D and MonoDevelop working on Wine. The list of their names is included in the script you are using. They are really important, so wait to the end of the installation patiently.

11. When the script in PlayOnLinux installs up all the components in Wine, find the Unity3D setup executable on your disk through the PlayOnLinux window.

12. Install Unity3D with using PlayOnLinux (just like under Windows).

13. Follow the instructions you see during the Unity3D installation. Among others, you need NET Framework 4.0 Extended. All will be installed automatically. Do not worry about errors too much if any – maybe they aren’t so important (PlayOnLinux is buggy, though the 4.2.2 version is much better). PlayOnLinux can be even hanged up. Reboot PlayOnLinux if you need. Keep going!

14. Click Finish on the Unity3D installation wizard.

15. When Unity3D is installed inside PlayOnLinux, you see the Unity3D icon in the main PlayOnLinux window – you can start Unity3D from here if you want.

16. Unity3D can run automatically in a moment.

17. You can see two Unity3D icons on your desktop. One of them doesn’t work (Unity). Use Unity3D instead (sometimes, both shortcuts work). Maybe you will see one icon only – I don’t know.

Warning: If you reinstall Unity3D (install again on the same computer), it’s good to remove the remaining shortcut on your desktop (one of the two). One is removed automatically, but the second remains. It can make problems for making a new shortcut for a new Unity3D installation. You may do that even during Unity3D installation, but before the end of the installation because the new shortcuts are made in this time. If you don’t do that, your installation can be corrupted. You will see only one shortcut on your desktop. But this shortcut probably won’t work.

18. Do everything Unity3D wants from you (Activate your Unity License – free or pro; log in to your Unity3D account – you should have the account; if don’t, make one; then, click Start using Unity).

19. When you see the dialog (Project Wizard) for creating or opening a new project for Unity3D, just do that as if you worked on Windows. That’s all!

20. Unity3D is running!!!

Now, you can create and edit scripts in the built in MonoDevelop for Unity3D under Linux, just like under Window. Together with Goran Grncaroski, I was able to write the script (the fourth version) that can ran not only Unity3D but also the MonoDevelop.

For editing scripts, I’ll still be using Notepad++ along with MonoDevelop. Go to the link

How to Setup Notepad++ for Unity3D on Linux

to know how to do that. Notepad++ is a very good tool, because it’s simple and quick.  I used it before, making my first game on Windows. For bigger scripts and for debugging, use MonoDevelop.

Unity3D Web Player

To use Unity3D Web Player under Linux, please go to the link:

Unity3D Web Player and Other Windows Plugins under Linux Browsers – Pipelight Project

WineBrowser Changes

Note: Optionally – it can be changed in the future. It isn’t critical for running Unity3D on Linux and making Unity3D projects, so you can skip this.

You should also do some fixes in Wine Windows registry for opening links inside Wine. Open main PlayOnLinux window -> click Configure (the gear wheel icon) ->  click Unity disk on your left -> Wine tab -> open Regedit by clicking -> You should see the well-known for you window for editing Windows Registry (regedit).

Go to HKEY_CURRENT_USER (HKCU) -> Software -> Wine -> WineBrowser

If you don’t see it, you have to create one.

Right click on the Wine key -> Key -> name it WineBrowser

Right click on the right side of Regedit window -> New -> Key -> String

Call the string you have just created Browsers, and its value should be xdg-open,firefox, opera,konqueror

You can write browser you want in the value. xdg-open should be the first. Because of that, clicking on a link in Wine, you will open the link by your default browser in your operating system.

Then, go to HKEY_CLASSES_ROOT -> http -> shell -> open -> command

On your right side you probably see:

“C:\windows\system32\winebrowser.exe” -nohome

You should write “%1” at the end, so it should look:

“C:\windows\system32\winebrowser.exe” -nohome “%1”

Now you can open links in Wine in your default Linux browser. You can check it in

/home/poganin/.PlayOnLinux/wineprefix/Unity3D/system.reg

Open the system.reg file. You should see something like that:

[Software\\Classes\\http\\shell\\open\\command] 1390676532

@=”\”C:\\windows\\system32\\winebrowser.exe\” -nohome \”%1\””

The same you could do for HTTPS:

HKEY_CLASSES_ROOT -> https -> shell -> open -> command

Potential Problems

Warning: There can still be issues with Unity3D on Linux. But we are working so that all works perfectly.

1/ Because PlayOnLinux creates a special disk for installing Unity3D on Linux, this installation is isolated. So if you try to run for example a .blend file to edit inside Unity3D, it won’t be opened automatically because Blender is installed outside this special disk on your computer.To solve it, search solutions on:

http://wiki.unity3d.com/index.php/Running_Unity_on_Linux_through_Wine

or use Unity3D installation on Linux without PlayOnLinux from:

https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine/blob/master/unity3d.verb

However, I’m not sure if this solution will be working so easy like that method with using PlayOnLinux. That’s why, I recommend the installation of Unity3D on Linux with PlayOnLinux for beginners.

2/ I know it works with openSuse 13.1 and I’m not sure as to other distributions. Unity3D is stable enough to make games. It’s really amazing how it works on openSuse with Intel graphics card. Some people say that it works with Ubuntu, too.

3/ To import unitypackages:

Assets -> Import package -> Custom Package… -> search your .unitypackage -> import it to your Unity3D

I couldn’t start NGUI.unitypackage from outside Unity as it is on Windows. I had to import it from inside Unity3D Editor.

4/ I couldn’t import assets from Asset Store from the Unity3D website.

5/ If you have problems with the Mesa drivers, go to the link

libGL error: unable to load driver: i965_dri.so – a Mesa 3D graphics library error

Warning: Mesa is developed by Intel, so Intel graphics cards are always fully supported. But if you have other graphics card, proprietary drivers can be better. However, these drivers contain many bugs and your Unity3D can be unstable, for example, problem with refreshing windows in the editor.

More info

read also:

http://wiki.unity3d.com/index.php/Running_Unity_on_Linux_through_Wine

the recent changes to the script:

https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine

for the problems you can’t find in my tutorial, use Unofficial IRC channel on freenode: #unity3d-wine

Remarks

If you see any error in my tutorial or you wish to improve it, please let me know. I hope my English is good enough. Thanks!

Thanks

Thanks to Cauê Waneck (waneck-six) and Damian Kucharski (Damian-LinuxFan) for the Script that started the revolution for many people in the world.

Thanks to Goran Grncaroski for helping me running the built in MonoDevelop for Unity3D under Linux.

Thanks to other users who improved and tested this solution on many distros.

Unity3D on Linux – a wonderful idea!

Guys, please leave your opinion below. Just write the system you are using, your graphics card, etc. It’s important for us, developers, to improve our solution. We are doing that to you for free. So please help us.

78 thoughts on “Run Unity3D on Linux with Wine – solved!

  1. John Fino

    Thanks for this. Following these instructions I got Unity 4.3.3f1 working on Ubuntu 13.10 64bit. Haven’t started in on game creation in it yet, but so far it works fine.

    Reply
    1. tomaszzackiewicz Post author

      Great! Unity3D running on openSuse 13.1 is very stable and I hope it will be so on Ubuntu. There can some problems on other distros. I know that Unity3D works with openSuse 13.1 perfectly. No crashes, everything seems works. Sometimes, you can lose Gizmo. If you are using Translate, just switch to Rotate or Scale, and Gizmo should reappear.

      Thanks to Cauê for THE SCRIPT that automates the Unity3D installation on Linux.

      Enjoy it!

      P.S. I prefer Blender. I uninstalled Unity3D and installed Blender. It’s better for me.

      Reply
  2. doan

    Hello and thank you for those explanations!
    I HIGHLY recommend you the write those scripts in plain-text. Those are unicode encoded and the script wouldn’t work.
    If your blog doesn’t support plain-text. You can paste your scripts here: http://www.pasteall.org/

    Cheers!

    Reply
    1. tomaszzackiewicz Post author

      These scripts aren’t for copy&paste. I’m not the author of them! I just wrote the article about running Unity3D on Linux. I used them to show how they look inside and how they work. My task is to popularize this topic in the word and explain what to do to have Unity3D running on Linux. That’s all. To copy&paste, please go to the thread.

      Thanks for your words!

      Best wishes!

      Reply
  3. Mark

    Thanks for the explanation. The third script worked for me. Im on opensuse 13.1. I use Blender for modelling, but the game engine is a little boy compared to Unity. I just got Unity fired up, so i don’t know what works and what not. But so far this is the first succesful install. Thanks for the detailed explanation!

    Reply
    1. tomaszzackiewicz Post author

      Thanks for your words. Mark, use the fourth script. If you use the fourth script, you will be able to run the built in MonoDevelop just like under Windows. With the third script, you can use only Notepad++. Blender engine is very good for game developing, but more difficult. But 3D rendering is probably better.

      Reply
      1. Mark

        I tried the fourth script several times, but it didnt work out for me. As soon as I started Unity, the application crashed. I couldn’t see what caused it.

      2. tomaszzackiewicz Post author

        It’s impossible. It was tested many times not only by me. It really works. Please use the fourth script that is on the 6th page of the thread, not in my article. That script is in plain text, not in Unicode. Maybe, there’s a problem with Unicode. The script itself should work with no problems.

        You can also write your computer details to me:
        – Mesa (version,etc.)
        – graphics card

        Remember that you should make some steps before you can run Unity3D successfully. My tutorial explain all what you need. Just read all, and if need be go to other articles (there are all the links you need).

        If you still unsuccessful, please write to me.

  4. Mark

    I tried the fourth scipt, but now copied it from the 6th page of the thread. It worked like a charm!
    I haven’t tried it yet, but I could start Unity 3D.
    You have a nice page explaining this install method, but you should copy the scripts in plain text onto your site. Or don’t place them at all. you also could try to add links to the script instead of placing them on this page. Now it’s just confusing.

    But anyway, thanks a million for the help! Much appreciated!
    Mark

    Reply
    1. tomaszzackiewicz Post author

      It’s good it works for you. I’m very happy to read that. My article is for explaining what to do to have Unity3D running on Linux. I’m not the author of those scripts. But I see that people are lazy and they copy&paste those scripts in Unicode. OK, I’ll do all to avoid such situation in the future. I promise.

      Best wishes from Poland!

      Reply
  5. Kevin T.

    I have been migrating my applications and games from Windows to Linux. I had video issues with OpenSUSE on my Dell laptop so opted for Linuxmint. Playonlinux has allowed me to use my required Windows apps with little issue (besides getting the right native DLLs installed which the POL debugger helps with). I thought I would try to get Unity 3D installed and working again under wine and your latest script worked perfectly.

    Reply
    1. tomaszzackiewicz Post author

      Very good! I’m glad it works for you because some people say that it doesn’t work and have claims to me.

      Reply
      1. Kevin T

        Tomza,
        Backed up my important stuff and rebuilt my machine with OpenSUSE 13.1 64 bit. Took my time installing drivers, media codecs, etc; and then installed Playonlinux. Successfully installed Unity 3D and created a test project. Monodevelop launches fine. Thank you again for working on the script.

      2. tomaszzackiewicz Post author

        You’re welcome. This script has been written and tested by many people. It’s pleasure to read such words. It shows that our work makes sense.

  6. Tomislav Eric

    Hi Tomasz,
    first of all, thank you very very much for this Tutorial! I installed it successfully! but i had some issues to solve!

    System: Ubuntu 13.10
    Graphic Card: Nvidia GeForce GT 630 with nvidia-319 Drivers from the Repos.

    Issues:
    First one, with the PlayOnLinux Version from the Repos (2.2.1) it doesn’t work! I hade to install the 4.2.2 as you mentioned in your post.

    Second, i had an, only Ubuntu issue, Failure Message called “Fatal: Package installation will fail until you set /proc/sys/kernel/yama/ptrace_scope to 0” so i had to set the ptrace_scope to 1 in /etc/sysctl.d/10-ptrace.conf. Reboot PC or Reload the .conf file.

    Third, i was not able to load my existing Project into Unity, i had to create a new Project and then import, Drag’n’Drop, my Scripts, Materials etc. The GameObjects i had to create again.

    I solved all of these and now it’s working like a charm!
    I published also a german Tutorial for Ubuntu 13.10 here http://www.tablet-vergleich.com/tablet-pc-blog/unity3d-installation-unter-ubuntu-anleitung

    Reply
    1. tomaszzackiewicz Post author

      There can be problems with Ubuntu, but it’s good all is working for you. The German version of the tutorial will be very helpful.

      Reply
  7. Kevin T

    Has anyone had issues baking the lightmapping? Unity 3D is crashing before it completes.

    System: Dell 14z with ATI graphics running OpenSUSE 13.1 64bit. Attempted using Wine 1.7.14

    Reply
    1. tomaszzackiewicz Post author

      Sorry, I have never used OpenSuse 13.1 64bit. I know there can be some problems with 64bit platforms.

      Reply
      1. tomaszzackiewicz Post author

        I tested OpenSuse 32 bit with lightmapping and I was successful. But, in reality, it was not too much for lightmapping. Unfortunately, I left my home a month ago and went to Asia. I have had no computer with Linux as yet. So now I can’t test Unity3D on Linux.

  8. Kevin T

    Cool. Enjoy your stay in Asia!!! As a note to others, I have a machine with switchable graphics (ATI/Intel) with OpenSUSE 64bit, and I use the proprietary driver. I have run into intermittent tearing of the editor window (the terrain disappears when you scroll toward it and is completely invisible when running the game within Unity 3D) when the ATI card is active. I built the game as a Linux executable and the terrain is fine. Switching to the Intel card solved this issue. Probably an issue with the ATI drivers and not Unity 3D.

    Reply
    1. tomaszzackiewicz Post author

      Thanks! THAT’S WHY I HAVE BEEN REPEATING SINCE SOME TIME TO USE AN INTEL GRAPHICS CARD! INTEL IS THE BEST FOR RUNNING UNITY3D ON LINUX. But most users ignore that, and then have claims to me. This solution is tested by me and others, and works the best:

      OpenSuse 13.1 + Intel graphics card + Mesa 10.x.x

      I’ll use your comment on the thread. It’s a typical situation for many Unity3D on Linux users.

      I’m glad you can run Unit3D on Linux without issues.

      Reply
    1. tomaszzackiewicz Post author

      Great! We need such info because I can’t test all configurations. Thanks!
      If NVIDIA and ATI support Linux in the same way as Intel, many people will have no troubles with Linux graphics. Unfortunately, Mesa is the best only for Intel.

      Reply
  9. dawidromanowski

    I can confirm that the 6’th script works great with Ubuntu 14.04 on an optimus laptop both with bumblebee and without it. Very solid. Kawał dobrej roboty 🙂

    Reply
    1. tomaszzackiewicz Post author

      Dzięki. Thanks! It’s just many people’s work – developers and testers.

      Reply
  10. Marc Parenthoen

    I can also confirm that the 6′th script works great with Ubuntu 14.04 (64bits) and an nvidia graphic card (with the recommanded proprietary driver). Lots of thanks 🙂

    Reply
    1. Marc Parenthoen

      I have also been able to run unity editor using the 6th script with ubuntu 14.04 64-bit on a lenovo L530 (with only a graphihc chipset). I give a link to your blog on ubuntu forums 🙂

      Reply
  11. tomaszzackiewicz Post author

    Great! I hope Unity3D is stable enough for using it in making games. Running Unity3D on Linux only isn’t enough for us. Game developing is our purpose. Alas, we can’t still use Asset Store. Nobody has solved it as yet.

    Reply
      1. tomaszzackiewicz Post author

        But Damian only wrote about using Asset Store, and he have not shared his solution yet. I think Damian is close to the solution, but it is still not ready to publish.

  12. doctorjellyface

    Hiya Tomasz. Just one little thing. You know I created a GitHub repo for the scripts. I’m asking you to join it. It would be nice if we could collaborate on the two scripts, with a common site for issues, wiki, etc. Right now the script have great differences, which I don’t quite like. We’re here for a common purpose: to make Unity work perfectly on Wine. C’mon. Let’s join forces. Just tell me your GitHub username.

    PS: I’ve got Unity working with -force-opengl. It’s about 4 times faster now.

    Reply
    1. tomaszzackiewicz Post author

      Great! I would love to cooperate with you, but I have a hard time now. I left my home and I’m far away. I have no Linux on my PC, only Windows 7. That’s why, it’s impossible for me to work over Unity3D on Linux. However, I am reading new posts on the thread. I visited your GitHub. Great work! You have developed our idea, many steps forward. Congratulations! For other people and for free. My Github username is tomaszzackiewicz. GitHub for our scripts is a very good idea. As soon as I settle my matters, I’m going to come back to Unity3D on Linux. I wrote about your GitHub repo on blog. And I will be writing about all your achievements. Feel free to use my email address on the blog for contact if you need.

      P.S. I wish to know your true name if you don’t mind :).

      Reply
      1. doctorjellyface

        Just look at my GitHub account :-).

        By the way you’ve been kinda silent on GitHub lately, and all the cool stuff is going on there. What’s going on?

      2. tomaszzackiewicz Post author

        Thank you you remember me. Sorry, doctorJellyface, I’m writing a rich text editor in Visual Studio (WPF). Soon, I’m going to come back to Unity3D because I will be making a 3D simulation. In other words, too many programming projects. I’d like to help you, guys, develop our common project, but I really have no free time. I’m so overworked :). Congratulation on your success! I’m very glad. Unity Team shouldn’t ignore this project. Good job, doctojellyface! Keep it up!

    1. tomaszzackiewicz Post author

      What do you mean “the real script”? My article describes the process of creating the solution for running Unity3D on Linux. I’m not the only owner of the script. And those all details are for programmers, people that can improve our solution. The script is being improved all the time. What’s wrong with presenting the older versions? You have a choice if something goes wrong. It’s Open Source – you can look inside and improve it :). If you are only user, not programmer, so not to be so lazy and read the whole article. You will find “the real script” for you. Note – the last two versions have not been tested by me because I am working with Windows now. The recent changes to the script can be found at GitHub if any.

      Reply
      1. doctorjellyface

        recent changes can be found on GitHub ALL the changes can be found on GitHub. I took care of that.

  13. dnaniel213

    I already have wine installed, and the in-editor version replaced with my current version(1.7.20). When I run the script through POL, why does it start downloading wine?

    Reply
    1. tomaszzackiewicz Post author

      Ah, do you have one wine version installed, old, and then you wish to install the newer version? Remember, before running the script through POL, you should install new Wine. I wrote about that in my tutorial. Ok, I’ll write again. When you start POL, go to Tools -> Manage Wine Versions. You can see many Wine versions. Install the recent one. Just highlight the version by mouse click, and click the arrow to install the chosen Wine version. Wait to the end of the installation. Then, you can go further and run the script. If you have any older version of Wine that wasn’t installed through POL, uninstall it before installing the new version. POL is good for easy Wine versions maintaining. You can install and uninstall them without problems.

      Reply
    1. tomaszzackiewicz Post author

      Sorry, there aren’t! So far, it’s impossible, but people are working over that to solve the problem. Only direct links would work, but there’s no sign of cooperation on the Unity Team’s side. But maybe somebody will solve that soon. Be updated!

      Reply
  14. Parag Mahala

    Hi i used your script and installed it but play on linux fails to start the application …. it says Unity 3d crashed …… I tried to debug and installed all the missing dll’s to my prefix in system32 directory ….. now it gives this error …………..

    [07/12/14 17:54:06] – Running wine-1.7.19 Unity.exe (Working directory : /home/parag/.PlayOnLinux/wineprefix/Untity3D/drive_c/Program Files/Unity/Editor)
    wine: cannot find L”C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe”
    fixme:service:scmdatabase_autostart_services Auto-start service L”clr_optimization_v4.0.30319_32″ failed to start: 2
    fixme:ntdll:NtConnectPort (0x5b0c1170,L”\\ThemeApiPort”,0x23cfacc,(nil),(nil),(nil),0x23cfadc,0x23cfad8),stub!
    err:module:attach_process_dlls “API-MS-Win-Core-ErrorHandling-L1-1-0.dll” failed to initialize, aborting
    err:module:LdrInitializeThunk Main exe initialization for L”C:\\Program Files\\Unity\\Editor\\Unity.exe” failed, status c0000142

    any ideas with this??

    Reply
    1. tomaszzackiewicz Post author

      In the beginning, a few question:
      1/ Have you used read my tutorial on my website?
      2/ Which script have you used? The sixth and the seventh versions haven’t been tested by me.
      3/ Do you use PlayOnLinux? Now, some guys are trying to install Unity3D on Linux without PlayOnLinux, but the scripts in my article is for using with PlayOnLinux only.
      4/ Which Linux distro are you using? I have experience only with OpenSuse.
      5/ Which graphics card are you using? Intel + Mesa is tested by me and works very good. You can experience some troubles using other drivers and graphics cards.
      My suggestion – use the recent Wine (now 1.7.22). And don’t copy the scripts in Unicode (those in blue). They are for reference only. Use the script in plain text.

      Reply
    2. Mopzar

      Hi, I just noticed that there’s an error in the script (and therefore in the path in your error message as well). Replace “Untity” by “Unity” in the script and reinstall. This should do the trick

      Reply
      1. tomaszzackiewicz Post author

        Good job! I just copied the scripts and did not test them. I have fixed them. Thanks a lot!

  15. Michael

    With the latest Unity I get an licence error. Your registry fix doesn’t work anymore? Could you test with
    the latest Unity? Thanks

    Reply
    1. tomaszzackiewicz Post author

      Sorry, I don’t use Linux now. I can’t test it. Have you tried to use ‘Manual Activation’? I think your error is associated with your connection to the Unity servers, not with our script. Could you try out the previous recent script I tested (the fifth version)?

      Reply
  16. Phil

    Finally managed to install unity but it fails on running, Debug show this:

    [10/02/14 22:49:15] – Running wine-1.7.27 Unity.exe (Working directory : /home/fred/.PlayOnLinux/wineprefix/Unity3D/drive_c/Program Files/Unity/Editor)
    wine: cannot find L”C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe”
    fixme:service:scmdatabase_autostart_services Auto-start service L”clr_optimization_v4.0.30319_32″ failed to start: 2
    err:module:import_dll Library DNSAPI.dll (which is needed by L”C:\\Program Files\\Unity\\Editor\\Unity.exe”) not found
    err:module:LdrInitializeThunk Main exe initialization for L”C:\\Program Files\\Unity\\Editor\\Unity.exe” failed, status c0000135

    Can anyone tell me how to fault find this?

    Reply
  17. Phil

    Watching the bash script go whizzing by I noted this:

    home/fred/.PlayOnLinux/ressources)
    [POL_Wine] Message: Wine return: 0
    [POL_Wine_OverrideDLL] Message: Overriding DLLs
    [POL_Wine] Message: Running wine-1.7.27 regedit /home/fred/.PlayOnLinux//tmp/override-dll.reg (Working directory : /home/fred/.PlayOnLinux/ressources)
    [POL_Wine] Message: Wine return: 0
    [POL_Wine] Message: Running wine-1.7.27 C:\windows emp\directx9\DXSETUP.exe /silent (Working directory : /home/fred/.PlayOnLinux/ressources)
    fixme:ntdll:NtConnectPort (0x5b0c1170,L”\\ThemeApiPort”,0x32fb3c,(nil),(nil),(nil),0x32fb4c,0x32fb48),stub!
    err:setupapi:do_file_copyW Unsupported style(s) 0x144
    err:setupapi:do_file_copyW Unsupported style(s) 0x144
    err:setupapi:do_file_copyW Unsupported style(s) 0x144″

    The directory “ressources” does not exist as the spelling should be “resources” with one “s”.
    Does this make any difference?

    Reply
    1. Phil

      The re installation also reports:
      “wine: cannot find L”C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe” on many occasions. But I can assure you that it is there. Is there a path issue here?

      Reply
    1. tomaszzackiewicz Post author

      Phil, I am working over different things now, so to get the newest info of running Unity 3D on Linux and get a support, please go to the thread:

      http://forum.unity3d.com/threads/unity3d-on-linux-with-wine-support-thread.211059/page-8

      Linux 64 bit have been making troubles from the beginning and there are guys who are trying to solve the problem. Now, there are two ways to install Unity3D on Linux: with PlayOnLinux or without. Have you tried the two ways?

      Are you able to run Unity on a VM. Some months ago I tried to install on a VM and there were some troubles with 3D support. But maybe they fixed the issues.

      Reply
      1. Phil

        I tried the Winetricks method but fell at the first hurdle by being unable to attach to the FTP server to download the first file (tahoma32.exe font).
        Went back to Play on Linux method, back rev’d the version of wine to 1.6.2 and ran the playonlinux script 7 file. I still didn’t work but on going through the log file i noticed a DNSAPI.DLL error:
        “err:module:import_dll Library DNSAPI.dll (which is needed …… ”
        I copied that file from an XP VM that I had created the other day to install Unity into Windows and pasted it over the much smaller file sized one in the: /home/USERNAME/PlayOnLinux’s virtual drives/Unity3D/drive_c/windows/system32

        As every run of the application has failed so far I naturally ran Unity using the the debug selection in the PlayonLinux window…. and it worked.

        Right, finally I can now finally enjoy my weekend ….. oh, …. its 23:30 on Sunday night ……. 😦

  18. Gousenfireousenfire

    After I Install everything, like… EVERYTHING! When I chose the Unity Setup file I got this error:

    “Error in POL_Wine”
    “Error in POL_Shortcut”

    PS: I’m using the Untiy 4.6.1f version, Ubuntu 14.04 LTS Version, and WINE 1.7.21 (x86).
    PLZ SOMEONE HELP ME!

    Reply
  19. EddyKey

    To avoid the DNSAPI.DLL error, you have to download the .dll file from internet (search it on google) and overwrite your original .dll with it in your “.wine/drive_c/windows/system32” folder.
    This solved the problem in my situation.
    Does anyone know how to solve the not working asset store?

    Reply
  20. Vitalis

    It’s awesome work! Unity3D 5.0.0f4 runs like a “native” under Arch Linux with GNOME 3.14!
    I don’t need all of the POL_INSTALL Packages like in Unity3D 4.xxx. Only PlayOnLinux and the .exe.
    Great Work and thank you!

    Reply
      1. tomaszzackiewicz Post author

        Yes, I think Unity Technologies helped us somewhat. They became wise because saw many Linux users who wanted to use Unity. We made so big pressure that they simply can’t ignore us any more. We are too numerous and too active to pretend we don’t exist.

        It’s our common victory. All of us!

        Good game developing on Linux for all!

Leave a comment