These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Linux

 
  • Topic is locked indefinitely.
 

EVE error with primusrun after a system update [SOLVED]

Author
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#1 - 2015-01-07 15:03:40 UTC  |  Edited by: Rio Eriker
Hi,

I was heavily playing EVE Online with my linux + PlayOnLinux + primusrun, and...

During the game I was doing some system update, and sudenly after moving a gate something happend to the graphic, so I restarted a game and... after puting a password into EVE login console I had a black screen.

What works - PlayOnLinux works, even EVE works with Intel driver (very slowly and ugly), but doesnt work corectly with primusrun:
$ primusrun playonlinux

when the game should start I have black screen and such error in the console (see bellow) - primus works fine with all other games and only have a problm with PlayOnLinux and my EVE :(

for wine 1.7.32:
primus: fatal: failed to acquire direct rendering context for display thread 

for wine 1.7.33:
X Error of failed request:  GLXBadContext 
   Major opcode of failed request:  154 (GLX)
   Minor opcode of failed request:  6 (X_GLXIsDirect)
   Serial number of failed request:  25
   Current serial number in output stream:  24

for wine 1.7.33-WGL-ShareList:
X Error of failed request:  GLXBadContext 
   Major opcode of failed request:  154 (GLX)
   Minor opcode of failed request:  6 (X_GLXIsDirect)
   Serial number of failed request:  25
   Current serial number in output stream:  24
Torgeir Hekard
I MYSELF AND ME
#2 - 2015-01-07 15:28:00 UTC
Try to run primusrun with LIBGL_DEBUG=verbose

Maybe it will tell something useful.
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#3 - 2015-01-07 15:38:24 UTC  |  Edited by: Rio Eriker
Torgeir Hekard wrote:
Try to run primusrun with LIBGL_DEBUG=verbose

Maybe it will tell something useful.


Many thanks :)
It looks like it is missing some drivers for Intel? But from which package?

LIBGL_DEBUG=verbose primusrun playonlinux

libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.                                                                 
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.
primus: fatal: failed to acquire direct rendering context for display thread
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#4 - 2015-01-07 16:06:40 UTC
False alarm, with another game after this message "libGL: Can't open" I have a message from Nvidia, why is not working for EVE anymore?


$ LIBGL_DEBUG=verbose primusrun grimrock
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 9: 8086:0126, driver i965
libGL: OpenDriver: trying /usr/lib64/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/i965_dri.so
libGL: Can't open configuration file /home/ryszard/.drirc: No such file or directory.
GL_VERSION: 4.5.0 NVIDIA 346.22
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GT 630M/PCIe/SSE2
GL_SHADING_LANGUAGE_VERSION: 4.50 NVIDIA
Kismeteer
Bat Country
Pandemic Horde
#5 - 2015-01-07 16:26:45 UTC
Have you tried restarting X? you can corrupt several different things with in it. I know this is a crappy answer, but I had this happen to my X session once.

(Restarting the entire computer does this too.)
Torgeir Hekard
I MYSELF AND ME
#6 - 2015-01-07 16:45:49 UTC  |  Edited by: Torgeir Hekard
I'll give you a hint maybe. I mean maybe it's the hint you were looking for, not maybe will give you one.

Rio Eriker wrote:

LIBGL_DEBUG=verbose primusrun playonlinux
libGL: OpenDriver: trying /usr/lib32/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/i965_dri.so


Rio Eriker wrote:

$ LIBGL_DEBUG=verbose primusrun grimrock
libGL: OpenDriver: trying /usr/lib64/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/i965_dri.so


Go check /etc/bumblebee/bumblebee.conf and see if the KernelDriver and LibraryPath (and Driver) match what you currently have in system, and that you DO currently have what you want in your system (like there IS something useful in /usr/lib32/nvidia-current/ or wherever it should be in your system).
Terminator 2
Omega Boost
#7 - 2015-01-07 17:12:46 UTC
Not sure what distribution you use, but i suspect you have applied a kernel or x-System update and now your NVIDIA driver don't work anymore since they need to be built against the new source changes of those update components.

If you hat built and installed them manually, just do it again, reboot and it will work again.

If you have installed them by repositories of your distribution, well then the distribution is not the best as i guess it should have foreseen and solved the problem automatically. The distribution needs to either update the drivers or you need to update or reinstall them via repositories.
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#8 - 2015-01-07 17:34:46 UTC
I did restart X, computer, reinstalled mesa, xorg-server, nvidia & intel drivers, kernel and loots of other staff. I was trying to downgrade the system to the December time - all the same.

Everything is configured OK - as other programs & games works fine with nvidia & bumblebee - only EVE (by playonlinux) not.

I even reinstalled PlayOnLinux again and downloaded fresh EVE - the same.

Any new package during system update did the problem, and I am trying to find which one - there is small something, easy one, but...
Torgeir Hekard
I MYSELF AND ME
#9 - 2015-01-07 17:54:00 UTC  |  Edited by: Torgeir Hekard
I think you're digging the wrong way with the "libGL: Can't open" stuff.

It "can't open" some optional configuration file which happens on working installations too.

The possible things to look into are:

1) Is there any other 32bit application working with primusrun. Because from the looks of it what you've posted was a 64bit application.
2) If there are no, then are there 32bit nvidia libs present? Can bumblebee find them?
3) Is there a 32bit primus library for bumblebee to work with?
4) What if you try virtualGL bridge instead of primus?
5) What does dmesg show? After you try to launch eve bbswitch should try to turn your nvdia card on, and then bumblebee should load the nvidia kernel module whuch should be visible in dmesg.
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#10 - 2015-01-07 18:56:17 UTC  |  Edited by: Rio Eriker
Torgeir Hekard wrote:
1) Is there any other 32bit application working with primusrun. Because from the looks of it what you've posted was a 64bit application.

Yes. Steam, as for stem I had to recompile primus with 32bit support. All the games run by steam works fine.


Quote:
2) If there are no, then are there 32bit nvidia libs present? Can bumblebee find them?

How to check it?

Quote:
3) Is there a 32bit primus library for bumblebee to work with?

Yes.
# equery u primus
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
* Found these USE flags for x11-misc/primus-9999:
U I
+ + abi_x86_32 : 32-bit (x86) libraries


Quote:
4) What if you try virtualGL bridge instead of primus?

The same.

Quote:
5) What does dmesg show? After you try to launch eve bbswitch should try to turn your nvdia card on, and then bumblebee should load the nvidia kernel module whuch should be visible in dmesg.

I have got this from dmesg:
http://pastebin.com/JsT9z39x
Torgeir Hekard
I MYSELF AND ME
#11 - 2015-01-08 05:08:15 UTC  |  Edited by: Torgeir Hekard
Rio Eriker wrote:

I have got this from dmesg:
http://pastebin.com/JsT9z39x


Buggy kernel/Xorg/driver combo?

This is how healthy dmesg looks like
[  273.404576] bbswitch: enabling discrete graphics
[  273.859051] nvidia: module license 'NVIDIA' taints kernel.
[  273.859055] Disabling lock debugging due to kernel taint
[  273.866315] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
[  273.866558] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 1
[  273.866563] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  331.113  Mon Dec  1 21:08:13 PST 2014
[  274.021327] nvidia 0000:01:00.0: irq 50 for MSI/MSI-X


https://bugs.gentoo.org/show_bug.cgi?id=532082


Rio Eriker wrote:

How to check it?


In bumblebee config, bumblebed section look up driver.
In my case it's Driver=nvidia

Then look up the coniguration section for that driver (in my case it's [driver-nvidia])
In that section there's a colon-separated LibraryPath that should contain the path to both 64bit and 32bit libraries
In my case it is LibraryPath=/usr/lib/nvidia-331:/usr/lib32/nvidia-331

Then of course you need to check if there's something present at the library path.
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#12 - 2015-01-11 18:51:35 UTC
Torgeir Hekard wrote:
Buggy kernel/Xorg/driver combo?

I have seen this bug, it is for => 3.18, I have tried 3.17.7 - the same:(

Torgeir Hekard wrote:
In bumblebee config, bumblebed section look up driver.
In my case it's Driver=nvidia

I have the same: Driver=nvidia

Torgeir Hekard wrote:
Then look up the coniguration section for that driver (in my case it's [driver-nvidia])

[driver-nvidia]

Torgeir Hekard wrote:
In that section there's a colon-separated LibraryPath that should contain the path to both 64bit and 32bit libraries
In my case it is LibraryPath=/usr/lib/nvidia-331:/usr/lib32/nvidia-331

LibraryPath=/usr/lib64/opengl/nvidia/lib:/usr/lib32/opengl/nvidia/lib:/usr/lib/opengl/nvidia/lib

Torgeir Hekard wrote:
Then of course you need to check if there's something present at the library path.

Have a look at all (bellow).

But maybe easier will be use tonatural driver, as nvidia support optimus now. But when I am trying this, I have a black screen - but X starts OK - as I can see in the loogs.

# cat /etc/bumblebee/bumblebee.conf       
# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/primus:/usr/lib32/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib64/opengl/nvidia/lib:/usr/lib32/opengl/nvidia/lib:/usr/lib/opengl/nvidia/lib
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib64/opengl/nvidia/lib,/usr/lib64/opengl/nvidia/extensions,/usr/lib64/xorg/modules/drivers,/usr/lib64/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#13 - 2015-01-11 18:55:10 UTC
Here my logs for natural nvidia driver (without bumblebee).

Xorg.0.log (opengl nvidia)
http://pastebin.com/5iMVeETa

Xorg.0.log (opengl xorg-x11)
http://pastebin.com/Z4FU1k9B

At the end of Xorg.0.log (opengl nvidia) we have
[  1944.364] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0

errors:
[  1942.496] (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Invalid argument

[  1942.513] (EE) Screen 1 deleted because of no matching config section.

[  1943.204] (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Invalid argument


but at the end of Xorg.0.log (opengl xorg-x11) we have
[  2370.741] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
[  2418.355] (II) NVIDIA(0): Setting mode "CRT-0:nvidia-auto-select"
[  2418.457] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
[  2418.730] (II) modesetting(G0): EDID vendor "CMO", prod id 5913
[  2418.730] (II) modesetting(G0): Printing DDC gathered Modelines:
[  2418.730] (II) modesetting(G0): Modeline "1600x900"x0.0  107.80  1600 1648 1680 1940  900 903 908 926 -hsync -vsync (55.6 kHz eP)

so looks like system manage to get EDID, but why the screen is black?
and errors:
[  2369.092] (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Invalid argument

[  2369.102] (EE) Screen 1 deleted because of no matching config section.

[  2369.103] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[  2369.103] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[  2369.103] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[  2369.103] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[  2369.103] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.

[  2369.697] (EE) AIGLX: reverting to software rendering

[  2369.773] (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Invalid argument


...and there is no nvidia here:
$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x47 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:Intel
Torgeir Hekard
I MYSELF AND ME
#14 - 2015-01-12 04:17:05 UTC
I'm not familiar with gentoo, but do you seriously have /usr/lib, /usr/lib64 and /usr/lib32?Straight

Also.

Possibly related

https://forums.gentoo.org/viewtopic-p-7677612.html?sid=60d8d52c44d4a26033ca1beb20572a71

Also. Are your user in video group?

Also. Do you use SELinux?

Also, still, there's a relevant NVidia driver bug fr latest kernels apparently. Found this patch, but it's for a different driver version. But still, the idea is clear
http://linuxforum.ru/viewtopic.php?pid=435195#p435195
Rio Eriker
Sebiestor Tribe
Minmatar Republic
#15 - 2015-01-12 19:51:40 UTC  |  Edited by: Rio Eriker
Torgeir Hekard wrote:
I'm not familiar with gentoo, but do you seriously have /usr/lib, /usr/lib64 and /usr/lib32?Straight

Also.

Possibly related

https://forums.gentoo.org/viewtopic-p-7677612.html?sid=60d8d52c44d4a26033ca1beb20572a71

Also. Are your user in video group?

Also. Do you use SELinux?

Also, still, there's a relevant NVidia driver bug fr latest kernels apparently. Found this patch, but it's for a different driver version. But still, the idea is clear
http://linuxforum.ru/viewtopic.php?pid=435195#p435195


Hi,

I use /usr/lib64 and /usr/lib32 - system is 64 but for some some software I have 32 option.

This did the job, thank You so MUCH :)
https://forums.gentoo.org/viewtopic-p-7677612.html?sid=60d8d52c44d4a26033ca1beb20572a71
I had to downgrade kernel and nvidia drivers (make some glitches in another games and some less fps than used to be), but EVE works fine :)
LolLolLolLolLolLolLolLolLolLolLol

This topic is SOLVED :)
Torgeir Hekard
I MYSELF AND ME
#16 - 2015-01-13 05:29:16 UTC
Rio Eriker wrote:

I use /usr/lib64 and /usr/lib32 - system is 64 but for some some software I have 32 option.

It's just you have /usr/lib in some places in bumblebee.conf, though it's not related to the issue, but could probably cause problems if you don't have /usr/lib.