Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Multimedia
  • Search

Dynamic setting of default soundcard in ALSA

Help with creation, editing, or playback of sounds, images, or video. Amarok, audacious, mplayer, grip, cdparanoia and anything else that makes a sound or plays a video.
Post Reply
Advanced search
14 posts • Page 1 of 1
Author
Message
alet_roux
n00b
n00b
Posts: 54
Joined: Tue Oct 12, 2004 5:03 pm

Dynamic setting of default soundcard in ALSA

  • Quote

Post by alet_roux » Fri Feb 10, 2006 2:14 pm

I have a laptop with built-in intel8x0 sound card, a intel8x0m modem sound card (which I don't use) as well as a Logitech USB headset (which I use mostly for skype at the moment). All three work under ALSA and arts. Is it possible to set things up (perhaps via udev?) so that the default sound card is the headset, when it is plugged in, but the onboard sound card, when the usb headset is not present? I would like to listen to radio, etc, but would like to do so via the headset when I am in the office, as I am currently sharing.

Thank you very much in advance for any help or ideas. Here is my /etc/modules.d/alsa:

Code: Select all

##  ALSA portion
alias snd-card-0 snd-intel8x0
alias snd-card-1 snd-intel8x0m
alias snd-card-2 snd-usb-audio

##  OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
alias sound-slot-2 snd-card-2

options snd-intel8x0 index="0"
options snd-intel8x0m index="1"
options snd-usb-audio index="2"

# OSS/Free portion - card #1
#alias sound-service-0-0 snd-mixer-oss
#alias sound-service-0-1 snd-seq-oss
#alias sound-service-0-3 snd-pcm-oss
#alias sound-service-0-8 snd-seq-oss
#alias sound-service-0-12 snd-pcm-oss

#  OSS/Free portion - card #2
# alias sound-service-1-0 snd-mixer-oss
# alias sound-service-1-3 snd-pcm-oss
# alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.
options snd cards_limit=3
I have tried switching the order of the soundcards (so that the headset is card 0, with index 0), but that didn't seem to work.
Last edited by alet_roux on Thu Jul 06, 2006 10:22 am, edited 2 times in total.
Top
KWhat
l33t
l33t
User avatar
Posts: 673
Joined: Sun Sep 04, 2005 4:49 pm
Location: Los Angeles

  • Quote

Post by KWhat » Thu Jun 15, 2006 6:03 pm

I have been wondering the same thing.... anyone have a solution?

The only thing i can think of is setting up a hotplug script (I think you can do that or was it udev)... I will play with it and post my results
Top
alet_roux
n00b
n00b
Posts: 54
Joined: Tue Oct 12, 2004 5:03 pm

  • Quote

Post by alet_roux » Fri Jun 16, 2006 1:32 pm

Hey KWhat, that would be great if you could have a look; I guess a udev script would do the trick. If you do manage to do something, please post.
Top
baloo
n00b
n00b
Posts: 2
Joined: Fri Dec 12, 2003 9:00 am
Location: Zürich, Schweiz

  • Quote

Post by baloo » Fri Jun 16, 2006 2:23 pm

what about http://forums.gentoo.org/viewtopic-t-44 ... witch.html ?
Top
alet_roux
n00b
n00b
Posts: 54
Joined: Tue Oct 12, 2004 5:03 pm

  • Quote

Post by alet_roux » Tue Jun 20, 2006 3:00 pm

Thanks for the link, baloo! The solution is to have two copies of /etc/asound.conf (or ~/.asoundrc if you have a multi-user system), and to use udev to switch between them. I have two copies of this file, defining a virtual soundcard called pcm.alet (feel free to personalise). In the ALSA config my onboard soundcard is hw:0, and my Logitech 350 headset is hw:2.

Code: Select all

alet@localhost ~ $ cat /etc/asound-headset
pcm.alet {
        type plug
        slave.pcm "hw:2"
}

Code: Select all

alet@localhost ~ $ cat /etc/asound-onboard
pcm.alet {
        type plug
        slave.pcm "hw:0"
}
The udev rule is then given by

Code: Select all

alet@localhost ~ $ cat /etc/udev/rules.d/10-local.rules
<snip>

#My headset
ACTION=="add", BUS=="usb", SYSFS{product}=="Logitech USB Headset", RUN+="/bin/ln -sf /etc/asound-headset /etc/asound.conf"
#ACTION=="remove", BUS=="usb", SYSFS{product}=="Logitech USB Headset", RUN+="/bin/ln -sf /etc/asound-onboard /etc/asound.conf"
ACTION=="remove", KERNEL=="audio2", RUN+="/bin/ln -sf /etc/asound-onboard /etc/asound.conf"
With these rules, it is sufficient to restart progams (well, I tested only amaroK) that are running when the change takes place.
Top
deadboi
n00b
n00b
User avatar
Posts: 13
Joined: Fri Jan 21, 2005 1:39 pm

  • Quote

Post by deadboi » Sun Jun 25, 2006 5:19 am

Thanks for the udev info alet_roux but I'm having a little trouble with it. I have a Logitech 350 and I have it working as far as plugging in and unplugging the headset switches the symlink but I'm still only getting sound through my onboard sound card whether the headset is plugged in or not. You'll have to bear with me because I don't know much about alsa or udev but I'll try and give as much info as possible.

Code: Select all

deadboi@localhost ~ $ uname -a
Linux localhost 2.6.15-gentoo-r1 #9 SMP PREEMPT Thu Jun 22 11:16:05 MDT 2006 i686 AMD Athlon(tm) XP 2800+ GNU/Linux

Code: Select all

Device Drivers  --->
	Sound  --->
		<M> Sound card support
		<M> Advanced Linux Sound Architecture
			<M> Sequencer support
			< >   Sequencer dummy client
			<M> OSS Mixer API
			<M> OSS PCM (digital audio) API
			[ ] OSS Sequencer API
			[ ] Verbose printk
			[ ] Debug
			Generic devices  --->
			ISA devices  --->
			PCI devices  --->
				<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
			USB devices  --->
				<M> USB Audio/MIDI driver

Code: Select all

deadboi@localhost ~ $ cat /proc/bus/usb/devices | grep snd-usb-audio
I:  If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio

Code: Select all

deadboi@localhost ~ $ cat /etc/modules.d/alsa
# Alsa 0.9.X kernel modules' configuration file.
# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.4 2004/11/16 01:31:22 eradicator Exp $

# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore

##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
# ALSA portion
alias snd-card-0 snd-intel8x0
alias snd-card-1 snd-usb-audio

options snd-intel8x0 index=0
options snd-usb-audio index=1

## OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
## OSS/Free portion - card #2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.
options snd cards_limit=2

Code: Select all

deadboi@localhost ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: CK8 [NVidia CK8], device 0: Intel ICH [NVidia CK8]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: CK8 [NVidia CK8], device 1: Intel ICH - MIC ADC [NVidia CK8 - MIC ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Code: Select all

deadboi@localhost ~ $ arecord -L
PCM list:
hw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type hw
        card $CARD
        device $DEV
        subdevice $SUBDEV
}
plughw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type plug
        slave.pcm {
                type hw
                card $CARD
                device $DEV
                subdevice $SUBDEV
        }
}
plug {
        @args.0 SLAVE
        @args.SLAVE {
                type string
        }
        type plug
        slave.pcm $SLAVE
}
shm {
        @args.0 SOCKET
        @args.1 PCM
        @args.SOCKET {
                type string
        }
        @args.PCM {
                type string
        }
        type shm
        server $SOCKET
        pcm $PCM
}
tee {
        @args.0 SLAVE
        @args.1 FILE
        @args.2 FORMAT
        @args.SLAVE {
                type string
        }
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm $SLAVE
        file $FILE
        format $FORMAT
}
file {
        @args.0 FILE
        @args.1 FORMAT
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm null
        file $FILE
        format $FORMAT
}
null {
        type null
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
side 'cards.pcm.side'
surround40 'cards.pcm.surround40'
surround41 'cards.pcm.surround41'
surround50 'cards.pcm.surround50'
surround51 'cards.pcm.surround51'
surround71 'cards.pcm.surround71'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'
modem 'cards.pcm.modem'
phoneline 'cards.pcm.phoneline'
default 'cards.pcm.default'
dmix 'cards.pcm.dmix'
dsnoop 'cards.pcm.dsnoop'
alet {
        type plug
        slave.pcm hw:1
}

Code: Select all

deadboi@localhost ~ $ cat /dev/urandom > /dev/dsp
produces static from the onboard speakers

Code: Select all

deadboi@localhost ~ $ cat /dev/urandom > /dev/dsp1
produces static from the headset

Code: Select all

deadboi@localhost ~ $ cat /etc/udev/rules.d/10-local.rules
#My headset
ACTION=="add", BUS=="usb", SYSFS{product}=="Logitech USB Headset", RUN+="/bin/ln -sf /etc/asound-headset /etc/asound.conf"
#ACTION=="remove", BUS=="usb", SYSFS{product}=="Logitech USB Headset", RUN+="/bin/ln -sf /etc/asound-onboard /etc/asound.conf"
ACTION=="remove", KERNEL=="audio1", RUN+="/bin/ln -sf /etc/asound-onboard /etc/asound.conf"

Code: Select all

deadboi@localhost ~ $ cat /etc/asound-headset
pcm.alet {
        type plug
        slave.pcm "hw:1"
}

Code: Select all

deadboi@localhost ~ $ cat /etc/asound-onboard
pcm.alet {
        type plug
        slave.pcm "hw:0"
Any help would be greatly appreciated.
Top
alet_roux
n00b
n00b
Posts: 54
Joined: Tue Oct 12, 2004 5:03 pm

  • Quote

Post by alet_roux » Tue Jun 27, 2006 3:45 pm

Hey deadboi, your config looks similar to mine. The only difference I can see is that I have alsa-drivers (or whatever it is called) installed, and no sound in the kernel itself, but I don't think that's really relevant here. I'm not quite sure why mine works and yours doesn't (and I'm no expert at all!), but here goes.
deadboi@localhost ~ $ cat /dev/urandom > /dev/dsp

produces static from the onboard speakers

deadboi@localhost ~ $ cat /dev/urandom > /dev/dsp1

produces static from the headset
Same here. The trick above doesn't change the order of the sound cards at all, it just creates a new artificial sound card for ALSA, and changes which actual card it points to depending on whether the headset is plugged in or not.

I *think* /dev/dspX is the OSS sound devices, which is unchanged by the udev rule. Am afraid I have no idea how to switch the OSS output automatically (unless this can be done via a udev rule as well). Yes, I've tried making the headset device 0, but it only works if the headset is either plugged in at startup and remains plugged in until shutdown, or if it is never plugged in at all. Just a though, perhaps it will work if one simply restarts /etc/init.d/alsasound every time the headset is plugged in or taken out?

Hope this helps. Let us know how you get on!
Top
deadboi
n00b
n00b
User avatar
Posts: 13
Joined: Fri Jan 21, 2005 1:39 pm

  • Quote

Post by deadboi » Wed Jul 05, 2006 4:18 pm

Still not having any luck. I have switched to using the alsa-drivers instead of the ones in the kernel in hopes that it might work but to no avail.

When you say that it creates a new artificial sound card for ALSA does that means there should be a third card to choose from when, for example, using ALSA mixer?

Code: Select all

deadboi@localhost ~ $ alsamixer -c 0
Gives me the NVidia CK8 card

Code: Select all

deadboi@localhost ~ $ alsamixer -c 1
Gives me the Logitech USB Headset

And I'm guessing

Code: Select all

deadboi@localhost ~ $ alsamixer -c 2
Should give me the artificial soundcard which would be the NVidia or Logitech one depending on if the headset is plugged in or not. But it just gives me

Code: Select all

wrong -c argument '2'
However I could be totally wrong as to how this is suppose to work.
Top
alet_roux
n00b
n00b
Posts: 54
Joined: Tue Oct 12, 2004 5:03 pm

  • Quote

Post by alet_roux » Thu Jul 06, 2006 10:21 am

Hey deadboi, we're definitely way beyond the limits of my alsa knowledge here, but I think it doesn't actually create a third soundcard. I *think* the names hw:x are reserved for actual cards defined in the alsa config, whereas the new device that you are creating is called pcm.something. All I know is that it works for me to replace hw:x by pcm.something in programs like amaroK, kde (I think?) etc. So I'm guessing addressing this pcm plug thing as the third card won't work, independent of which drivers you are using.

Sorry for not being able to say more than this. I have not been able to find much documentation on alsa, to my surprise. I'll change the title of this thread from [SOLVED] so that we can perhaps attract somebody who knows more than us.
Top
Dominique_71
Veteran
Veteran
User avatar
Posts: 1957
Joined: Wed Aug 17, 2005 1:01 pm
Location: Switzerland (Romandie)

  • Quote

Post by Dominique_71 » Thu Jul 06, 2006 2:13 pm

Well, I would use a kernel boot option to do that. It work for me with my nvidia card to start X with the nv driver or with the nvidia driver, so it must work too with alsa.

What you have to do is to use 2 files /etc/modprobe.conf.1 and /etc/modprobe.conf.2
Each one with a config. To get those files, rename modprobe.conf to modprobe.conf.1, change the order of the sound cards in /etc/modules.d/alsa and run modules-update. Rename modprobe.conf to modprobe.conf.2

Pass a kernel option like ADRIVER=1 or ADRIVER=2 in the bootloader. The kernel, not understanding this option, will pass it as an environment variable to init. Then, have a startup "service" under /etc/init.d that creates a symbolic link from /etc/modprobe.conf.${ADRIVER} to /etc/modprobe.conf. You could even have it modprobe alsa depending on ${ADRIVER} is. Make /etc/init.d/alsasound depend on this new startup script, to guarantee it runs first. That will let you choose the order of your sound cards to use right in the bootloader.

The new startup script in /etc/init.d can look like:

Code: Select all

#!/sbin/runscript

depend() {
        need bootmisc localmount
        after modules isapnp coldplug hotplug
}

start() {
        ebegin "  Loading: ${ADRIVER}"
        rm /etc/modprobe.conf
        ln -s /etc/modprobe.conf.${ADRIVER} /etc/modprobe.conf
        eend $?
}

stop() {
        ebegin "  Unloading: ${ADRIVER}"
        eend $?
}
It is nothig to do when you stop the system, but the stop() function is needed if I remerber well.
"Confirm You are a robot." - the singularity
Top
deadboi
n00b
n00b
User avatar
Posts: 13
Joined: Fri Jan 21, 2005 1:39 pm

  • Quote

Post by deadboi » Thu Jul 06, 2006 4:56 pm

alet_roux wrote:Hey deadboi, we're definitely way beyond the limits of my alsa knowledge here, but I think it doesn't actually create a third soundcard. I *think* the names hw:x are reserved for actual cards defined in the alsa config, whereas the new device that you are creating is called pcm.something. All I know is that it works for me to replace hw:x by pcm.something in programs like amaroK, kde (I think?) etc. So I'm guessing addressing this pcm plug thing as the third card won't work, independent of which drivers you are using.

Sorry for not being able to say more than this. I have not been able to find much documentation on alsa, to my surprise. I'll change the title of this thread from [SOLVED] so that we can perhaps attract somebody who knows more than us.
Ahhh ok I was under the impression that this would change the "default" sound card. After going in and replacing the hw:x or (default) to pcm.alet I do have it working in XMMS and Xine. Mplayer is still not playing nice and rhythmbox doesn't have an obvious place to change that. Thanks a lot for the help so far. :D
Top
z_sfeng
Apprentice
Apprentice
Posts: 154
Joined: Wed Apr 21, 2004 8:57 pm
Location: Finland

  • Quote

Post by z_sfeng » Wed Feb 28, 2007 1:47 pm

instead of

Code: Select all

pcm.alet {
I use

Code: Select all

pcm.!default
every thing works fine.
Top
xerxesmc
n00b
n00b
User avatar
Posts: 54
Joined: Sun Nov 19, 2006 6:25 pm
Location: Fulda/Hessen

  • Quote

Post by xerxesmc » Fri Jun 01, 2007 11:15 am

im using a quite similar setup.
everything works, except the fact that i want udev to recognize on startup if my headset is plugged in or not and then link the corresponding file to /etc/asound.conf

my udev rules look loike this:

Code: Select all

#Headset plugged in
ACTION=="add", BUS=="usb", ATTRS{product}=="USB Audio", RUN+="/bin/ln -sf /usr/sound/.asoundrc_usb /etc/asound.conf"

ACTION=="remove", KERNEL=="audio*", RUN+="/bin/ln -sf /usr/sound/.asoundrc_desktop /etc/asound.conf"

BUS=="usb", ATTRS{product}=="USB Audio", RUN+="/bin/ln -sf /usr/sound/.asoundrc_usb /etc/asound.conf"

DRIVERS=="HDA Intel" RUN+="/bin/ln -sf /usr/sound/.asoundrc_desktop /etc/asound.conf"
/usr/sound/.asoundrc_desktop and /usr/sound/.asoundrc_usb are the corresponding configuration files and work fine

if my headset was not plugged before i shutdown and i plug it during halt and boot up my system udev recognizes it.
if my headset was plugged before i shutdown and i unplug it during halt and boot up udev recognizes it too.
if i my headset is not plugged in during the whole reboot this script works too, the only thing it lacks is the ability to link correctly if the headset is plugged in the whole time during reboot.
the sccript above links /usr/sound/.asoundrc_desktop in the letter case. :(
a solution is to simply replug the usbheadset, but i want an automatic solution for that :|

anyone ideas?

thanks in advance
Top
xerxesmc
n00b
n00b
User avatar
Posts: 54
Joined: Sun Nov 19, 2006 6:25 pm
Location: Fulda/Hessen

  • Quote

Post by xerxesmc » Fri Jun 01, 2007 11:27 am

hm, it looks like i found some working udev-rules for my matter:

Code: Select all

#Headset plugged in
ACTION=="add", BUS=="usb", ATTRS{product}=="USB Audio", RUN+="/bin/ln -sf /usr/sound/.asoundrc_usb /etc/asound.conf"

ACTION=="remove", KERNEL=="audio*", RUN+="/bin/ln -sf /usr/sound/.asoundrc_desktop /etc/asound.conf"

BUS=="usb", ATTRS{product}=="USB Audio", RUN+="/bin/ln -sf /usr/sound/.asoundrc_usb /etc/asound.conf"

DRIVERS=="HDA Intel" RUN+="/bin/ln -sf /usr/sound/.asoundrc_desktop /etc/asound.conf"

BUS=="usb", ATTRS{product}=="USB Audio", RUN+="/bin/ln -sf /usr/sound/.asoundrc_usb /etc/asound.conf"
strange, that i have to repeat a rule, but it works this way and it didnt as i just switched the DRIVERS and BUS rules, strange, but maybe i just didnt get something
Top
Post Reply

14 posts • Page 1 of 1

Return to “Multimedia”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic