Steam for Linux > 综合讨论 > 主题详情
shatsky 2012年11月7日下午1:33
Running on a generic distro: common problems and solutions
X font error

X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 45 (X_OpenFont)
Serial number of failed request: 12
Current serial number in output stream: 13"

If you capture X11 protocol messages using tools like x11trace, you will see it requests font by the following XFLD: '-*-*-medium-r-normal--0-120-*-*-p-0-iso8859-1'.
I don't know why Steam uses old and outdated core X font subsystem, but this can be solved by installing X11 bitmap fonts, like font-adobe-100dpi in Gentoo (initial updating window will be really ugly).

"Breakpad exception handler" message

Installing breakpad exception handler for appid(steam)/version(1352224866_client)

This is not an error message; it's the first message Steam normally produces. The problem is that it silently shuts down immediately after.
Most often it happens because of the missing libraries. You can figure them out by running:

cd ~/Steam/ubuntu12_32
LD_LIBRARY_PATH=. ldd * | grep "not found"

Another case can be missing symbols: even if all needed libraries are successfully resolved by their names, some of them can be outdated for Steam and miss needed functions.
You can use LD_DEBUG linker environment variable to detect this:

LD_DEBUG=libs steam 2>&1 | grep error

you can get something like:

<pid>: /home/<user>/Steam/ubuntu12_32/steamui.so: error: symbol lookup error: undefined symbol: _XGetRequest (fatal)

With this information you can try to figure out, which of your system's libraries contain these symbols. For the error above which happens on amd64 Gentoo it's /usr/lib32/libX11.so.6 referenced from steamui.so, updating app-emulation/emul-linux-x86-xlibs to testing version 20121028 solves this issue.

Other

Steam launcher can be given DEBUGGER environment variable, i. e. "DEBUGGER=strace steam" will run ~/Steam/ubuntu12_32/steam binary with strace.
最后由 shatsky 编辑于; 2012年11月7日下午1:39
正在显示第 1 - 7 条,共 7 条留言
< >
AndAkavA 2012年11月7日下午2:34 
<3
Bai Hui 2012年11月7日下午5:35 
Following your advice, by performing

LD_DEBUG=libs steam 2>&1 | grep error

I get many symbol lookup errors coming from

/lib/libGL.so.1

I am running Fedora 17 x86-64 with intel graphics. The above library is provided by the following package

mesa-libGL-8.0.4-1.fc17.i686

Any tips on how I can resolve this?
figvam 2012年11月7日下午10:32 
That was really enlightening as to why Steam doesn't work on Fedora 16:
/home/user/Steam/ubuntu12_32/steamui.so: error: symbol lookup error: undefined symbol: _XGetRequest (fatal)

It appears _XGetRequest() was added only recently to libX11:
http://www.x.org/wiki/Releases/7.7
http://www.x.org/releases/X11R7.7-RC1/changelog.txt (search for _XGetRequest)

I think this dependency should be removed in order to support non-bleeding-edge installs.
最后由 figvam 编辑于; 2012年11月7日下午10:32
Hirato Kirata 2012年11月9日上午8:55 
linuxfont.cpp (372) : Assertion Failed: nSkipRows + bitmap.rows + FIXED6_2INT( iFxpPenY ) <= rgbaTall

The solution to this one is to install Microsoft fonts, via a package like ttf-ms-fonts.

Let that sink in for a minute, you need to have Microsoft fonts installed, on Linux, for steam to render the login screen without crashing.
Could've sworn Valve did a GDC presentation a few years back that featured an identical issue...
garbanzo 2012年12月13日上午6:43 
引用自 Hirato Kirata
linuxfont.cpp (372) : Assertion Failed: nSkipRows + bitmap.rows + FIXED6_2INT( iFxpPenY ) <= rgbaTall

The solution to this one is to install Microsoft fonts, via a package like ttf-ms-fonts.

Let that sink in for a minute, you need to have Microsoft fonts installed, on Linux, for steam to render the login screen without crashing.
Could've sworn Valve did a GDC presentation a few years back that featured an identical issue...

Thank you for the tip. That solved my problem to run Steam on Kubuntu 12.10. I have Debian Wheezy installed as well but don't want to mess it installing things from ubuntu repositories.
MGDasa 2012年12月23日下午9:21 
The steam client for linux works fine in Fedora 17 (64) after installing the required 32 bit libraries. Looking forward to some linux gaming!
最后由 MGDasa 编辑于; 2012年12月23日下午9:21
018 2013年1月11日下午11:42 
found this post after similar debugging landed me at "undefined symbol: _XGetRequest (fatal)". I'm on Fedora 16, so it'd be nice if steam would run with an older version of libX11, although I'd understand if there was some reason to keep on the latest.
正在显示第 1 - 7 条,共 7 条留言
< >
每页显示数: 15 30 50
发帖日期: 2012年11月7日下午1:33
帖子数: 7