XBMC äter min CPU och surroundljud fungerar inte i XBMC

Problem med att spela musik, film osv.
Tarzzan
Inlägg: 13
Blev medlem: 11 jul 2009, 10:00
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

XBMC äter min CPU och surroundljud fungerar inte i XBMC

Inlägg av Tarzzan »

Hej,

I morse fick jag för mig om att uppdatera ubuntu på mitt mediacenter. Eftersom jag inte hade uppdaterat OS:et på två år (körde ubuntu 10.04 innan) tänkte jag att de var lika bra att göra en ny installation.
Jag installera ubuntu 12.04 och installationen flöt på fint.

Men nu så har jag stött på två problem.
Problem 1: ** Detta problem är mer eller mindre löst. Dock behöver jag fortfarande hjälp med problem nr. 2 **
När inga program körs så ligger processorn på 2-10 % (den hoppar lite upp och ner).
När xbmc är igång ligger CPU:n på 90-100 %. Är inte detta lite väl högt?

Jag har en Intel pentium dual core på 3.06 GHz som borde räcka gott och väl, eller?

I går, innan jag installera om, så låg processorn på 0-4 % när inga program kördes och på ca 20 % när jag titta på film.

Om jag öppnar ”system monitor” medan xbmc är igång så ligger xbmc på ca 90 % och compiz på 40 % (90+40>100 men jag antar att de ligger på olika kärnor?). Kan det vara compiz som stör xbmc på något vis?
Kan man stänga av compiz på ett säkert sett?

** UPDATE **
Jag testa att logga in med unity-2d session, då körs inte compiz vad jag kan se men xbmc tar då 100% av CPU:n. Om jag istället loggar in med xbmc session så ligger CPU:n på runt 8 %. Fortfarande högt men betydligt lägre. Så det känns som det är något i det grafiska som stör xbmc.

** UPDATE 2 **
Jag har nu installerat gnome och loggat in med gnome-no-effects. Då kan man starta xbmc och CPU användningen ligger ganska konstant på 10 %. Oavsett om jag startar en film eller inte. Ibland kan den dock skena upp till 100 % av någon anledning men det kan jag nog leva med.
Jag märker att användningen speciellt går upp då jag inte har rört datorn på ett tag. Kan det vara så att xbmc gör lite bakgrunds aktiviteter när datorn ej används?


Problem 2: ** Även detta problem är nu löst, se min lösning längst ner. **
5.1 ljud i xbmc. Jag använder mig av en optisk kabel mellan mitt mediacenter och min receiver.
Jag kan nu spela upp 5.1 ljud genom terminalen genom ”aplay” men i xbmc lyckas jag bara spela upp stereo.
Vidare upptäckte jag en annan sak. Om jag först spelar upp 5.1 ljud med hjälp av ”aplay” kommandot och sedan startar xbmc för att testa olika ”audio output device” och ”passthrough output device” för att sedan stänga av xbmc igen så kan jag inte längre spela upp 5.1 ljud i terminalen (det blir bara massa missljud) utan att först starta om datorn. Vad kan detta bero på?

Som jag förstår det används ”audio output device” när ljudet behöver avkodas och ”passthrough output device” när det inte behövs. Stämmer det? Hur kan jag i sådana fall se om en film behöver avkodas eller inte?

Under ”audio output device” har jag följande alternativ:
Custom: (vad kan jag skriva här?)
HDA NVidia – IEC958 – 3 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – default – 3 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – IEC958 – 2 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – default – 2 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – IEC958 – 1 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – default – 1 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – IEC958 – 0 (ALSA): (varken 2.0 eller 5.1 fungerar)
HDA NVidia – default – 0 (ALSA): (varken 2.0 eller 5.1 fungerar)
IEC958 (ALSA): (varken 2.0 eller 5.1 fungerar)
Defaults (ALSA): (2.0 fungerar men inte 5.1)
Built-in Audio Digital Stereo (IEC958) (PulseAudio): (2.0 fungerar men inte 5.1)
Defaults (PulseAudio): (2.0 fungerar men inte 5.1)

Under ”passthrough output device” har jag följande alternativ:
Custom
HDA NVidia – IEC958 – 3 (ALSA)
HDA NVidia – IEC958 – 2 (ALSA)
HDA NVidia – IEC958 – 1 (ALSA)
HDA NVidia – IEC958 – 0 (ALSA)
Jag har testat alla dessa men har aldrig kunnat spelat upp en fil med 5.1 ljud.

** UPDATE 3 **
Jag har nu suttit och studerat xbmc log och hittat dessa rader:

Kod: Markera allt

ERROR: Initialize - failed to open custom device iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2 (error:Device or resource busy), retry with default iec958
ERROR: Initialize - pcm_open_lconf, alsa error: -16 - Device or resource busy
** UPDATE 4 **
Helt plötsligt fungerar 5.1 ljud i vlc. Så vitt jag vet har jag inte gjort något som kan ha ändrat förutsättningarna för vlc.
Så nu fungerar suroundljud i terminalen och vlc men inte i xbmc där jag vill ha det som mest.

aplay -l:

Kod: Markera allt

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
lspci:

Kod: Markera allt

00:00.0 Host bridge: NVIDIA Corporation MCP79 Host Bridge (rev b1)
00:00.1 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.0 ISA bridge: NVIDIA Corporation MCP79 LPC Bridge (rev b2)
00:03.1 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.2 SMBus: NVIDIA Corporation MCP79 SMBus (rev b1)
00:03.3 RAM memory: NVIDIA Corporation MCP79 Memory Controller (rev b1)
00:03.4 RAM memory: NVIDIA Corporation Device 0a98 (rev b1)
00:03.5 Co-processor: NVIDIA Corporation MCP79 Co-processor (rev b1)
00:04.0 USB controller: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:04.1 USB controller: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:06.0 USB controller: NVIDIA Corporation MCP79 OHCI USB 1.1 Controller (rev b1)
00:06.1 USB controller: NVIDIA Corporation MCP79 EHCI USB 2.0 Controller (rev b1)
00:08.0 Audio device: NVIDIA Corporation MCP79 High Definition Audio (rev b1)
00:09.0 PCI bridge: NVIDIA Corporation MCP79 PCI Bridge (rev b1)
00:0b.0 IDE interface: NVIDIA Corporation MCP79 SATA Controller (rev b1)
00:0c.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:10.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:15.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:16.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:17.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
00:18.0 PCI bridge: NVIDIA Corporation MCP79 PCI Express Bridge (rev b1)
03:00.0 VGA compatible controller: NVIDIA Corporation C79 [GeForce 9300 / nForce 730i] (rev b1)
04:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. Device 3401
04:00.1 Mass storage controller: VIA Technologies, Inc. Device 401a
04:00.2 SD Host controller: VIA Technologies, Inc. Device 401b
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
Alla tips är välkomna. Tack på förhand.

** LÖST **
För er med liknande problem kan jag förklara vad jag gjorde.

Problem 1.
Jag tog bort compiz genom att installera gnome och logga in med "Gnome Classic (No effects)", exempelvis genom:

Kod: Markera allt

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell
Problem 2.
Jag vet inte exakt vad som löste mitt problem med jag gjorde detta:

Kod: Markera allt

sudo apt-get remove --purge alsa-base
sudo apt-get remove --purge pulseaudio
sudo apt-get install alsa-base
sudo apt-get install pulseaudio
sudo apt-get install gnome-alsamixer
sudo apt-get install indicator-sound
sudo alsa force-reload
sudo reboot now
Nu kunde jag spela surroundljud med "aplay". Ladda exempelvis ner låtar från denna sida http://sverigesradio.se/sida/default.as ... ramid=2445 och kör:

Kod: Markera allt

aplay Norrland.wav
Sedan gjorde jag följande:

Kod: Markera allt

sudo apt-get remove --purge libasound2-plugins:i386
sudo nano /etc/asound.conf
Jag klistra in följande kod:

Kod: Markera allt

pcm.!default {
  type plug
  slave {
    pcm "hw:0,1" # Card 0 device 1  
    rate 48000
  }
}
Du kan behöva ändra raden "pcm "hw:0,1"". Du kan se vilka nummer du skall använda genom utdatan från kommandot "aplay -l".

I XBMC så skrev jag följande:
Audio output device: Defaults (ALSA)
Passthrough output device: custom
Custom passtrhough device: hw:0,1 //Dessa nummer fås åter igen från aplay -l och bör vara samma som i asound.conf.

Så där, nu fungerade det för mig.

Återgå till "Ljud och video"