Diablo III Forum

This is a community forum and not official technical support. — If you need official support: Contact Us

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Diablo III Grey Screen

The game will launch with audio and a cursor, but will not render any other on screen objects. I can move the mouse and hear the buttons as I move across them

Current gen i7 laptop

880m GPU (It's the only GPU, there is no Intel video) Nvidia driver version 331.67

Ubuntu 14.04 x64

I set the option for window mode to 1 else I would get the error that the video adapter isn't detected.

Thoughts?

You probably need to launch the Battle.net client with the setarch command. Look in the tips&tricks section at the "Removed from Game" and freeze at "Retrieving Heroes". Adjust the script to the correct paths to reflect the way things are set up on your system

Thanks for the reply:

My terminal results:

clob@laptop:~$ BOTTLE="Diablo_III"
clob@laptop:~$ setarch i386 -3 -L -B -R $HOME/cxoffice/bin/cxrun --bottle "$BOTTLE" "$HOME/.cxoffice/$BOTTLE/drive_c/Program Files/Battle.net/Battle.net Launcher.exe"
setarch: /home/clob/cxoffice/bin/cxrun: No such file or directory
clob@laptop:~$

clob@laptop:~$ ls /home/clob/
Desktop examples.desktop Pictures Templates
Documents Music PlayOnLinux's virtual drives Videos
Downloads nohup.out Public vmware

Like I said, you need to adapt that command line to reflect your system settings. In this case, if you installed CrossOver using the .deb file, cxrun would be in /opt/cxoffice/bin/cxrun.

It would be easier if you made that in a script so you don't have to type everything every time you need to launch the game. Heck, it would be even easier if Codeweavers would fix the bug that causes this issue but discussion on wine bug #30849 has ceased since May :/

Anyway, here's how I launch the Battle.net Client:


#!/bin/bash

bottle="Diablo_III"
crossover_install_dir="/opt"

setarch i386 -3 -L -B -R "$crossover_install_dir/cxoffice/bin/cxrun" \
    --bottle "$bottle" \
    "$HOME/.cxoffice/$bottle/drive_c/Program Files/Battle.net/Battle.net Launcher.exe"

Put the above in a file, let's call it launch_diablo3. Then either chmod +x launch_diablo3 or right click in your file manager -> properties and see whether it has a checkbox for setting the "executable bit".

I'm sorry. I didn't know what the file actually was so I didn't know I had to point to /opt.

I'm trying to learn these things since I'm a bit new to linux. Please bear with me.

Your script seems to be correct. The launcher will launch, but when I still run into the same issue when Diablo 3 starts.

This is what I see inside of a window: https://i.imgur.com/kOAIQ1z.jpg

Thoughts?

I have a few more questions:

1) where did you get your drivers from? the default version on 14.04 is 331.38

2) is this the latest version of CrossOver downloaded from this site?

3) can you provide the output of running /opt/cxoffice/bin/cxdiag?
(you can either enclose the result in [code][/code] tags or just put it up on pastebin and link it here)

Update: I'm actually wondering if this is a possible problem. Current CrossOver is based on wine 1.7.4 with some added "fixes" for various programs but according to this git page, at that time, the GTX 880m was not in wine's card "database". It isn't the the database in git head either, which is unfortunate.

http://source.winehq.org/git/wine.git/blob/18556fd521d27d298d22db5eb48e192a2c634e59:/dlls/wined3d/wined3d_private.h

There are two registry keys that one can set and maybe wine will feed the correct(ish) info to the game.

First make sure that the Battle.net Client is closed.

Open a text editor and copy the text from here: http://pastebin.com/az75mYgE. Name it "fix_nvidia.reg". Now open Crossver, go to Tools -> Manage Bottles (you may need to hover over the top bar in Unity to reveal the menu).

With the Bottle Manager opened, select the bottle where Diablo 3 is installed, click on the run command button and type regedit. This will open the registry editor and now go to Registry -> Import registry file and find the file you created above. Now you should have a key under HKEY_CURRENT_USER\Software\Wine called Direct3D with two values VideoPciDeviceID and VideoPciVendorID.

Close the registry editor. With the same Diablo 3 bottle selected in the Bottle Manager, go to the Control Panel tab, choose Simulate Reboot option and then the Launch Selected Item button.

Try running the script you created earlier again and see if the game works now.

I would like you to post, either here or on pastebin, the result of this command: lspci -vnn | grep VGA -A 12

Edit: just seen your update: Reading...

1) The nvidia website. I had to blacklist the novaeu (spelling?) driver. Additional drivers didn't have anything for the 880m. The drivers installed without a hitch and everything seems to be detected.

2) Yes. I installed from the .deb from the site (I beleive)

3)

clob@laptop:~$ /opt/cxoffice/bin/cxdiag
[MissingLibGsm]
"Level"="Suggest"
"Title"="Missing 32bit libgsm.so.1 library"
"Description"="Lets Windows applications use the GSM codec for audio compression and decompression."

[MissingLibHal]
"Level"="Suggest"
"Title"="Missing 32bit libhal.so.1 library"
"Description"="This may be needed for Windows applications to automatically detect CD-ROM and USB key insertion."

[MissingLibTiff]
"Level"="Suggest"
"Title"="Missing 32bit libtiff.so.4 library"
"Description"="This is needed by some applications that need to manipulate TIFF images in their user interface."

[BrokenLDT16]
"Level"="Recommend"
"Title"="Cannot create 16-bit LDT segments"
"Description"="Your system prevents the creation of 16-bit LDT segments. This will prevent many Windows applications from working."

[Properties]
"display.depth"="24"

libGL error: failed to load driver: swrast
[OpenglNoDRI]
"Level"="Recommend"
"Title"="OpenGL is not using Direct Rendering"
"Description"="This typically indicates a graphics driver configuration issue and will prevent most 3D games and applications from working correctly."

[Properties]
"opengl.vendor"="NVIDIA Corporation"

[Properties]
"opengl.version"="1.4 (2.1.2 NVIDIA 331.67)"

[Properties]
"opengl.renderer"="GeForce GTX 880M/PCIe/SSE2"

[OpenglNoTextureFloat]
"Level"="Recommend"
"Title"="OpenGL has no floating point texture support"
"Description"="This is needed to run games using floating point textures."

clob@laptop:~$ clear

clob@laptop:~$ /opt/cxoffice/bin/cxdiag
[MissingLibGsm]
"Level"="Suggest"
"Title"="Missing 32bit libgsm.so.1 library"
"Description"="Lets Windows applications use the GSM codec for audio compression and decompression."

[MissingLibHal]
"Level"="Suggest"
"Title"="Missing 32bit libhal.so.1 library"
"Description"="This may be needed for Windows applications to automatically detect CD-ROM and USB key insertion."

[MissingLibTiff]
"Level"="Suggest"
"Title"="Missing 32bit libtiff.so.4 library"
"Description"="This is needed by some applications that need to manipulate TIFF images in their user interface."

[BrokenLDT16]
"Level"="Recommend"
"Title"="Cannot create 16-bit LDT segments"
"Description"="Your system prevents the creation of 16-bit LDT segments. This will prevent many Windows applications from working."

[Properties]
"display.depth"="24"

libGL error: failed to load driver: swrast
[OpenglNoDRI]
"Level"="Recommend"
"Title"="OpenGL is not using Direct Rendering"
"Description"="This typically indicates a graphics driver configuration issue and will prevent most 3D games and applications from working correctly."

[Properties]
"opengl.vendor"="NVIDIA Corporation"

[Properties]
"opengl.version"="1.4 (2.1.2 NVIDIA 331.67)"

[Properties]
"opengl.renderer"="GeForce GTX 880M/PCIe/SSE2"

[OpenglNoTextureFloat]
"Level"="Recommend"
"Title"="OpenGL has no floating point texture support"
"Description"="This is needed to run games using floating point textures."

clob@laptop:~$ 

Your driver is not installed correctly, it's probably missing the bits required by 32bit programs, like CrossOver :/


[Properties]
"display.depth"="24"

libGL error: failed to load driver: swrast
[OpenglNoDRI]
"Level"="Recommend"
"Title"="OpenGL is not using Direct Rendering"
"Description"="This typically indicates a graphics driver configuration issue and will prevent most 3D games and applications from working correctly."

I think you're right! I vaguely recall it not install the 32bit libraries!

I followed your instructions and verified the registry values were there. "Rebooted" the bottle but the same problem.

Now... How do I fix this? Just rerun the installer?

I had originally ran it from the nvidia website. Should I use the repo?

clob@laptop:~$ lspci -vnn | grep VGA -A 12
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104M [GeForce GTX 880M] [10de:1198] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: CLEVO/KAPOK Computer Device [1558:0376]
    Flags: bus master, fast devsel, latency 0, IRQ 49
    Memory at eb000000 (32-bit, non-prefetchable) [size=16M]
    Memory at c0000000 (64-bit, prefetchable) [size=256M]
    Memory at d0000000 (64-bit, prefetchable) [size=32M]
    I/O ports at e000 [size=128]
    [virtual] Expansion ROM at ec000000 [disabled] [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: nvidia

01:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)
    Subsystem: CLEVO/KAPOK Computer Device [1558:0376]
clob@laptop:~$ 

You should ask in the Ubuntu forums or IRC channel. Sorry I can't help you better but I never needed to install the drivers using nvidia's installer :/

I see why you needed though. The driver that they ship does not support your GPU.

:D

Updated via the repo.

https://i.imgur.com/m8VNFNX.jpg

Thanks so much for helping me on this one.

Cool! Glad you managed to sort it out. Did you use the edgers ppa?

Silviu Cojocaru wrote:

Cool! Glad you managed to sort it out. Did you use the edgers ppa?

No, I just used what ever existed in apt-get. It had 331 updates so I used that. Bingo.

Is that you I added on battlenet?

1 to 13 of 13

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzMxNDM1MjAzLCJjc3JmX3Rva2VuIjoibjczZnZ0dG1hZ3F0S0tVNCIsImdkcHIiOjB9