Unity3D-Wine-Support / Unity3D-on-Wine

Scripts for making Unity3D run on Wine.
GNU General Public License v2.0
102 stars 59 forks source link

Unity window messed up #33

Open MathB opened 9 years ago

MathB commented 9 years ago

Hi, First thank you for putting some efforts in supporting unity through wine ! I just installed it with winetricks and all went well. The licence window was ok and i successfully logged in. But when unity starts I get a screen like that testunity

Do you have an idea what could possibly cause this problem ?

I'm on Manjaro with Nvidia drivers.

Pendrokar commented 9 years ago

See issue #16 , it says gray, but I have heard that it looks like what you have too.

CptTeacup commented 9 years ago

I'm also having this issue after installing my new GTX 760 with the proprietary drivers. I did not have any problems using my Intel HD 4000 iGPU.

Changing the timezone does not fix it. Disabling my compositor didn't fix it either.

Arch Linux Nvidia 343.36 Unity3D 4.6.0 and 4.6.1 tested Wine 1.7.21 and 1.7.33 tested

Log: http://pastebin.com/cm6NqF1W

jurf commented 9 years ago

Hm, have you tried launching unity in an standalone window manager like openbox? If yes, we can rule out any DE and compositor specific problems...

CptTeacup commented 9 years ago

I use Xmonad, so yes.

Edit: I also tested in KWin.

CptTeacup commented 9 years ago

Nouveau doesn't have this issue.

jurf commented 9 years ago

Ah, great, Nvidia again. Try looking at the solutions of #26.

CptTeacup commented 9 years ago

Tried max performance and strict draw ordering, neither of those fixed it. I also tried most of the Direct3D keys and running Unity with -force-d3d11. I haven't tried compiling Wine to allow -force-opengl yet.

I found this, I'm not sure if it's related: http://wiki.winehq.org/Bug7991

jurf commented 9 years ago

PlayOnLinux offers a patched wine called something like "Wine 1.7.33 WGL-Share-List". I've heard -force-opengl works with it, maybe you'll want to try that.

CptTeacup commented 9 years ago

Unity does run with -force-opengl using that version, but the windows are still garbled.

jurf commented 9 years ago

Crap. Proprietary drivers just don't like Unity. I tried Unity with Catalyst the other day - black Scene View.

The last thing I can think of is installing Unity with Tahoma only. There's a very slim chance that it'll work without the windows D3D dlls installed, but I doubt that.

CptTeacup commented 9 years ago

No, that didn't work.

Gousenfire commented 9 years ago

How do I solve this problem on OpenSUSE 13.2 ? I'm using Gnome 3

I'm Using: Intel® Core™ i3-3240 CPU @ 3.40GHz × 4 Graph.: Gallium 0.4 on AMD TURKS openSUSE 13.2 (Harlequin) (x86_64) 64-bit GNOME: 3.14.1 Unity3D: 4.6.1f PlayOnLinux, Wine: 1.7.34 -- Copied from Forum post

jurf commented 9 years ago

@CptTeacup found 2 things you might want to try:

1: do you have the 32 bit drivers installed? It's a tiny section just before the end of that step, so you might have missed it (I made a similar error). 2: If nothing else works, you might want to try enabling software rendering, as Andrew of WebUpd8 proposes.

@Gousenfire, could you provide more info please? What card, what drivers? Maybe a screenshot? Thanks.

CptTeacup commented 9 years ago

Already have the 32 bit drivers installed. Software rendering did not help, which kind of surprised me.

Gousenfire commented 9 years ago

Well, now I changed my OS to Ubuntu 14.10 I'll install everything and see if I got any issue. I'm in Brazil... this affects anything? And when I start the system I receive an error saying that "wrong ROM contents" or something like that.

PS: thanks for the support

jurf commented 9 years ago

@Gousenfire well, Brazil is known to have the timezone problem (#16). I probably can't help you with the error (Arch here), but I doubt it has something to do with this. Try searching the Ubuntu forums or AskUbuntu.

jurf commented 9 years ago

@CptTeacup that sucks. But then again, you might be experiencing bug 7991 after all.

Pendrokar commented 9 years ago

I noticed something regarding this issue, the OP MathB has the French language set for desktop, Gousenfire mentions Brazil, so Gousenfire's system language may be Portuguese. Maybe this is due to some lack of UTF-8 support? What about @CptTeacup, what system language do you have?

lamoukat commented 9 years ago

Hi,

I am trying tu run Unity 5.0.0f4 but I have the same problem as above and cannot get around it.

unity_garbage

wine 1.7.38 : http://pastebin.com/XQNWttVu wine 1.7.33-WGL-sharelist -force-opengl : http://pastebin.com/FAM46R6h

Some info

uname -a
Linux Hyperion 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt4-3 (2015-02-03) x86_64 GNU/Linux
glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
...
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 343.36
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
dpkg --get-selections |grep nvidia
glx-alternative-nvidia                          install
libegl1-nvidia:amd64                            install
libegl1-nvidia:i386                             install
libgl1-nvidia-glx:amd64                         install
libgl1-nvidia-glx:i386                          install
libgl1-nvidia-glx-i386                          install
libgles1-nvidia:amd64                           install
libgles1-nvidia:i386                            install
libgles2-nvidia:amd64                           install
libgles2-nvidia:i386                            install
libnvidia-eglcore:amd64                         install
libnvidia-eglcore:i386                          install
libnvidia-fbc1:amd64                            install
libnvidia-ml1:amd64                             install
libnvidia-ml1:i386                              install
nvidia-alternative                              install
nvidia-detect                                   install
nvidia-driver                                   install
nvidia-driver-bin                               install
nvidia-glx                                      install
nvidia-installer-cleanup                        install
nvidia-kernel-3.16.0-4-amd64                    install
nvidia-kernel-amd64                             install
nvidia-kernel-common                            install
nvidia-kernel-dkms                              install
nvidia-modprobe                                 install
nvidia-settings                                 install
nvidia-smi                                      install
nvidia-support                                  install
nvidia-vdpau-driver:amd64                       install
nvidia-vdpau-driver:i386                        install
nvidia-xconfig                                  install
xserver-xorg-video-nvidia                       install

Like @CptTeacup I have try :

jurf commented 9 years ago

Oh yay. Nvidia again. Nouveau works fine I guess?

lamoukat commented 9 years ago

@DoctorJellyface I can't tell. I've never managed to get nouveau to work with haswell gpu. Either i disable i915 module and all I get is black screen at startup, either nouveau is complaining about "kms not enabled" and Xorg wont start.

jurf commented 9 years ago

You've got a hybrid gpu?

lamoukat commented 9 years ago

@DoctorJellyface the intel HD4600 within the intel cpu.

jurf commented 9 years ago

And do you have a Nvidia card too?

lamoukat commented 9 years ago

@DoctorJellyface not hybrid, two distincts GPU. I have a PCIe nvidia card (Nivida GTX 970) and the one integrated in the core i5 processor (Intel HD4600)

jurf commented 9 years ago

Oh, thought that was called hybrid. Anyway, do you have Bumblebee or something like that installed. If so, what happens when you launch it with you Intel graphics card?

lamoukat commented 9 years ago

@DoctorJellyface It's a classical workstation, the motherboard has a hdmi connector for the integrated intel gpu and my nvidia card has also other hdmi connector. I run two Xorg instance into two different monitor. I could use optirun to have an application from a X instance appear into the other one but I don't need this.

thediamondgames commented 9 years ago

I am also on arch linux (manjaro is arch based distro). I just found a workaround. I have 64-bit cpu so I got unity 5 64-bit working with no glitches.

USE playOnLinux and DO NOT run .pol script, it is a cause, I mean some of the packages included in that script cause that.

  1. If you are on 64-bit OS then set up 64-bit prefix. To do that press configure, on bottom left you should see a button "new", press it and select 64-bit.
  2. Download installer (that 650kb one)
  3. Select tools > manage wine versions, select amd64 and find 1.7.33-WGL_ShareList. Press ">" while selected that wine version. It will download it. If it doesn't, I mean stucks at some point and seems to be frozen for more than minute then click cancel and press again ">" button.
  4. In left select install a program
  5. Select install unlisted program
  6. Choose edit/update existing drive and select the prefix you just have created
  7. Tick all boxes.
  8. Click next until it opens one windows style window.
  9. On bottom right select windows 7 and click ok
  10. Once it opens a window with libraries select POL_install_tahoma (we don't need POL_install_tahoma2)
  11. Select 64-bit installation
  12. And select the installer. Don't change anything
  13. It should show an error about failing to install VC something 2010, don't care about it, for me seems everything works fine, if somewhere something doesn't work, install it through playOnLinux.
  14. Create a shortcut of Unity.exe (easier to click browse and go to Program Files/Unity/Editor/Unity.exe)
  15. Do all that license stuff and check if it works. If you did it good, it should show in the top that it is 64-bit version

If it is all right then select your unity icon, click configure, and select wine version 1.7.33-WGL_ShareList and in arguments type -force-opengl. This should increase performance, however, windows won't refresh fine. None of the solutions didn't work for me with -force-opengl. Windows refresh fine on DX9.

thediamondgames commented 9 years ago

Also install micosoft core fonts because otherwise gui text won't be visible

jurf commented 9 years ago

Yeah, the window refresh bug does occur (see #10). Sadly there's no fix for it yet.

Btw, some very important fixes to Unity landed in Wine 1.7.34/35, not sure which, so Unity might not function properly without them. Did you try asking the devs to update the patched wine to a newer version?