Steam for Linux

Steam for Linux

Mushy 3 dec, 2012 @ 12:47
Serious Sam 3 doesn't start

SS3 doesn't start with this error:
Atom identifier _NET_WM_STATE_HIDDEN can't be obtained
Steam itself and others games (And yet it moves, TF2, trine 2 and world of Goo) work fine.

Any idea?

System info:
  • Debian Sid 64bits
  • AMD Radeon HD 7800 graphic card with Catalyst drivers 12.6
  • i3 window manager
Senast ändrad av Mushy; 3 dec, 2012 @ 12:47
< >
Visar 1-9 av 9 kommentarer
AlenL 3 dec, 2012 @ 15:08 
Tried another window manager?
Mushy 4 dec, 2012 @ 11:19 
Ursprungligen skrivet av AlenL:
Tried another window manager?
Thank you for your idea!

Under xfce4, the launcher ask me to install libpci and back to i3, SS3 works fine.
Senast ändrad av Mushy; 4 dec, 2012 @ 14:09
AlenL 4 dec, 2012 @ 14:07 
Have you considered reporting the problem to the developers of your window manager?
Mushy 4 dec, 2012 @ 14:09 
Ursprungligen skrivet av AlenL:
Have you considered reporting the problem to the developers of your window manager?
I've just update my previous post with more informations.
Senast ändrad av Mushy; 4 dec, 2012 @ 14:09
AlenL 4 dec, 2012 @ 14:13 
Interesting. We are working on using lspci instead of libpci, which should prevent issues like this. Thanks for the report!
DarkStarSword 9 dec, 2012 @ 21:21 
Running ss3 under xtrace shows this:
000:<:000a: 28: Request(16): InternAtom only-if-exists=true(0x01) name='_NET_WM_STATE_HIDDEN'
000:>:000a:32: Reply to InternAtom: atom=None(0x0)

_NET_WM_STATE_HIDDEN not existing should not be considered fatal, it merely means that nothing has previously requested an X atom of that name (which in practice means that the Window Manager doesn't know about that property and will just ignore it if it is set on a window).

The simplest fix would be to change only-if-exists to false when requesting the atom (in general, if you ever pass only-if-exists=true to intern_atom() you should be prepared for the case that the atom may not exist. If you are not prepared for that case you should pass false).

@Mushy: Did you completely kill X after logging into xfce4? xfce4 would have created the atom, but it would only persist until X was restarted.

In the meantime, for anyone else hitting this issue, this python script[] will create the atom (requires python-xlib), so running this any time before starting ss3 will workaround the issue and allow ss3 to run:

#!/usr/bin/env python

import Xlib.display

display = Xlib.display.Display()
display.intern_atom('_NET_WM_STATE_HIDDEN', False)
Senast ändrad av DarkStarSword; 9 dec, 2012 @ 21:37
DarkStarSword 9 dec, 2012 @ 21:52 
@AlenL: The libpci/lspci dependency is a separate issue, but I'd be cautious of relying on parsing the output of a command line tool instead of using a library. Command line tools generally don't offer any guarantees that the format of their output won't change in the future since they are primarily intended to be run interactively by a human, while most libraries at least try to retain some API & ABI compatibility to avoid breaking programs that use them.
Mushy 10 dec, 2012 @ 10:44 
@darkstarsword Thank you for this explication.

Shutting down X isn't sufficient but after a complete restart the problem reappear, indeed.
AlenL 11 dec, 2012 @ 4:19 
darkstarsword, we are aware of the risks. However:
- right now, there are much more people without 32bit libpci than without (or with incompatible) lspci
- this is not a critical function anyway. if it is wrong, your settings are wrong, but the game works
- if it changes, we can patch the game
< >
Visar 1-9 av 9 kommentarer
Per sida: 15 30 50

Datum skrivet: 3 dec, 2012 @ 12:47
Inlägg: 9