Bug 493961 - no sound device without gdm (Acer Aspire One, F11-beta)
Summary: no sound device without gdm (Acer Aspire One, F11-beta)
Keywords:
Status: CLOSED DUPLICATE of bug 332781
Alias: None
Product: Fedora
Classification: Fedora
Component: ConsoleKit
Version: rawhide
Hardware: i386
OS: Linux
low
medium
Target Milestone: ---
Assignee: jmccann
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-03 13:38 UTC by Steven Usdansky
Modified: 2015-01-14 23:22 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-04-24 21:38:16 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
syslog pulseaudio output (21.74 KB, text/plain)
2009-04-03 16:06 UTC, Steven Usdansky
no flags Details

Description Steven Usdansky 2009-04-03 13:38:23 UTC
Description of problem:
No sound device (and hence no sound) in GNOME when booting into runlevel 3 and running startx. 

Version-Release number of selected component (if applicable):
pulseaudio-0.9.15-3.test5.fc11.i586

How reproducible:
100%

Steps to Reproduce:
0. Power on Acer Aspire One
1. Boot into runlevel3
2. login as ordinary user
3. startx
4. right-click speaker icon in system tray
5. select output tab
6. sound device shows as Null Output
7. open terminal window
8. paplay meepmeep.wav  
9. no sound
10. exit GNOME
11. sudo gdm
12. login as same ordinary user as step #2 above
13. right-click speaker icon in system tray
14. select output tab
15. sound device shows as Internal Audio
16. open terminal window
17. paplay meepmeep.wav  
18. enjoy sound of roadrunner's meepmeep
19. sudo telinit 3
20. GOTO step #3
  
Actual results:
Without gdm: Null Output sound device; no sound

Expected results:
Without gdm: Internal Audio sound device; sound


Additional info:
Probably the wrong component against which to file this bug, but not sure where it should go.

Comment 1 Lennart Poettering 2009-04-03 15:42:08 UTC
Please set "log-level" to "debug" in /etc/pulse/daemon.conf, then try to reproduce this issue and paste the output of PA from syslog.

Comment 2 Steven Usdansky 2009-04-03 16:06:46 UTC
Created attachment 338071 [details]
syslog pulseaudio output

Ran startx from runlevel 3.  Same problem as originally reported.

Comment 3 Lennart Poettering 2009-04-03 16:36:02 UTC
This is a permission problem:

Apr  3 10:54:56 localhost pulseaudio[2706]: module-alsa-card.c: Card '0' doesn't exist: Permission denied

If you don't run your session from gdm then no ConsoleKit session will be created for you and hence the audio device ACLs won't be configured for you probably.

I am tentatively reassigning this to ConsoleKit. It's probably not the right place, though. If we really want to support startx sessions then that script needs to open a ck session in some way. No clue how.

Comment 4 Fedora Admin XMLRPC Client 2009-04-08 17:08:52 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 5 Steven Usdansky 2009-04-11 10:22:54 UTC
My work-around:

Created ~/.Xclients and ~/.Xclients-default (copied from my F10 installation; could have just run switchdesk gnome). Modified .Xclients-default by adding ck-xinit-session:

~$ diff .Xclients-default .Xclients-default-good 
8c8
<    [ -x $p/$WM ] && exec $p/$WM
---
>    [ -x $p/$WM ] && exec ck-xinit-session $p/$WM

Comment 6 Matthias Clasen 2009-04-12 22:42:08 UTC
/etc/X11/xinit/xinitrc is supposed to run ck-xinit-session for you already. Would be good to investigate why that doesn't work for you.

Comment 7 Steven Usdansky 2009-04-12 23:42:36 UTC
contents of /etc/X11/xinit/xinitrc
/etc/X11/xinit$ cat xinitrc
#!/bin/sh
# Copyright (C) 1999 - 2005 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Authors:
#	Mike A. Harris <mharris>

# Mandatorily source xinitrc-common, which is common code shared between the
# Xsession and xinitrc scripts which has been factored out to avoid duplication
. /etc/X11/xinit/xinitrc-common

# The user may have their own clients they want to run.  If they don't,
# fall back to system defaults.
if [ -f $HOME/.Xclients ]; then
    exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients || \
    exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients
elif [ -f /etc/X11/xinit/Xclients ]; then
    exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients || \
    exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients
else
    # Failsafe settings.  Although we should never get here
    # (we provide fallbacks in Xclients as well) it can't hurt.
    [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45'
    [ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 &
    [ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 &
    [ -x /usr/bin/twm ] && /usr/bin/twm
fi

contents of /etc/X11/xinit/xinitrc-common:
/etc/X11/xinit$ cat xinitrc
#!/bin/sh
# Copyright (C) 1999 - 2005 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Authors:
#	Mike A. Harris <mharris>

# Mandatorily source xinitrc-common, which is common code shared between the
# Xsession and xinitrc scripts which has been factored out to avoid duplication
. /etc/X11/xinit/xinitrc-common

# The user may have their own clients they want to run.  If they don't,
# fall back to system defaults.
if [ -f $HOME/.Xclients ]; then
    exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients || \
    exec $CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients
elif [ -f /etc/X11/xinit/Xclients ]; then
    exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients || \
    exec $CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients
else
    # Failsafe settings.  Although we should never get here
    # (we provide fallbacks in Xclients as well) it can't hurt.
    [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45'
    [ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 &
    [ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 &
    [ -x /usr/bin/twm ] && /usr/bin/twm
fi
/etc/X11/xinit$ cat xinitrc-common 
#!/bin/bash
# Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# xinitrc-common
#
# This is common code shared by both Xsession and xinitrc scripts.  Be sure
# to take this into account when fixing bugs or adding new functionality.

# Set up i18n environment
if [ -r /etc/profile.d/lang.sh ]; then
  . /etc/profile.d/lang.sh
fi

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
userxkbmap=$HOME/.Xkbmap

sysresources=/etc/X11/Xresources
sysmodmap=/etc/X11/Xmodmap
sysxkbmap=/etc/X11/Xkbmap

# merge in defaults
[ -r "$sysresources" ] && xrdb -nocpp -merge "$sysresources"
[ -r "$userresources" ] && xrdb -merge "$userresources"

# merge in keymaps
if [ -r "$sysxkbmap" ]; then
    setxkbmap $(cat "$sysxkbmap")
    XKB_IN_USE=yes
fi

if [ -r "$userxkbmap" ]; then
    setxkbmap $(cat "$userxkbmap")
    XKB_IN_USE=yes
fi

# xkb and xmodmap don't play nice together
if [ -z "$XKB_IN_USE" ]; then
    [ -r "$sysmodmap" ] && xmodmap "$sysmodmap"
    [ -r "$usermodmap" ] && xmodmap "$usermodmap"
fi

unset XKB_IN_USE

# run all system xinitrc shell scripts.
for file in /etc/X11/xinit/xinitrc.d/* ; do
        . $file
done

# Prefix launch of session with ssh-agent if available and not already running.
SSH_AGENT=
if [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ]; then
    if [ "x$TMPDIR" != "x" ]; then
        SSH_AGENT="/usr/bin/ssh-agent /bin/env TMPDIR=$TMPDIR"
    else
        SSH_AGENT="/usr/bin/ssh-agent"
  fi
fi

CK_XINIT_SESSION=
if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then
    CK_XINIT_SESSION="/usr/bin/ck-xinit-session"
fi

Comment 8 Tom "spot" Callaway 2009-04-17 23:12:32 UTC
I hit this bug today in rawhide (thanks to gdm crashing every 10 minutes and taking my GNOME session with it), when I booted into runlevel 3.

Here's what I've discovered:

If I make this change in /etc/X11/xinit/xinitrc-common:

 --- /etc/X11/xinit/xinitrc-common.orig	2009-04-17 19:00:41.000000000 -0400
+++ /etc/X11/xinit/xinitrc-common	2009-04-17 18:57:15.000000000 -0400
@@ -67,4 +67,6 @@
 CK_XINIT_SESSION=
 if [ -x /usr/bin/ck-xinit-session -a -z "$XDG_SESSION_COOKIE" ]; then
     CK_XINIT_SESSION="/usr/bin/ck-xinit-session"
+else
+    echo "XDG_SESSION_COOKIE wasn't zero. It is $XDG_SESSION_COOKIE"
 fi

(Yes, I'm sure that /usr/bin/ck-xinit-session exists.)

Then, when I startx, I get this on tty1:

XDG_SESSION_COOKIE wasn't zero. It is d0a20e3f3630977ac4c0bd86491bb834-1240008361.230691-978425245

Obviously, the fact that $XDG_SESSION_COOKIE is non-zero is why ck-xinit-session is never being executed.

I'm not sure what is setting that variable, but something in runlevel 3 is doing it.

Comment 9 Tom "spot" Callaway 2009-04-17 23:15:41 UTC
Even more interesting, if I remove the requirement that $XDG_SESSION_COOKIE be unset, it all works fine.

Comment 10 Matthias Clasen 2009-04-24 21:38:16 UTC
Clearly the same issue as bug 332781

*** This bug has been marked as a duplicate of bug 332781 ***


Note You need to log in before you can comment on or make changes to this bug.