Steam for Linux > 総合掲示板 > トピックの詳細
Mushy 2012年12月3日 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
最近の変更はMushyが行いました; 2012年12月3日 12時47分
1-9 / 9 のコメントを表示
< >
AlenL 2012年12月3日 15時08分 
Tried another window manager?
Mushy 2012年12月4日 11時19分 
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.
最近の変更はMushyが行いました; 2012年12月4日 14時09分
AlenL 2012年12月4日 14時07分 
Have you considered reporting the problem to the developers of your window manager?
Mushy 2012年12月4日 14時09分 
AlenL の投稿を引用:
Have you considered reporting the problem to the developers of your window manager?
I've just update my previous post with more informations.
最近の変更はMushyが行いました; 2012年12月4日 14時09分
AlenL 2012年12月4日 14時13分 
Interesting. We are working on using lspci instead of libpci, which should prevent issues like this. Thanks for the report!
DarkStarSword 2012年12月9日 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)
最近の変更はDarkStarSwordが行いました; 2012年12月9日 21時37分
DarkStarSword 2012年12月9日 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 2012年12月10日 10時44分 
@darkstarsword Thank you for this explication.

Shutting down X isn't sufficient but after a complete restart the problem reappear, indeed.
AlenL 2012年12月11日 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
1-9 / 9 のコメントを表示
< >
ページ毎: 15 30 50
投稿日: 2012年12月3日 12時47分
投稿数: 9