Bug 117744

Summary: (ALSA I810)quake 3 runs but has no sound
Product: [Fedora] Fedora Reporter: Michael Wiktowy <michael.wiktowy>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 2CC: pfrields
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-12-08 05:43:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
strace quake3
none
output of lsmod and lspci for my system none

Description Michael Wiktowy 2004-03-08 02:15:01 UTC
Description of problem:

Quake 3 runs but has no sound. The sound system loader gives the
following on startup:

------- sound initialization -------
Could not mmap dma buffer PROT_WRITE|PROT_READ
trying mmap PROT_WRITE (with associated better compatibility / less
performance code)
/dev/dsp: Input/output error
Could not mmap /dev/dsp
------------------------------------

Version-Release number of selected component (if applicable):

Using:
kernel-2.6.3-2.1.242
alsa-lib-1.0.2-2
Quake 3 point release 1.32b

Hardware:
nForce2 AC97 Audio Controller (MCP) (uses driver snd-intel8x0) built
into an ASUS A7N8X motherboard.

How reproducible:

Every time.

Steps to Reproduce:
1. start quake3 by typing quake3 in the console in gnome
  
Actual results:

Q3 starts and plays better then it ever has in previous Redhat
versions but there is no sound at all.

Expected results:

Expected to hear startup sounds and other game sound effects.

Additional info:

I made sure that sound was not muted and that the sound devices had
proper permissions. XMMS plays sound fine. Rhythmbox crashes anytime
an attempt to play a song is made (the play button is hit).

I have had Q3 playing fine using Redhat 7.3 with the ALSA sound
drivers but not for this particular sound card (one that uses the AC97
codec though).

Research online seems to indicate that previous problems that people
were experiencing that were like this all came down to driver errors.

Start up info:

$ strace quake3
execve("/usr/local/bin/quake3", ["quake3"], [/* 36 vars */]) = 0
uname({sys="Linux", node="CPE0026540bdbe6-CM0000393ffa54", ...}) = 0
brk(0)                                  = 0x9ebd000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=118277, ...}) = 0
old_mmap(NULL, 118277, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf70a3000
close(3)                                = 0
open("/lib/libtermcap.so.2", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\353"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=12528, ...}) = 0
old_mmap(0xa5e000, 14216, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xa5e000
old_mmap(0xa61000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x2000) = 0xa61000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\331"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=16764, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xf70a2000
old_mmap(0x83c000, 12420, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x83c000
old_mmap(0x83e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x1000) = 0x83e000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\5o\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1586964, ...}) = 0
old_mmap(0x6db000, 1285100, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x6db000
old_mmap(0x80f000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x134000) = 0x80f000
old_mmap(0x813000, 7148, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x813000
close(3)                                = 0
mprotect(0x83e000, 4096, PROT_READ)     = 0
mprotect(0x80f000, 4096, PROT_READ)     = 0
mprotect(0x6d7000, 4096, PROT_READ)     = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xf70a2b60,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xf70a3000, 118277)              = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
close(3)                                = 0
brk(0)                                  = 0x9ebd000
brk(0x9ede000)                          = 0x9ede000
brk(0)                                  = 0x9ede000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=40029600, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf6ea2000
close(3)                                = 0
getuid32()                              = 500
getgid32()                              = 500
geteuid32()                             = 500
getegid32()                             = 500
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
time(NULL)                              = 1078711040
open("/etc/mtab", O_RDONLY)             = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xf6ea1000
read(3, "/dev/hda2 / ext3 rw 0 0\nnone /pr"..., 4096) = 179
close(3)                                = 0
munmap(0xf6ea1000, 4096)                = 0
open("/proc/meminfo", O_RDONLY)         = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xf6ea0000
read(3, "MemTotal:      1034936 kB\nMemFre"..., 1024) = 644
close(3)                                = 0
munmap(0xf6ea0000, 4096)                = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
uname({sys="Linux", node="CPE0026540bdbe6-CM0000393ffa54", ...}) = 0
stat64("/home/mwiktowy", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
getpid()                                = 2849
getppid()                               = 2848
getpgrp()                               = 2848
rt_sigaction(SIGCHLD, {0x8075910, [], SA_RESTORER, 0x702958},
{SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/usr/local/bin/quake3", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xfef82108) = -1 ENOTTY
(Inappropriate ioctl for device)
_llseek(3, 0, [0], SEEK_CUR)            = 0
read(3, "#!/bin/sh\n# Needed to make symli"..., 80) = 80
_llseek(3, 0, [0], SEEK_SET)            = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
dup2(3, 255)                            = 255
close(3)                                = 0
fcntl64(255, F_SETFD, FD_CLOEXEC)       = 0
fcntl64(255, F_GETFL)                   = 0x8000 (flags
O_RDONLY|O_LARGEFILE)
fstat64(255, {st_mode=S_IFREG|0755, st_size=170, ...}) = 0
_llseek(255, 0, [0], SEEK_CUR)          = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(255, "#!/bin/sh\n# Needed to make symli"..., 170) = 170
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21436, ...}) = 0
mmap2(NULL, 21436, PROT_READ, MAP_SHARED, 3, 0) = 0xf6e9a000
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local/games", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/local/games/quake3", {st_mode=S_IFDIR|0755, st_size=4096,
...}) = 0
chdir("/usr/local/games/quake3")        = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
_llseek(255, -14, [156], SEEK_CUR)      = 0
clone(Q3 1.32b linux-i386 Nov 14 2002
----- FS_Startup -----
Current search path:
/home/mwiktowy/.q3a/baseq3/PainFromSpain.pk3 (44 files)
/home/mwiktowy/.q3a/baseq3
/usr/local/games/quake3/baseq3/pak8.pk3 (9 files)
/usr/local/games/quake3/baseq3/pak7.pk3 (4 files)
/usr/local/games/quake3/baseq3/pak6.pk3 (64 files)
/usr/local/games/quake3/baseq3/pak5.pk3 (7 files)
/usr/local/games/quake3/baseq3/pak4.pk3 (272 files)
/usr/local/games/quake3/baseq3/pak3.pk3 (4 files)
/usr/local/games/quake3/baseq3/pak2.pk3 (148 files)
/usr/local/games/quake3/baseq3/pak1.pk3 (26 files)
/usr/local/games/quake3/baseq3/pak0.pk3 (3539 files)
/usr/local/games/quake3/baseq3
./quake3.x86/baseq3
 
----------------------
4117 files in pk3 files
execing default.cfg
execing q3config.cfg
couldn't exec autoexec.cfg
Hunk_Clear: reset the hunk ok
 
------- Input Initialization -------
Joystick is not active.
------------------------------------
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xf70a2ba8) = 2850
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x8074990, [], SA_RESTORER, 0x702958},
{SIG_DFL}, 8) = 0
waitpid(-1, ----- Client Initialization -----
----- Initializing Renderer ----
-------------------------------
----- Client Initialization Complete -----
----- R_Init -----
...loading libGL.so.1: Initializing OpenGL display
...setting mode 4: 800 600
Using XFree86-VidModeExtension Version 2.2
XF86DGA Mouse (Version 2.0) initialized
XFree86-VidModeExtension Activated at 800x600
Using 8/8/8 Color bits, 24 depth, 0 stencil display.
GL_RENDERER: Mesa DRI R200 20020827 AGP 1x x86/MMX/3DNow!/SSE TCL
Initializing OpenGL extensions
...GL_S3_s3tc not found
...ignoring GL_EXT_texture_env_add
...using GL_ARB_multitexture
...using GL_EXT_compiled_vertex_array
XF86 Gamma extension initialized
 
GL_VENDOR: Tungsten Graphics, Inc.
GL_RENDERER: Mesa DRI R200 20020827 AGP 1x x86/MMX/3DNow!/SSE TCL
GL_VERSION: 1.2 Mesa 4.0.4
GL_EXTENSIONS: GL_ARB_imaging GL_ARB_multitexture
GL_ARB_texture_env_add GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3 GL_ARB_transpose_matrix GL_EXT_abgr
GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_logic_op
GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint
GL_EXT_convolution GL_EXT_compiled_vertex_array GL_EXT_histogram
GL_EXT_packed_pixels GL_EXT_polygon_offset GL_EXT_rescale_normal
GL_EXT_secondary_color GL_EXT_stencil_wrap GL_EXT_texture3D
GL_EXT_texture_env_add GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic
GL_EXT_texture_object GL_EXT_texture_lod_bias GL_EXT_vertex_array
GL_IBM_rasterpos_clip GL_MESA_pack_invert GL_MESA_ycbcr_texture
GL_MESA_window_pos GL_NV_texgen_reflection GL_NV_texture_rectangle
GL_SGI_color_matrix GL_SGI_color_table
GL_MAX_TEXTURE_SIZE: 2048
GL_MAX_ACTIVE_TEXTURES_ARB: 2
 
PIXELFORMAT: color(24-bits) Z(24-bit) stencil(0-bits)
MODE: 4, 800 x 600 fullscreen hz:N/A
GAMMA: hardware w/ 0 overbright bits
CPU:
rendering primitives: single glDrawElements
texturemode: GL_LINEAR_MIPMAP_NEAREST
picmip: 1
texture bits: 0
multitexture: enabled
compiled vertex arrays: enabled
texenv add: disabled
compressed textures: disabled
Initializing Shaders
...loading 'scripts/painfromspain.shader'
...loading 'scripts/lightningnew.shader'
...loading 'scripts/explode1.shader'
...loading 'scripts/gfx.shader'
...loading 'scripts/tim.shader'
...loading 'scripts/base.shader'
...loading 'scripts/base_button.shader'
...loading 'scripts/base_floor.shader'
...loading 'scripts/base_light.shader'
...loading 'scripts/base_object.shader'
...loading 'scripts/base_support.shader'
...loading 'scripts/base_trim.shader'
...loading 'scripts/base_wall.shader'
...loading 'scripts/common.shader'
...loading 'scripts/ctf.shader'
...loading 'scripts/eerie.shader'
...loading 'scripts/gothic_block.shader'
...loading 'scripts/gothic_floor.shader'
...loading 'scripts/gothic_light.shader'
...loading 'scripts/gothic_trim.shader'
...loading 'scripts/gothic_wall.shader'
...loading 'scripts/hell.shader'
...loading 'scripts/liquid.shader'
...loading 'scripts/menu.shader'
...loading 'scripts/models.shader'
...loading 'scripts/organics.shader'
...loading 'scripts/sfx.shader'
...loading 'scripts/shrine.shader'
...loading 'scripts/skin.shader'
...loading 'scripts/sky.shader'
...loading 'scripts/test.shader'
----- finished R_Init -----
 
------- sound initialization -------
Could not mmap dma buffer PROT_WRITE|PROT_READ
trying mmap PROT_WRITE (with associated better compatibility / less
performance code)
/dev/dsp: Input/output error
Could not mmap /dev/dsp
------------------------------------
Sound memory manager started
Loading vm file vm/ui.qvm.
VM file ui compiled to 594408 bytes of code
ui loaded in 1963008 bytes on the hunk
36 arenas parsed
32 bots parsed
--- Common Initialization Complete ---
Opening IP socket: localhost:27960
Hostname: localhost
Alias: localhost.localdomain
Alias: CPE0026540bdbe6-CM0000393ffa54
IP: 127.0.0.1
Started tty console (use +set ttycon 0 to disable)
^3PunkBuster Server: PunkBuster Server (v0.993 | A0 C0.0) **DISABLED**
----- CL_Shutdown -----
RE_Shutdown( 1 )
-----------------------
----- CL_Shutdown -----
-----------------------
Shutdown tty console
[WIFEXITED(s) && WEXITSTATUS(s) == 0], 0) = 2850
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xfef81d14, WNOHANG)        = -1 ECHILD (No child processes)
sigreturn()                             = ? (mask now [])
rt_sigaction(SIGINT, {SIG_DFL}, {0x8074990, [], SA_RESTORER,
0x702958}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(255, "  exit $? \n  \n", 170)      = 14
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(0)                           = ?

Comment 1 Michael Wiktowy 2004-03-08 02:21:11 UTC
Created attachment 98365 [details]
strace quake3

Sorry for the inline strace ... added an attachment with info inside but
couldn't edit out the strace from the main bug report.

Comment 2 Bill Nottingham 2004-03-08 16:36:37 UTC
This sounds like a driver bug in not supporting mmap() access
correctly in OSS compat mode.

Comment 3 Michael Wiktowy 2004-03-13 00:44:54 UTC
Created attachment 98506 [details]
output of lsmod and lspci for my system

Hopefully this is helpful.
Running kernel 2.6.3-2.1.253 now and still no sound.

Comment 4 Michael Wiktowy 2004-05-06 01:37:55 UTC
I can confirm that the sound in quake3 now works fine running kernel
2.6.5-1.327 on a system that has been continuously updated from FC2
test1 using yum. Thanks!