First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 99590
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Games <games@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: NightTwix <nighttwix@gmx.de>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
pyerror Output of "emerge pygame -epv" text/plain NightTwix 2005-07-23 16:32 0000 8.37 KB Details
sdl-mixer-1.2.6_libmikmod-register-only-drv_nos.patch sdl-mixer-1.2.6_libmikmod-register-only-drv_nos.patch patch TGL 2005-10-06 06:41 0000 337 bytes Details | Diff
gweled-0.7-no_disk_writer.patch gweled-0.7-no_disk_writer.patch patch TGL 2005-12-02 17:39 0000 635 bytes Details | Diff
libmikmod-cvs20051203-RegisterSomeDrivers.patch libmikmod-cvs20051203-RegisterSomeDrivers.patch patch TGL 2005-12-03 05:55 0000 2.73 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 99590 depends on: Show dependency tree
Bug 99590 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-07-19 16:12 0000
i.e. you cant start games-arcade/pydance-1.0.3 with media-libs/sdl-mixer-1.2.6
you get an error "pygame.error: mixer system not initialized" as user.
even if user is in games and audio groups. 
if you start the game as root it works fine.

Downgrading to media-libs/sdl-mixer-1.2.5-r1 fixes(workarounds?) the problem.

On the forums i found other people having similar problems with 1.2.6

Reproducible: Always
Steps to Reproduce:
1. emerge sdl-mixer pydance
2. start pydance as user
3.




# emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-
r0, 2.6.12-gentoo-r4fnord i686)
=================================================================
System uname: 2.6.12-gentoo-r4fnord i686 AMD Athlon(tm) XP 3000+
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.10
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.8.1-r1, 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/
share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /
usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/
defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles/"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X aalib acl acpi alsa apache2 apm arts audiofile avi 
bash-completion berkdb bidi bitmap-fonts bzlib cairo cdr crypt curl dga directfb 
divx4linux dlloader elf emboss encode esd ethereal fam fbcon flac font-server 
foomaticdb fortran ftp gbdm gdbm geoip gif glitz glut gnome gpm gstreamer gtk 
gtk2 gtkhtml guile hal imagemagick imlib jpeg jpeg2k kde libg++ libwww lua lzo 
mad maildir mikmod mime mmx mmxext motif mozilla mp3 mpeg mppe-mppc mysql 
ncurses network nls noamazon nocd nptl nvidia ode offensive ogg oggvorbis opengl 
oss pam pcre pdflib perl php png prelude python qt quicktime readline real rtc 
ruby samba sasl sdl slang smux snmp sockets speex spell sse sse2 ssl stream svga 
tcltk tcpd tga tiff toolbar truetype truetype-fonts type1-fonts unicode usb vcd 
vhosts videos visualisation vlm vorbis win32codecs wmf x86 xine xml xml2 xmms 
xrandr xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, 
PORTDIR_OVERLAY

------- Comment #1 From Mr. Bones. 2005-07-19 16:29:58 0000 -------
works fine here as user.

Can I see the output from "emerge -evp pydance" please?

------- Comment #2 From Mr. Bones. 2005-07-19 16:31:10 0000 -------
oh, and remerge pygame and see if that helps.

------- Comment #3 From Mr. Bones. 2005-07-22 14:52:35 0000 -------
reopen after doing those things.

------- Comment #4 From NightTwix 2005-07-23 16:32:25 0000 -------
Created an attachment (id=64165) [edit]
Output of "emerge pygame -epv"

------- Comment #5 From NightTwix 2005-07-23 16:35:16 0000 -------
I've attached the output of "emerge pydance -epv" 
remerging pydance didn't solve it

I still get the same error when i use sdl-mixer-1.2.6

------- Comment #6 From Mr. Bones. 2005-07-23 17:18:27 0000 -------
works fine here with 1.2.6.  it's something specific to your system.

------- Comment #7 From NightTwix 2005-07-23 17:44:52 0000 -------
(In reply to comment #6)
> works fine here with 1.2.6.  it's something specific to your system.

Maybe it's the nvidia nforce2 chipset? It's an onboard soundcard...
Well, other applications/games work even with 1.2.6

------- Comment #8 From Mr. Bones. 2005-07-23 18:26:02 0000 -------
try doing:

emerge --newuse -v world
revdep-rebuild

------- Comment #9 From NightTwix 2005-08-02 05:08:38 0000 -------
the problem is the 'mikmod' useflag resulting in a permissions problem

see: http://bugs.gentoo.org/show_bug.cgi?id=99004


------- Comment #10 From SpanKY 2005-08-02 21:34:02 0000 -------
need to research why this happens and how to fix it ... do we need to patch
packages or libraries or what ...

------- Comment #11 From SpanKY 2005-08-02 21:34:06 0000 -------
*** Bug 99004 has been marked as a duplicate of this bug. ***

------- Comment #12 From SpanKY 2005-08-07 17:27:37 0000 -------
*** Bug 101615 has been marked as a duplicate of this bug. ***

------- Comment #13 From Mr. Bones. 2005-10-05 07:50:10 0000 -------
*** Bug 108164 has been marked as a duplicate of this bug. ***

------- Comment #14 From TGL 2005-10-06 06:40:50 0000 -------
Imho, the problem with "music.raw" is that SDL_mixer calls
"RegisterAllDrivers()" on libmikmod, which makes a whole bunch of useless sound
drivers to initialize (including the RAW output one, hence the music.raw file).
 When using the internal mikmod code (the one included in SDL_mixer tarball),
there is no such issue because it's a stripped down version which don't have all
this drivers.  But it seems that's not an option to go back to using this code
(see sdl-mixer/ChangeLog - bug #51852). 

Anyway, since SDL_mixer won't actually use this output drivers (it has its own
sound output code using SDL), I suggest this call is changed to
"RegisterDriver(&drv_nos)" (see attached patch).  The "drv_nos" is a dummy
driver which won't access any device or file, and is enough for SDL_mixer needs
(ie., decoding some mod files).

I've tested my patch with sdl-mixer-1.2.6 and games-arcade/ceferino without
issue.  If you know other games which use some mod music file through
SDL_mixer+libmikmod, please tell me so that i can test them too.

------- Comment #15 From TGL 2005-10-06 06:41:44 0000 -------
Created an attachment (id=69982) [edit]
sdl-mixer-1.2.6_libmikmod-register-only-drv_nos.patch

------- Comment #16 From TGL 2005-10-06 07:31:25 0000 -------
Patched sdl-mixer-1.2.6 now successfully tested (music plays fine and no
music.raw is created) with the following games, which were all the ones i had
with some *.{mod,xm,it} files in CONTENTS and rdepending on sdl-mixer:
games-arcade/supertux-0.1.3
games-action/glaxium-0.5
games-arcade/ceferino-0.96
games-arcade/frozen-bubble-1.0.0-r5
games-arcade/criticalmass-0.9.12
games-fps/cube-20050829

------- Comment #17 From TGL 2005-10-06 07:36:54 0000 -------
Oh, and games-puzzle/enigma-0.92 too, which uses a .s3m music file.

------- Comment #18 From SpanKY 2005-10-10 08:02:28 0000 -------
seems upstream cvs sdl-mixer has already done the same

fixed in 1.2.6-r1, thanks for the patch

------- Comment #19 From Mr. Bones. 2005-12-01 16:28:37 0000 -------
*** Bug 114203 has been marked as a duplicate of this bug. ***

------- Comment #20 From Craig Duquette 2005-12-02 16:34:36 0000 -------
I'm still having issues with gweled creating the music.raw. I don't have
sdl-mixer install on my system, so I'm not sure if my bug is related to this one.

------- Comment #21 From TGL 2005-12-02 17:38:45 0000 -------
I can reproduce your issue with gweled if I unload my alsa modules
(`/etc/init.d/alsasound stop`). It's actually much worst than the sdl-mixer bug,
because the file is really written to (500MB after a few minutes...), whereas
with sdl-mixer it was just created but 0-sized. If a supported sound driver like
Alsa is available, then i get real sound and no "music.raw" file.

I will attach a patch which changes the way gweled registers libmikmod sound
drivers. Like in the sdl-mixer patch, it's a matter of avoiding
MikMod_RegisterAllDrivers(). I've only kept "esd", "alsa", "oss" and "nos" (as a
fallback). Maybe more should be added (complete list is in /usr/include/mikmod.h
or `info mikmod`), i'm not sure how useful some can be under Gentoo. Note that
it doesn't seem to be a problem to register some drivers which are actually not
supported by libmikmod because of USE flags (I have USE=-esd for instance).

Oh, and if you don't get reaction on this bug (would be understandable since
it's marked FIXED), maybe you could reopen bug #108164 (being its owner) and
attach this patch there.

------- Comment #22 From TGL 2005-12-02 17:39:27 0000 -------
Created an attachment (id=73965) [edit]
gweled-0.7-no_disk_writer.patch

------- Comment #23 From TGL 2005-12-03 05:55:34 0000 -------
Created an attachment (id=73982) [edit]
libmikmod-cvs20051203-RegisterSomeDrivers.patch

Here is a small patch for libmikmod which adds a
"MikMod_RegisterSomeDrivers(int)" function to the API, to ease registering of
"only available and useful drivers". For instance, in the case of Gweled, which
should play sounds only through a daemon or an HW driver, the
"MikMod_RegisterAllDrivers()" call could have been replaced by:

// only register drivers we can hear:
MikMod_RegisterSomeDrivers(DRIVERS_SET_NETWORK | DRIVERS_SET_HARDWARE);
// fallback to nosound:
MikMod_RegisterDriver(&drv_nos);

That would have been cleaner than my previous patch which enumerates all
drivers one by one, probably missing some valuable ones and including some
which are not supported.

Do you think that's something worth sending upstream?

------- Comment #24 From SpanKY 2005-12-29 00:29:16 0000 -------
the libmikmod patch i think is worthy to pursue upstream, the gweled one is not

First Last Prev Next    No search results available      Search page      Enter new bug