当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 61 篇帖子 ]  前往页数 1, 2, 3, 4, 5  下一页
作者 内容
1 楼 
 文章标题 : ideapad y430/V450的耳机插入后低音炮仍然响解决方法(增加10.04替换文件)
帖子发表于 : 2009-04-24 20:27 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
这几天和alsa的bugtracker上的人交流了下,终于把这个问题给解决了。其实问题很简单,默认的alsa驱动在耳机插入的时候只禁用了左右声道的输出,ideapad上多出来了一个,只要找到低音炮的输出通道然后添加到自动禁用的函数中去就行了。
解决方法:下载alsa全套驱动(理论上哪个版本都行,本人用的是1.0.19,为方便起见建议下载这个版本),包括alsa-driver(需要修改)、alsa-lib和alsa-ultis,然后将他们全部解压出来。按照driver->lib->ultis的顺序安装。
1.安装alsa-driver,需要修改alsa-kernel/pci/hda/patch_conexant.c,我把修改之后的文件放到附件里去,需要的人直接拿回去覆盖就行了,下面贴出diff:
代码:
--- patch_conexant.c    2009-01-19 19:08:58.000000000 +0800
+++ /media/g/Linux相关程序/alsa/patch_conexant.c        2009-04-24 13:34:10.000000000 +0800
@@ -1639,6 +1639,15 @@
        { 2, NULL },
 };

+static void cxt5051_update_subwoofer(struct hda_codec *codec)
+{
+       struct conexant_spec *spec = codec->spec;
+       unsigned int pinctl;
+       pinctl = (!spec->hp_present && spec->cur_eapd) ? PIN_OUT : 0;
+       snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_PIN_WIDGET_CONTROL,
+                           pinctl);
+}
+
 static void cxt5051_update_speaker(struct hda_codec *codec)
 {
        struct conexant_spec *spec = codec->spec;
@@ -1707,6 +1716,7 @@
                                     AC_VERB_GET_PIN_SENSE, 0) &
                AC_PINSENSE_PRESENCE;
        cxt5051_update_speaker(codec);
+       cxt5051_update_subwoofer(codec);
 }

 /* unsolicited event for HP jack sensing */


然后
代码:
./configure --prefix=/usr --with-cards=hda-intel
make
sudo make install

就把driver安装了

2.lib和ultis的 安装:
这个简单,先安装lib,再安装ultis,命令都一样:
代码:
./configure --prefix=/usr
make
sudo make install

然后重启,搞定。



应大家要求,再次给出10.04中的解决办法:
1.首先运行 apt-get source alsa-base
2.从终端进入alsa-driver-1.0.22.1+dfsg目录,下载下面的patch_conexant.c文件(76KB的那个),替换alsa-driver-1.0.22.1+dfsg/sound/pci/hda中的同名文件
3.在终端中依次执行
代码:
./configure --with-cards=hda-intel
make
sudo make install

附件:
文件注释: 10.04替换文件
patch_conexant.c [76.64 KiB]
被下载 211 次

只要这三步就可以搞定收工

另外提示,每次linux内核大版本升级需要重新编译内核模块,就是按照这三步重新安装



附件:
文件注释: 10.04替换文件
patch_conexant.c [98 Bytes]
被下载 106 次
文件注释: 修改之后的文件,解压覆盖就可以了
patch_conexant.c.tar.bz2 [9.52 KiB]
被下载 417 次


最后由 zsl1005 编辑于 2010-06-13 22:28,总共编辑了 5 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-26 19:06 

注册: 2008-02-23 13:48
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
顶。我也是用Y430,alsa主页下载不了。能否麻烦楼主发这3个文件到我的邮箱?谢谢(120075000@qq.com)


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-26 19:23 
头像

注册: 2008-04-26 12:41
帖子: 10974
送出感谢: 11
接收感谢: 38
:em06


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
4 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-26 21:58 
头像

注册: 2007-09-11 15:15
帖子: 200
送出感谢: 0 次
接收感谢: 0 次
我编译的时候出错了,请高手看一下,谢谢了~
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
./configure: line 19925: CC_NOUNDEFINED: command not found
checking for ANSI C header files... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for hsearch_r... yes
checking for library version... major 1 minor 0 subminor 19 extrastr extraver 1000000
checking for versioned symbols... yes
checking for symbolic-functions... no
checking for custom symbol prefixes...
checking for debug... yes
checking for debug assert... no
checking for tmpdir... /tmp
checking for softfloat... no
checking for libdl... checking for dlsym in -ldl... yes
checking for pthread... checking for pthread_join in -lpthread... yes
checking for librt... checking for clock_gettime in -lrt... yes
checking for architecture... x86
checking wordexp.h usability... yes
checking wordexp.h presence... yes
checking for wordexp.h... yes
checking for resmgr support... no
checking for aload* support... yes
checking for ALSA device file directory... /dev/snd/
checking for aload* device file directory... /dev/
./configure: line 21630: python-config: command not found
./configure: line 21638: python-config: command not found
Unable to determine python libraries! Probably python-config is not
available on this system. Please, use --with-pythonlibs and
--with-pythonincludes options. Python components are disabled in this build.
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/pictures/Makefile
config.status: creating doc/doxygen.cfg
config.status: creating include/Makefile
config.status: creating include/sound/Makefile
config.status: creating src/Versions
config.status: creating src/Makefile
config.status: creating src/control/Makefile
config.status: creating src/mixer/Makefile
config.status: creating src/pcm/Makefile
config.status: creating src/pcm/scopes/Makefile
config.status: creating src/rawmidi/Makefile
config.status: creating src/timer/Makefile
config.status: creating src/hwdep/Makefile
config.status: creating src/seq/Makefile
config.status: creating src/compat/Makefile
config.status: creating src/alisp/Makefile
config.status: creating src/conf/Makefile
config.status: creating src/conf/cards/Makefile
config.status: creating src/conf/pcm/Makefile
config.status: creating modules/Makefile
config.status: creating modules/mixer/Makefile
config.status: creating modules/mixer/simple/Makefile
config.status: creating alsalisp/Makefile
config.status: creating aserver/Makefile
config.status: creating test/Makefile
config.status: creating utils/Makefile
config.status: creating utils/alsa-lib.spec
config.status: creating utils/alsa.pc
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: executing depfiles commands
Creating asoundlib.h...


页首
 用户资料  
 
5 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-26 23:31 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
你这根本就看不出来哪儿编译错误了,还是configure阶段么,你把依赖装全 sudo apt-get build-dep alsa-base

badboych22 写道:
我编译的时候出错了,请高手看一下,谢谢了~
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
./configure: line 19925: CC_NOUNDEFINED: command not found
checking for ANSI C header files... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for hsearch_r... yes
checking for library version... major 1 minor 0 subminor 19 extrastr extraver 1000000
checking for versioned symbols... yes
checking for symbolic-functions... no
checking for custom symbol prefixes...
checking for debug... yes
checking for debug assert... no
checking for tmpdir... /tmp
checking for softfloat... no
checking for libdl... checking for dlsym in -ldl... yes
checking for pthread... checking for pthread_join in -lpthread... yes
checking for librt... checking for clock_gettime in -lrt... yes
checking for architecture... x86
checking wordexp.h usability... yes
checking wordexp.h presence... yes
checking for wordexp.h... yes
checking for resmgr support... no
checking for aload* support... yes
checking for ALSA device file directory... /dev/snd/
checking for aload* device file directory... /dev/
./configure: line 21630: python-config: command not found
./configure: line 21638: python-config: command not found
Unable to determine python libraries! Probably python-config is not
available on this system. Please, use --with-pythonlibs and
--with-pythonincludes options. Python components are disabled in this build.
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/pictures/Makefile
config.status: creating doc/doxygen.cfg
config.status: creating include/Makefile
config.status: creating include/sound/Makefile
config.status: creating src/Versions
config.status: creating src/Makefile
config.status: creating src/control/Makefile
config.status: creating src/mixer/Makefile
config.status: creating src/pcm/Makefile
config.status: creating src/pcm/scopes/Makefile
config.status: creating src/rawmidi/Makefile
config.status: creating src/timer/Makefile
config.status: creating src/hwdep/Makefile
config.status: creating src/seq/Makefile
config.status: creating src/compat/Makefile
config.status: creating src/alisp/Makefile
config.status: creating src/conf/Makefile
config.status: creating src/conf/cards/Makefile
config.status: creating src/conf/pcm/Makefile
config.status: creating modules/Makefile
config.status: creating modules/mixer/Makefile
config.status: creating modules/mixer/simple/Makefile
config.status: creating alsalisp/Makefile
config.status: creating aserver/Makefile
config.status: creating test/Makefile
config.status: creating utils/Makefile
config.status: creating utils/alsa-lib.spec
config.status: creating utils/alsa.pc
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: executing depfiles commands
Creating asoundlib.h...


页首
 用户资料  
 
6 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 0:02 
头像

注册: 2007-09-11 15:15
帖子: 200
送出感谢: 0 次
接收感谢: 0 次
谢谢,安装成功了,但那声音还是那很尖的~~不知道怎么回事了~~ :em06


页首
 用户资料  
 
7 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 0:03 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
chin242 写道:
顶。我也是用Y430,alsa主页下载不了。能否麻烦楼主发这3个文件到我的邮箱?谢谢(120075000@qq.com)

已经发过去了


页首
 用户资料  
 
8 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 6:38 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
badboych22 写道:
谢谢,安装成功了,但那声音还是那很尖的~~不知道怎么回事了~~ :em06


不知道是什么意思,我这边没有这个问题啊,一切正常中。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 13:21 

注册: 2008-02-23 13:48
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
zsl1005 写道:
chin242 写道:
顶。我也是用Y430,alsa主页下载不了。能否麻烦楼主发这3个文件到我的邮箱?谢谢(120075000@qq.com)

已经发过去了

谢谢,安装成功~感谢LZ


页首
 用户资料  
 
10 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 14:34 
头像

注册: 2007-09-11 15:15
帖子: 200
送出感谢: 0 次
接收感谢: 0 次
想问一下,你们就是按楼主说的方面安的吗?在编译第二个和第三个有没有提示编译成功的?
我把这三个按顺序安完后,alsactl -v 查看的是最新版,但音质还是很差,低音也不工作。
请问楼主安完后还要什么设置吗?我的是Y530-PEI
谢谢了 :em01


页首
 用户资料  
 
11 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 16:15 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
badboych22 写道:
想问一下,你们就是按楼主说的方面安的吗?在编译第二个和第三个有没有提示编译成功的?
我把这三个按顺序安完后,alsactl -v 查看的是最新版,但音质还是很差,低音也不工作。
请问楼主安完后还要什么设置吗?我的是Y530-PEI
谢谢了 :em01


我倒,这是430用的,不适530,不能通用的。


页首
 用户资料  
 
12 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 16:33 
头像

注册: 2007-09-11 15:15
帖子: 200
送出感谢: 0 次
接收感谢: 0 次
你那个文件我没有用,就只用alsa最新版的安了,低音也是不好用,
而且普通的的喇叭也是很尖的,想问这有什么方法能解决的吗?谢谢大家! :em06


页首
 用户资料  
 
13 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-27 18:34 

注册: 2007-10-23 13:17
帖子: 75
送出感谢: 0 次
接收感谢: 0 次
badboych22 写道:
你那个文件我没有用,就只用alsa最新版的安了,低音也是不好用,
而且普通的的喇叭也是很尖的,想问这有什么方法能解决的吗?谢谢大家! :em06


这个就不清楚了,好像用的530也是conexant,这个东西用的不是很多。alsa装好之后应该是不用设置的。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-04-30 23:23 
头像

注册: 2008-10-27 22:28
帖子: 1151
地址: 暮色酒馆
送出感谢: 0 次
接收感谢: 0 次
谢谢,先标记下 :em11


_________________
优猫饼


页首
 用户资料  
 
15 楼 
 文章标题 : Re: ideapad y430的耳机插入后低音炮仍然响的问题解决啦
帖子发表于 : 2009-05-26 13:16 

注册: 2009-05-25 10:10
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
lz真强
崇拜一个
问题一解决 谢谢


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 61 篇帖子 ]  前往页数 1, 2, 3, 4, 5  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译