iXit / Mesa-3D

Please use official https://gitlab.freedesktop.org/mesa/mesa/ !
https://github.com/iXit/Mesa-3D/wiki
66 stars 13 forks source link

WoW crash #151

Closed vurstp closed 9 years ago

vurstp commented 9 years ago

System: Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz GeForce GTX 460 SE Ubuntu 15.10 Wily Werewolf

When I try to launch wow I get a black screen. xkill the black and then I'm left with a wow crash report

vurstp commented 9 years ago

Managed to get wow to boot with this script:

#!/bin/sh
MESA_GL_VERSION_OVERRIDE=3.3COMPAT 
export MESA_GL_VERSION_OVERRIDE 

WINEDEBUG=-all wine "/home/vurstp/Wine32/drive_c/Program Files (x86)/World of Warcraft/WoW.exe" -noautolaunch64bit -opengl

with the config.wtf set to:

SET gxApi "opengl"

But crashes shortly after character login. Not even xkill short cut does anything. Whenever I've tried this, after crash I have to ctrl+alt+f1 and sudo service lightdm restart to get back into the OS.

Puzzling because gallium 9 + wine 1.7.5 + Ubuntu 15.04 worked beautifully on my other computer.

Now if I modify the script to:

#!/bin/sh

MESA_GL_VERSION_OVERRIDE=3.3COMPAT 
export MESA_GL_VERSION_OVERRIDE 

WINEDEBUG=-all wine "/home/vurstp/Wine32/drive_c/Program Files (x86)/World of Warcraft/WoW.exe" -noautolaunch64bit

and change the config.wtf to:

SET gxApi "d3d9"

I can get to the login menu but it freezes right then and there.

I suppose I should try a fresh 32bit prefix now, but somehow I don't think it will be fixed.

Altosk commented 9 years ago

Sounds like wine64 prefix On Oct 28, 2015 5:33 PM, "Paul Vurst" notifications@github.com wrote:

Managed to get wow to boot with this script:

!/bin/sh

MESA_GL_VERSION_OVERRIDE=3.3COMPAT export MESA_GL_VERSION_OVERRIDE

WINEDEBUG=-all wine "/home/vurstp/Wine32/drive_c/Program Files (x86)/World of Warcraft/WoW.exe" -noautolaunch64bit -opengl

But crashes shortly after character login. Not even xkill short cut does anything. Whenever I've tried this, after crash I have to ctrl+alt+f1 and sudo service lightdm restart to get back into the OS.

Puzzling because gallium 9 + wine 1.7.5 + Ubuntu 15.04 worked beautifully on my other computer.

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/151#issuecomment-152039961.

vurstp commented 9 years ago

Exactly! But I'm very certain I created a 32bit prefix where the game is installed. So I'm very confused.

vurstp commented 9 years ago

Nope. Same problem.

vurstp commented 9 years ago

I'm going to try something else...

vurstp commented 9 years ago

So rather than:

WINEPREFIX=$HOME/prefix32 WINEARCH='win32' winecfg

source

probably better to:

WINEARCH=win32 WINEPREFIX=/path/to/wineprefix winecfg 

source

I noticed with the second method, my winecfg did not have to be configured twice for the same settings.

All that aside, I still have the same problem.

vurstp commented 9 years ago

So now what I did was to create a brand new .wine prefeix in 32bit mode via

WINEARCH=win32 winecfg

Although I found out through a script that my alternative prefix was 32bit, as was the one I used before. Now, using the output of this script I believe that my new .wine prefix is 32bit also. So I find it hard to conclude that the bit level of the wine installation is the only cause for my issues. Although, it is noteworthy how suddenly using the 32bit .wine prefix specifically has changed the nature of the issue.

Since moving the wow directory from the wine32 directory to the new 32bit .wine directory, wow will actually launch rather than crash with a black screen, but all text is black out. It is difficult to navigate through the login screen. It is totally unplayable like this. Thus I have not tested the game beyond the login menu at this state.

Altosk commented 9 years ago

Yeah novueau got a text problem in nine its one of my issue I reported On Oct 28, 2015 7:06 PM, "Paul Vurst" notifications@github.com wrote:

So now what I did was to create a brand new .wine prefeix in 32bit mode via

WINEARCH=win32 winecfg

Although I found out through a script http://askubuntu.com/questions/500069/how-to-check-if-my-wine-prefix-is-32-bit-or-64-bit that my alternative prefix was 32bit, as was the one I used before. Now, using the output of this script I believe that my new .wine prefix is 32bit also. So I find it hard to conclude that the bit level of the wine installation is the only cause for my issues. Although, it is noteworthy how suddenly using the 32bit .wine prefix specifically has changed the nature of the issue.

Since moving the wow directory from the wine32 directory to the new 32bit .wine directory, wow eill actually launch rather than crash with a black screen, but all text is black out. It is difficult to navigate through the login screen. It is totally unplayable like this. Thus I have not tested the game beyond the login menu at this state.

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/151#issuecomment-152051667.

vurstp commented 9 years ago

so what to you use instead?

Altosk commented 9 years ago

My AMD r9 290x On Oct 28, 2015 7:33 PM, "Paul Vurst" notifications@github.com wrote:

so what to you use instead?

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/151#issuecomment-152055142.

vurstp commented 9 years ago

That runs gallium9 fine?

Altosk commented 9 years ago

Yup On Oct 28, 2015 7:55 PM, "Paul Vurst" notifications@github.com wrote:

That runs gallium9 fine?

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/151#issuecomment-152057332.

vurstp commented 9 years ago

Ah that's a shame about nouveau. I have another computer running an ati card and it works nicely with nine but this machine is better for gaming although unfortunately uses nvidia. Guess we'll have to wait for a fix.

Altosk commented 9 years ago

take a look at #149 about the unreadable text

Altosk commented 9 years ago

looks like wow still crashes on load after selecting a character. error 132 which can be related to memory and possible to issue #153

Altosk commented 9 years ago

actually its related to a unsupported tsgi op code on novueau, ERROR: unhandled TGSI opcode: 20 console: /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp:3222: bool {anonymous}::Converter::handleInstruction(const tgsi_full_instruction

Altosk commented 9 years ago

i dont run into this problem on an older nine set of patches dated 9-06-2015

axeldavy commented 9 years ago

try to bisect ?

Altosk commented 9 years ago

pull request #141 is when it broke, going thru the patches now.

Altosk commented 9 years ago

st-nine-Fix-fixed-function-blendweights is the bad patch for nouveau

axeldavy commented 9 years ago

can you post the last shader (with broken commit) with NINE_FF_DUMP=1 ?

ghost commented 9 years ago

I started to encounter similiar crash in fallout new vegas on nouveau:

...src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp:1715: void nv50_ir::CodeEmitterNVC0::emitLoadStoreType(nv50_ir::DataType): Assertion `!"invalid type"' failed.

shader is:

VERT
DCL IN[0]
DCL IN[1]
DCL IN[2]
DCL OUT[0], POSITION
DCL OUT[1], COLOR
DCL OUT[2], COLOR[1]
DCL CONST[19..22]
DCL CONST[24]
DCL CONST[0..3]
DCL TEMP[0..7], LOCAL
IMM[0] FLT32 {    1.0000,     0.0000,     0.0000,     0.0000}
  0: MUL TEMP[0], IN[0].xxxx, CONST[0]
  1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0]
  2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0]
  3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0]
  4: MAD_SAT OUT[1], IN[1], IMM[0].yyyx, CONST[19]
  5: MUL_SAT OUT[2], IMM[0].yyyx, IN[2]
  6: END
FRAG
DCL IN[0], COLOR, PERSPECTIVE
DCL OUT[0], COLOR
DCL TEMP[0..5], LOCAL
  0: MOV TEMP[0], IN[0]
  1: MOV OUT[0], TEMP[0]
  2: END
ghost commented 9 years ago

Also warhammer 40000 dawn of war dark crusade started to crash with similiar error (not that it worked to start with, but it didnt crash).

Should i open new bug reports?

https://drive.google.com/open?id=0Bw8YULLJvu4gRThjTFJIQV8za3M

Altosk commented 9 years ago

VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL IN[3] DCL OUT[0], POSITION DCL OUT[1], COLOR DCL OUT[2], COLOR[1] DCL OUT[3], FOG DCL OUT[4], TEXCOORD[0] DCL OUT[5], GENERIC[20] DCL CONST[20..23] DCL CONST[24..25] DCL CONST[0..7] DCL CONST[16..18] DCL CONST[28] DCL TEMP[0..7], LOCAL DCL ADDR[0] IMM[0] FLT32 { 1.0000, 32.0000, 0.0000, 3.0000} IMM[1] FLT32 { 2.0000, 8.0000, 0.0000, 0.0000} 0: MUL TEMP[0], IN[0].xxxx, CONST[0] 1: MAD TEMP[0], IN[0].yyyy, CONST[1], TEMP[0] 2: MAD TEMP[0], IN[0].zzzz, CONST[2], TEMP[0] 3: MAD OUT[0], IN[0].wwww, CONST[3], TEMP[0] 4: MUL TEMP[1].xyz, IN[0].xxxx, CONST[4] 5: MAD TEMP[1].xyz, IN[0].yyyy, CONST[5], TEMP[1] 6: MAD TEMP[1].xyz, IN[0].zzzz, CONST[6], TEMP[1] 7: MAD TEMP[1].xyz, IN[0].wwww, CONST[7], TEMP[1] 8: MUL TEMP[2].xyz, IN[1].xxxx, CONST[16] 9: MAD TEMP[2].xyz, IN[1].yyyy, CONST[17], TEMP[2] 10: MAD TEMP[2].xyz, IN[1].zzzz, CONST[18], TEMP[2] 11: DP3 TEMP[0].x, TEMP[2], TEMP[2] 12: RSQ TEMP[0].x, TEMP[0].xxxx 13: MUL TEMP[2].xyz, TEMP[2], TEMP[0].xxxx 14: MOV TEMP[5], IN[3] 15: MOV OUT[4], TEMP[5] 16: MOV TEMP[2].w, IMM[0].yyyy 17: MOV TEMP[5].xyz, IMM[0].zzzz 18: MOV TEMP[6].xyz, IMM[0].zzzz 19: MOV TEMP[7].xyz, IMM[0].zzzz 20: BGNLOOP :71 21: ARL ADDR[0].x, TEMP[2].wwww 22: SNE TEMP[0].x, CONST[ADDR[0].x].xxxx, IMM[0].wwww 23: MOV TEMP[3].xyz, -CONST[ADDR[0].x+5] 24: MOV TEMP[1].w, IMM[0].xxxx 25: IF TEMP[0].xxxx :34 26: SUB TEMP[3].xyz, CONST[ADDR[0].x+4], TEMP[1] 27: DP3 TEMP[0].x, TEMP[3], TEMP[3] 28: SQRT TEMP[0].x, TEMP[0].xxxx 29: MAD TEMP[1].w, TEMP[0].xxxx, CONST[ADDR[0].x].wwww, CONST[ADDR[0].x].zzzz 30: MAD TEMP[1].w, TEMP[0].xxxx, TEMP[1].wwww, CONST[ADDR[0].x].yyyy 31: RCP TEMP[1].w, TEMP[1].wwww 32: SLT TEMP[0].x, TEMP[0].xxxx, CONST[ADDR[0].x+4].wwww 33: MUL TEMP[1].w, TEMP[1].wwww, TEMP[0].xxxx 34: ENDIF 35: DP3 TEMP[0].x, TEMP[3], TEMP[3] 36: RSQ TEMP[0].x, TEMP[0].xxxx 37: MUL TEMP[3].xyz, TEMP[3], TEMP[0].xxxx 38: SEQ TEMP[0].x, CONST[ADDR[0].x].xxxx, IMM[1].xxxx 39: IF TEMP[0].xxxx :48 40: DP3 TEMP[0].y, -TEMP[3], CONST[ADDR[0].x+5] 41: SUB TEMP[0].x, TEMP[0].yyyy, CONST[ADDR[0].x+6].yyyy 42: MUL TEMP[0].x, TEMP[0].xxxx, CONST[ADDR[0].x+6].zzzz 43: POW TEMP[0].x, TEMP[0].xxxx, CONST[ADDR[0].x+5].wwww 44: SGE TEMP[0].z, TEMP[0].yyyy, CONST[ADDR[0].x+6].xxxx 45: SGE TEMP[0].y, TEMP[0].yyyy, CONST[ADDR[0].x+6].yyyy 46: MAD_SAT TEMP[0].x, TEMP[0].xxxx, TEMP[0].yyyy, TEMP[0].zzzz 47: MUL TEMP[1].w, TEMP[1].wwww, TEMP[0].xxxx 48: ENDIF 49: DP3_SAT TEMP[0].x, TEMP[2], TEMP[3] 50: MOV TEMP[0].y, IMM[0].zzzz 51: IF TEMP[0].xxxx :65 52: DP3 TEMP[0].x, TEMP[1], TEMP[1] 53: RSQ TEMP[0].x, TEMP[0].xxxx 54: MUL TEMP[4].xyz, TEMP[1], TEMP[0].xxxx 55: SUB TEMP[4].xyz, TEMP[3], TEMP[4] 56: DP3 TEMP[0].x, TEMP[4], TEMP[4] 57: RSQ TEMP[0].x, TEMP[0].xxxx 58: MUL TEMP[4].xyz, TEMP[4], TEMP[0].xxxx 59: DP3_SAT TEMP[0].y, TEMP[2], TEMP[4] 60: POW TEMP[0].y, TEMP[0].yyyy, CONST[23].xxxx 61: MUL TEMP[0].x, TEMP[1].wwww, TEMP[0].xxxx 62: MUL TEMP[0].y, TEMP[1].wwww, TEMP[0].yyyy 63: MAD_SAT TEMP[5].xyz, CONST[ADDR[0].x+1], TEMP[0].xxxx, TEMP[5] 64: MAD_SAT TEMP[7].xyz, CONST[ADDR[0].x+2], TEMP[0].yyyy, TEMP[7] 65: ENDIF 66: MAD_SAT TEMP[6].xyz, CONST[ADDR[0].x+3], TEMP[1].wwww, TEMP[6] 67: IF CONST[ADDR[0].x+7].wwww :70 68: BRK 69: ENDIF 70: ADD TEMP[2].w, TEMP[2].wwww, IMM[1].yyyy 71: ENDLOOP :0 72: MOV TEMP[5].w, IMM[0].xxxx 73: MOV TEMP[7].w, IMM[0].xxxx 74: ADD TEMP[0].xyz, TEMP[6], CONST[25] 75: MAD TEMP[0].xyz, IN[2], TEMP[0], CONST[24] 76: ADD TEMP[0].w, IN[2], CONST[24] 77: MAD_SAT OUT[1], TEMP[5], IN[2], TEMP[0] 78: MUL_SAT OUT[2], TEMP[7], IMM[0].xxxx 79: MOV TEMP[0].z, |TEMP[1].zzzz| 80: SUB TEMP[0].x, CONST[28].xxxx, TEMP[0].zzzz 81: MUL_SAT TEMP[0].x, TEMP[0].xxxx, CONST[28].yyyy 82: MOV OUT[3].x, TEMP[0].xxxx 83: MOV OUT[5], IN[1] 84: END

axeldavy commented 9 years ago

The problem is that the new patch uses SQRT which is not available for nouveau. We should use the equivalent: RCP (RSQ())

Altosk commented 9 years ago

easy fix then i'm guessing?

Altosk commented 9 years ago

fixed on ixit master

vurstp commented 9 years ago

Issue has been resolved with: ppa:oibaf/graphics-drivers & ppa:commendsarnex/winedri3 and works fine with ppa:commendsarnex/ixitmaster installed as well.

Although performance is very slow. Wow runs better on my 11,2 imac than it does on my 480 GTX SE using gallium9 + wine1.7.

axeldavy commented 9 years ago

You mean wine normal performance is better than gallium nine performance for this game ? Or that the game is faster with windows ?

Altosk commented 9 years ago

Nouveau doesn't have reclocking on that card yet but its low even with reclocking on my gtx760 On Nov 7, 2015 10:11 AM, "axeldavy" notifications@github.com wrote:

You mean wine normal performance is better than gallium nine performance for this game ? Or that the game is faster with windows ?

— Reply to this email directly or view it on GitHub https://github.com/iXit/Mesa-3D/issues/151#issuecomment-154732559.

vurstp commented 9 years ago

@axeldavy What I mean is that there is no comparison with the Nvidia proprietary drivers for my card. What is surprising is that WoW runs much better using Gallium nine on my imac which uses an ATI card, than it does on my desktop which uses an Nvidia card. However, my nvidia card is very superior to that of the imac ATI card. The imac hardware is much older than the hardware I use in my desktop.

vurstp commented 9 years ago

I would imagine the game under gallium nine wine is much faster than wine normal on my desktop, but I have not tried it - I went straight to gallium 9.

axeldavy commented 9 years ago

Given the bug is fixed, I close the report.