ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 175 forks source link

Steam Client System Information incorrect for Graphics Card #2516

Closed red-eight closed 11 years ago

red-eight commented 11 years ago

OS: Ubuntu 12.04 Grapics Card: NVidia GeForce GTX 560M

I posted about this issue in the Steam Community discussion forum, but no one has responded. Here is a link:

http://steamcommunity.com/app/221410/discussions/5/828939797039531960/

I manually installed the 310.32 driver from NVidia's website. I believe Steam correctly detected that I had a NVidia card for a while. But now, here is what Steam reports:

steam_videocard

Here is what my NVidia X Server Settings report:

nvidia_x_server_information nvidia_gpu_0

Here is the output for lspci | grep -i nvidia:

01:00.0 VGA compatible controller: NVIDIA Corporation Device 1251 (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF116 High Definition Audio Controller (rev a1)

Here is the output for lshw | grep -A 11 display:

*-display
description: VGA compatible controller
product: NVIDIA Corporation
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:16 memory:da000000-dbffffff memory:c8000000-cfffffff memory:d0000000-d3ffffff ioport:d000(size=128) memory:dc000000-dc07ffff

This became an issue to me because I was trying to play X3: Albion Preclude, but the graphics were messing up and the game complained that I was running an open source driver without support for texture compression. Here is a link to the game's FAQ that talks about this: http://forum.egosoft.com/viewtopic.php?t=335500 I could be wrong, but I'm guessing that because Steam is detecting the wrong video card, that this game is also.

I don't remember exactly, but I believe I started having these problems after a Steam update, but I'm not sure.

V10lator commented 11 years ago

what does

glxinfo | grep OpenGL

show?

//EDIT: Also are you sure you installed the driver correctly? Missing 32 bit libraries may be the problem here.

red-eight commented 11 years ago

Odd. glxinfo | grep OpenGL

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
OpenGL version string: 2.1 Mesa 8.0.4
OpenGL shading language version string: 1.20
OpenGL extensions:

I installed the 64-bit version of the driver. I was pretty certain that I did it correctly. I had to manually patch the installer because my kernel (3.7.9) was too new, but other than that, everything was fine.

I'm not sure how to verify if I installed the driver correctly, so I checked if DMesg said anything about NVidia.

dmesg | grep -i -A 5 -B 5 nvidia

... // Other stuff
[   14.381331] nvidia: module license 'NVIDIA' taints kernel.
[   14.381340] Disabling lock debugging due to kernel taint
[   14.386761] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[   14.386866] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  310.32  Mon Jan 14 14:41:13 PST 2013
... // Other stuff
[   20.789877] NVRM: GPU at 0000:01:00: GPU-0c3b6513-10b6-a09c-5bce-b4e97fb4dade
[   20.789883] NVRM: Your system is not currently configured to drive a VGA console
[   20.789885] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
[   20.789887] NVRM: requires the use of a text-mode VGA console. Use of other console
[   20.789889] NVRM: drivers including, but not limited to, vesafb, may result in
[   20.789890] NVRM: corruption and stability problems, and is not supported.

So the driver is installed. I guess I need to figure out how to configure a text-mode VGA console, whatever that is. I'll have to google it. But I could have sworn that Steam detected that I used NVidia a while ago.

UPDATE

I modified /etc/default/grub and changed:

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

to

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console

This got rid of the strange message from dmesg. dmesg | grep -i -A 5 -B 5 nvidia

[   12.871348] nvidia: module license 'NVIDIA' taints kernel.
[   12.871358] Disabling lock debugging due to kernel taint
[   12.876830] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[   12.876899] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  310.32  Mon Jan 14 14:41:13 PST 2013

With or without this change, I also have an NVidia splash screen appear every time I boot up Ubuntu. It seems that there is a lot of evidence that the NVidia driver is in fact installed, but I could be wrong.

I tried downloading the 32-bit driver as you suggested, but it refuses to install because I have a 64-bit system.

./NVIDIA-Linux-x86-310.32.run

ERROR: this .run file is intended for the
Linux-x86 platform, but you appear to be
running on Linux-x86_64.  Aborting installation.

UPDATE 2

Sorry, I'm not sure if we are allowed to double post or not. If we are, then I apologize for making this post so long.

Anyways, I do in fact have the 32 bit libraries installed.

tail -n 21 nvidia-installer.log

-> Installing both new and classic TLS OpenGL libraries.
-> Installing classic TLS 32bit OpenGL libraries.
-> Install NVIDIA's 32-bit compatibility OpenGL libraries? (Answer: Yes)
-> Searching for conflicting X files:
-> done.
-> Searching for conflicting OpenGL files:
-> done.
-> Installing 'NVIDIA Accelerated Graphics Driver for Linux-x86_64' (310.32):
   executing: '/sbin/ldconfig'...
   executing: '/sbin/depmod -aq'...
-> done.
-> Driver file installation is complete.
-> Running post-install sanity check:
-> done.
-> Post-install sanity check passed.
-> Shared memory test passed.
-> Running runtime sanity check:
-> done.
-> Runtime sanity check passed.
-> Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X?  Any pre-existing X configuration file will be backed up. (Answer: Yes)
-> Your X configuration file has been successfully updated.  Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version: 310.32) is now complete.
red-eight commented 11 years ago

I apologize for double posting, but my previous post was getting very large. I hope I am not breaking any rules. I found this thread: http://steamcommunity.com/discussions/forum/11/864959336437147187/

According to one of the users, adding /usr/lib/i386-linux-gnu/mesa to a .conf file in /etc/ld.so.conf.d/ can mess up glxinfo.

I have two symbolic links in that directory. The files that they point to have a path to mesa.

cat i386-linux-gnu_GL.conf shows: /usr/lib/i386-linux-gnu/mesa and cat x86_64-linux-gnu_GL.conf shows: /usr/lib/x86_64-linux-gnu/mesa

I'm worried about breaking my system, but I'll try to change these to something NVidia related.

UPDATE

i386-linux-gnu_GL.conf points to /etc/alternatives/i386-linux-gnu_gl_conf and x86_64-linux-gnu_GL.conf points to /etc/alternatives/x86_64-linux-gnu_gl_conf.

I have modified these files so now i386-linux-gnu_GL.conf contains:

/usr/lib32
# /usr/lib/i386-linux-gnu/mesa

and x86_64-linux-gnu_GL.conf contains:

/usr/lib
/usr/lib32
# /usr/lib/x86_64-linux-gnu/mesa

Unfortunately the results are these changes are not too good.

glxinfo

name of display: :0.0
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  137 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3e00003
  Serial number of failed request:  34
  Current serial number in output stream:  34

And running steam causes a seg fault.

/usr/bin/steam

Running Steam on ubuntu 12.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1367621987_client)
/home/redknux/.local/share/Steam/steam.sh: line 704:  3024 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"
Installing bootstrap /home/redknux/.local/share/Steam/bootstrap.tar.xz
Running Steam on ubuntu 12.04 64-bit
STEAM_RUNTIME has been set by the user to: /home/redknux/.local/share/Steam/ubuntu12_32/steam-runtime
Installing breakpad exception handler for appid(steam)/version(1367621987_client)
/home/redknux/.local/share/Steam/steam.sh: line 704:  3112 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"

I guess I should mention this, but I got Steam from Ubuntu Software Center. I have not changed any of the default setting, so I'm not sure why the error message is saying STEAM_RUNTIME has been set by the user to....

I don't know if this is helpful at all but, here are the contents of /usr/lib/x86_64-linux-gnu/mesa

ld.so.conf
libGL.so -> libGL.so.1
libGL.so.1 -> libGL.so.1.2
libGL.so.1.2

Here are the contents of /usr/lib related to libGL. There is no ld.so.conf in here.

libGL.la
libGL.so -> libGL.so.1
libGL.so.1 -> libGL.so.310.32
libGL.so.310.32

Here are the contents of /usr/lib32 related to libGL. There is also no ld.so.conf in here.

libGL.la
libGL.so -> libGL.so.1
libGL.so.1 -> libGL.so.310.32
libGL.so.310.32

Hopefully some of this is helpful for you.

V10lator commented 11 years ago

I'm not familiar with Ubuntu, but if you installed the driver manually I would suggest reverting all changes you made, deinstalling the driver and installing it via Ubuntus packet manager (from a PPA if not in the official repos).

//EDIT: Also this doesn't seem to be a Steam bug, so I would suggest closing this ticket and going over to Ubuntu forums.