2008.4 추가:

OSS(Open Sound System - 이하 OSS) 4.0 Build 1013버전부터 x-fi(creative Sound Blaster X-FI - 이하 x-fi)

지원하기 시작했습니다.자세한것은 아래 코멘트에서 보실수 있습니다.creative에서 제공하는 베타드라이버를

직접설치하는것 보다 oss에서 제공하는 드라이버를 사용하시길 권합니다. 무리한 삽질(?)은 피로의 원인입니다 :)



creative에서 거의 1년만에 X-FI 리눅스용 드라이버를 내 놓았는데 베타인것은 그렇다 쳐도
x86_64용을 내놓았더군요.  오랜만에 ubuntu 리눅스를 데스크탑용으로 사용해 보려다
64bit 리눅스도 사용해보게 됐군요! 개인적으로 pc사용중 아무소리도 안나는것을 끔찍히(?)도
싫어하기에 소리없는 os는 싫습니다. emoticon

아래링크는 ubuntu포럼의 글입니다.

http://ubuntuforums.org/showthread.php?t=571656&highlight=xfi
위 링크대로 해서 잘 되는사람도 있고 저의 경우는 커널 컴파일까지 마치고 드라이버인스톨 과정
에서 (make install) 커널 패닉으로 죽어버리더군요. 그런경우는 위 링크된 쓰레드의 후반
20~30번째 글의 커널 패닉 메세지를 참고해서 드라이버를 별도 패치해야 합니다.
smp머신과 문제가 있는것으로 보이는데 관련 패치는 아래 패치내용을 참고하세요. 

 
  1. diff --git a/XFiDrv_Linux_US-1.04/XFiDrv_Linux_US-1.04/ctsound b/XFiDrv_Linux_US-1.04/XFiDrv_Linux_US-1.04/ctsound
  2. index 04519f9..c4bbe8f 100755
  3. --- a/XFiDrv_Linux_US-1.04/XFiDrv_Linux_US-1.04/ctsound
  4. +++ b/XFiDrv_Linux_US-1.04/XFiDrv_Linux_US-1.04/ctsound
  5. @@ -7,6 +7,45 @@
  6.  # chkconfig: 2345 95 5
  7.  # description: Load or unload Creative X-Fi Linux driver.
  8.  
  9. +set -e
  10. +
  11. +# Wolf: allow for cpu handling
  12. +
  13. +# Disable all cpus except cpu0
  14. +# and return their current status
  15. +disable_cpus()
  16. +{
  17. +       set -e
  18. +       state=`cat /sys/devices/system/cpu/cpu[!0]/online`
  19. +       set $state
  20. +       for i in /sys/devices/system/cpu/cpu[!0]/online; do
  21. +               # Don't disable a cold cpu
  22. +               if [ $1 == 1 ]; then
  23. +                       echo 0 >$i
  24. +               fi
  25. +               shift
  26. +       done
  27. +       echo $state
  28. +}
  29. +
  30. +# Enable cpus except cpu0
  31. +# based on the state argument
  32. +enable_cpus()
  33. +{
  34. +       set -e
  35. +       if [ $# -eq 0 ]; then
  36. +               echo 1>&2 "enable_cpus: states expected"
  37. +               return 1
  38. +       fi
  39. +       # TODO: sanity check on state
  40. +       for i in /sys/devices/system/cpu/cpu[!0]/online; do
  41. +               if [ $1 == 1 ]; then
  42. +                       echo $1 >$i
  43. +               fi
  44. +               shift
  45. +       done
  46. +}
  47. +
  48.  if [ -x /sbin/lsmod ]; then
  49.         lsmod=/sbin/lsmod
  50.  else
  51. @@ -100,6 +139,8 @@ load_mods() {
  52.                 chmod 666 /dev/x-fi;
  53.         fi
  54.  
  55. +       # Disable SMP during modprobe
  56. +       state=`disable_cpus`
  57.         if [ -f /etc/creative/creative.state ]; then
  58.                 #echo "Restore Drv Default Mix Val"
  59.                 $modprobe ctalsa && alsactl -f /etc/creative/creative.state restore > /dev/null 2>&1 || :
  60. @@ -108,6 +149,7 @@ load_mods() {
  61.                 #echo "alsactl restore"
  62.                 $modprobe ctalsa && alsactl restore >/dev/null 2>&1 || :
  63.         fi
  64. +       enable_cpus $state
  65.  }
  66.  
  67.  # Unload all modules




저의 경우 위의 패치까지 해서 겨우 성공했습니다. 드라이버를 설치하고 소리를 들어봤는데
가장 기본적인 스테레오 사운드 정도만 들려주더군요.
5.1채널이나 cmss등은 아직 안됩니다 
또한 커널을 새로 컴파일 해야하니 기존의 nvidia, ati의 restricted 드라이버를 사용했다면 X가 뜨는데 지장이 있거나 glx등의 사용에 문제가 있을겁니다.그문제는 envy를 사용해 보세요.
http://albertomilone.com/nvidia_scripts1.html

관련 링크 : http://ubuntuforums.org/showthread.php?t=571656&highlight=xfi
gentoo 리눅스 관련 링크 : http://forums.gentoo.org/viewtopic-t-587921.html

+ Recent posts