LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 青铜镜

LFS Tips

[复制链接]
发表于 2007-10-16 19:22:29 | 显示全部楼层
够了,请勿将自己的快乐建筑在别人的痛苦之上,不要再拿别人的 ID 来开玩笑了!
回复 支持 反对

使用道具 举报

发表于 2007-10-25 21:56:35 | 显示全部楼层
镜子又发飙了……
回复 支持 反对

使用道具 举报

发表于 2007-10-26 14:36:11 | 显示全部楼层
看不懂嘛意思呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-12 11:01:37 | 显示全部楼层
Tips 01

推荐使用文泉驿字体,
请到文泉驿官方网站去下载!
网址:
http://wenq.org/

如果你一时没有文泉驿字体,
也可以使用windows里面的Simsun.ttc字体!
(感觉很不厚道!)

系统语言:
export LANG=zh_CN.UTF-8
回复 支持 反对

使用道具 举报

发表于 2007-11-14 16:33:27 | 显示全部楼层
道歉,MM,镜子@@
回复 支持 反对

使用道具 举报

发表于 2007-11-17 23:14:02 | 显示全部楼层
Post by 青铜镜;1764793
Tips04

[color="Red"]故障现象:
    LFS/BLFS系统收工后却没有声音,不能听音乐、看大片。

[color="red"]分析问题:
    我们在安装Windows系统完成以后,往往需要安装一些硬件驱动,比如我们现在所说的声卡驱动。在Windows系统安装声卡驱动是件比较简单的事情。只要找到声卡驱动程序,点击SETUP.EXE文件,一路点击“下一步”便可顺利完成。如果不出什么差错的话,你的机器便可以听到美妙的音乐了。可是,在Linux里面安装声卡驱动却并不是太简单。当然啦,只要你折腾过以后,了解、掌握了其中的方法,你一定也不会觉得太难D。[color="Red"]就当是第一次结婚,没有经验啦!
    根据青铜镜的经验,在LFS系统里面要让声卡发出美妙的声音,并不是件太难的事。道理是一样的,需要给声卡加装驱动和支持的库文件,但做法不同,就象是黑土大叔所说的炖法和炒法的区别一样。在Windows系统里面装驱动是很简单的:硬件驱动和运行在驱动上为应用程序提供支持的库文件,一下子全给你装上就是了。在LFS里面装声卡驱动,得分两步走:
    1、编译内核,从内核中加载声卡驱动:在做LFS快收工时,需要给系统编译内核。这时,你得了解你的主板芯片组的南桥芯片和声卡芯片是什么型号的,在编译内核时,把相关的驱动选项编译到内核中。这一步,也就是给声卡硬件加载了底层驱动。
    2、安装ALSA-Library包,给声卡装上应用程序所需要的库文件:有了底层的驱动,还得有支持的库文件才能让运行在系统上面的应用程序正确调用硬件来完成我们的任务。我们在后来安装的ALSA-Library就是给声卡硬件装上库文件。这样,我们在应用程序才能够通过API去正确驱动硬件,让声卡发出美妙的声音。

[color="red"]解决方法:
    [color="red"]理论:
1、了解自己的硬件设备:主板南桥芯片和声卡芯片
2、在编译内核时找到相对应的硬件驱动并编译进内核中
3、安装ALSA Library包
4、打开声卡的音量试听声音
    实践:
1、青铜镜的硬件设备是:主板南桥芯片是VT8237;声卡芯片是CMI9761

2、在LFS快收工时,编译内核时注意把ALSA的相关选项选上:
Sound  --->  声卡驱动
└─→[color="RED"]<*> Sound card support[COLOR]
Advanced Linux Sound Architecture
<*>  Advanced Linux Sound Architecture
<*>  Sequencer support
<*>  Sequencer dummy client
<*>  OSS Mixer API
<*>  OSS PCM (digital audio) API
[* ]  OSS Sequencer API
<*>  RTC Timer support
[  ]  Verbose printk
[  ]  Debug
Generic devices  --->
< > Dummy (/dev/null) soundcard  这个选项千万不要选为*,否则,任你怎么折腾都是白忙!
< > Virtual MIDI soundcard
< > MOTU MidiTimePiece AV multiport MIDI
< >  UART16550 serial MIDI driver
<M>  Generic MPU-401 UART driver
PCI devices  ---> 下面是声卡驱动,仔细看看里面的驱动,有没有自己用的声卡。选上与自己声卡型号相配的驱动,其他的都可以去掉。
< >  ALi M5451 PCI Audio Controller
< >  ATI IXP AC97 Controller
< >  ATI IXP Modem
< >  Aureal Advantage
< >  Aureal Vortex
< >  Aureal Vortex 2
< >  Bt87x Audio Capture
< >  Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x
< >  Cirrus Logic (Sound Fusion) CS4281
< >  Emu10k1 (SB Live!, Audigy, E-mu APS)
< >  Emu10k1X (Dell OEM Version)
< >  SB Audigy LS / Live 24bit
< >  Korg 1212 IO
< >  Digigram miXart
< >  NeoMagic NM256AV/ZX
< >  RME Digi32, 32/8, 32 PRO
< >  RME Digi96, 96/8, 96/8 PRO
< >  RME Digi9652 (Hammerfall)
< >  RME Hammerfall DSP Audio
< >  Trident 4D-Wave DX/NX; SiS 7018
< >  Yamaha YMF724/740/744/754
< >  Avance Logic ALS4000
[color="red"]<*>  C-Media 8738, 8338  青铜镜所选与声卡芯片相近似的选项
< >  (Creative) Ensoniq AudioPCI 1370
< >  (Creative) Ensoniq AudioPCI 1371/1373
< >  ESS ES1938/1946/1969 (Solo-1)
< >  ESS ES1968/1978 (Maestro-1/2/2E)
< >  ESS Allegro/Maestro3
< >  ForteMedia FM801
< >  ICEnsemble ICE1712 (Envy24)
< >  ICE/VT1724/1720 (Envy24HT/PT)
< >  Intel/SiS/nVidia/AMD/ALi AC97 Controller
< >  S3 SonicVibes
[color="red"]<*>  VIA 82C686A/B, 8233/8235 AC97 Controller 青铜镜所选与南桥芯片相近似的选项
< >  VIA 82C686A/B, 8233 based Modems
< >  Digigram VX222
< >  Intel HD Audio
USB devices  --->
< >  USB Audio/MIDI driver
< >  Tascam US-122, US-224 and US-428 USB driver
Open Sound System  ---> 如果你选上了前面的ALSA,这里的选项会自动全部去掉。当然,你也可将它做为模块加载。不过,相比之下,Open Sound System比不上ALSA优秀。
< >  Open Sound System (DEPRECATED)
< >  BT878 audio dma (NEW)
< >  C-Media PCI (CMI8338/8738) (NEW)
< >  Creative SBLive! (EMU10K1) (NEW)
< >  Crystal SoundFusion (CS4280/461x) (NEW)
< >  Crystal Sound CS4281 (NEW)
< >  Ensoniq AudioPCI (ES1370) (NEW)
< >  Creative Ensoniq AudioPCI 97 (ES1371) (NEW)
< >  ESS Technology Solo1 (NEW)
< >  ESS Maestro, Maestro2, Maestro2E driver (NEW)
< >  Intel ICH (i8xx) audio support (NEW)
< >  S3 SonicVibes (NEW)
< >  Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core (NEW)
< >  Support for Turtle Beach MultiSound Classic, Tahiti, Monterey (NEW)
< >  Support for Turtle Beach MultiSound Pinnacle, Fiji (NEW)
< >  VIA 82C686 Audio Codec (NEW)
< >  OSS sound modules (NEW)
< >  TV card (bt848) mixer support (NEW)
< >  ALi5455 audio support (NEW)
< >  ForteMedia FM801 driver (NEW)
< >  RME Hammerfall (RME96XX) support (NEW)
< >  AD1980 front/back switch plugin (NEW)
编译内核的方法,可以到LFS部落中的群共享里面,看青铜镜的《灌水大贴》
或是到下面的链接去看看:
http://www.linuxfans.org/bbs/thread-136364-1-1.html

3、安装ALSA
参见青铜镜的水贴《大话LFS/BLFS》中关于安装ALSA的相关部分。
http://www.linuxsir.cn/bbs/showthread.php?t=303865&page=2
3.1
alsa-lib-1.0.13
3.2
alsa-plugins-1.0.13
3.3
alsa-utils-1.0.13
3.4
alsa-tools-1.0.13
3.5
alsa-oss-1.0.12

4、打开声卡的音量开关测试声卡
     在console里面输入下面的命令:
     alsamixer

青铜镜按:
青铜镜的硬件设备是:主板南桥芯片是VT8237;声卡芯片是CMI9761。但是,在内核声卡选项中没有找到相对应的选项。只好选上VIA 82C686A/B, 8233/8235 AC97 Controller和C-Media 8738,8338这两个选项。道理很简单,没有鸡,拿鸡蛋顶替。其实,如果不选上,那么安装ALSA library是没有用处的,声卡也是不能正常驱动起来的。青铜镜试验过,用1600K的打印机驱动程序,可以正常驱动1600K、1600K2、1600K3、1600K3+、1600K4、1600K3H等型号的机器,甚至是其他不同品牌的针式打印机。受这个事例启迪,青铜镜在内核里面没有找到VT8237和CMI9761的相关选项,但是有相近的选项,于是就在内核选项里面选上了VIA 82C686A/B, 8233/8235 AC97 Controller和C-Media 8738,ALSA library装好后,青铜镜的声卡就可以听到美妙动人的声音了。
总结经验:如果你在内核中没有找到与你南桥芯片和声卡相匹配的内核选项,可以参照上面的做法,看看有没有近似型号的选项,选上它试试!




[color="Red"]哈哈哈,LFS也能看A片,笑死了......


青铜镜大哥,看了你的文章,真是太有帮助了.可是有一点我不明白,您在文章中提出安装ALSA需要配置内核,将 Sound card support选项经内核方式编译.而我发现另一篇文章http://www.linuxsir.cn/forum.php ... 到的要将Sound card suppor选项以模块方式编译.虽然这两种方法我都没有成功过.可是我想知道,这两种都是对的吗?
声音这一块真是让我头痛啊!!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 17:49:05 | 显示全部楼层
Post by cgood;1782325
道歉,MM,镜子@@


不应该拿cgood开涮,
青铜镜向cgood表示深深的歉意!
cgood网友,
希望您心宽天地阔!
快乐常在心里!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 18:06:44 | 显示全部楼层
Post by zhfg;1783912
青铜镜大哥,看了你的文章,真是太有帮助了.可是有一点我不明白,您在文章中提出安装ALSA需要配置内核,将 Sound card support选项经内核方式编译.而我发现另一篇文章http://www.linuxsir.cn/forum.php ... 到的要将Sound card suppor选项以模块方式编译.虽然这两种方法我都没有成功过.可是我想知道,这两种都是对的吗?
声音这一块真是让我头痛啊!!!!!



作为模块的方式编译也是可以的,
这样内核会小一点,
不过效率会有所降低。
而将声卡编译进内核,
内核会变大一点,
不过解码效率会高一些!
两种方法都是对的。
就象是吃饭,
你用左手拿筷子也行,
用右手拿也可以,
也就是不同方法而已。

我用MPlayer做过多次试验:
我播放高高清视频文件,
使用两种方式:
1、将ALSA编译入内核

  • 2、将ALSA编译成模块[M]
    编译进入内核时,
    播放高清视频文件可以听到流畅悦耳的声音,
    而且可以从头到尾正常完成播放,
    而编译成模块时,播放一会儿MPlayer就自动退出了。

    我也试过OSS驱动,
    总的来说,
    还是ALSA比较优秀!
    当然,你要是播放一些低码率的音、视频文件,
    那是很难区分出那个高那个低的。
    播放高清文件时才能明显地分出高低!

    友情建议:
    将ALSA编译进内核吧!
  • 回复 支持 反对

    使用道具 举报

    发表于 2007-11-19 22:17:12 | 显示全部楼层
    请教镜哥哥 中文 man 如何实现?
    编码 zh_CN.UTF-8 。
    回复 支持 反对

    使用道具 举报

    发表于 2007-11-20 08:03:23 | 显示全部楼层
    请教镜子大哥:

    $localedef -f GB2312 -i zh_CN zh_CN.GB2313
    Can't create temporary file: No such file or directory

    这是什么错误?如何解决???

    还有一个问题:我用Mplayer播放视频的时候,不能用ALT+Fx来切换控制台.有什么办法吗?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表