ZOTAC GF9300-DE Mini ITX WiFi and sound w/ HDMI
#1
For the love of $DIETY, this is driving me crazy. I bought the Zotac GF9300 mobo and installed the minimal Ubuntu install and XBMC along with Windows 7 on it. I got XBMC up and running just fine, but I was using the VGA connection along with the analog audio out for testing purposes.

Fast forward a couple of days. I moved the connection to my television over to HDMI and the video worked, but I couldn't get any sound. After much searching and reading, I finally go sound over HDMI.....almost. It works for most of my videos, but doesn't work for flash at all. It works for my music files, both MP3 and FLAC, but if I change songs in the middle of a track, I lose sound until I change tracks a second time....annoying. I also have no sound within the GUI at all.

I could live with the setup, as most of the time, I'll be watching video from teh network, but I do watch something in flash occasionally, so, for now, that won't work. I could also move back to VGA+Analog Audio, but I never wrote down what things were set to before making the change to HDMI, so it'd probably be easier to just reinstall.

Is there anyone on the boards with the same motherboard that has audio over HDMI working fully i.e. with GUI sounds and all filetypes supported? If so, could you please share settings and any changes you had to make to get things working, like changes to asound.conf or something similar? I would greatly appreciate it, and most likely send a beer or two your way.
Reply
#2
Okay, I just discovered something. I'm getting the missing audio outside of XBMC. I booted the machine and immediately went into a terminal session to look at some stuff. I then heard the audio indicator for the Wiimote connection alert popup. To further test, I started a flash video and went back to the terminal and heard the audio for it there, but got nothing in XBMC.

So, it seems as if alsa is working correctly, there's just something in XBMC that's blocking the audio...weird.
Reply
#3
Thought I'd supply some more information since it was late last night and I was getting a little frustrated.

Build: xbmc pre-9.10 r21650

Audio Settings:
Code:
Output: Digital
AC3: Off
DTS: Off
Audio Output: hdmi
Passthrough: plug: default
Downmix: On
Output from aplay -l
Code:
xbmc@HTPC:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC662 Analog [ALC662 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC662 Digital [ALC662 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Output from aplay -L
Code:
xbmc@HTPC:~$ aplay -L
default:CARD=NVidia
    HDA NVidia, ALC662 Analog
    Default Audio Device
front:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    Front speakers
surround40:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
    HDA NVidia, ALC662 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, NVIDIA HDMI
    HDMI Audio Output
null
    Discard all samples (playback) or generate zero samples (capture)
My asound.conf
Code:
# Linux has channel order
# FL, FR, SL, SR, C, LFE
# so we remap all channelorders to this

# Windows - FL, FR, C, LFE, BL, BR, (FLC, FRC, BC, SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR)
pcm.xbmc_win51 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 6
  }
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.5= 1
    4.2= 1
    5.3= 1
  }
}

pcm.xbmc_win50 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 5
  }
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.2= 1
    4.3= 1
  }
}

# FL, C, FR, SL, SR, LFE
pcm.xbmc_ogg51 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 6
  }
  ttable {
    0.0= 1
    1.4= 1
    2.1= 1
    3.2= 1
    4.3= 1
    5.5= 1
  }
}

pcm.xbmc_ogg50 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 5
  }
  ttable {
    0.0= 1
    1.4= 1
    2.1= 1
    3.2= 1
    4.3= 1
  }
}

# C, FL, FR, SL, SR, LFE
pcm.xbmc_aac51 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 6
  }
  ttable {
    0.4= 1
    1.0= 1
    2.1= 1
    3.2= 1
    4.3= 1
    5.5= 1
  }
}

pcm.xbmc_aac50 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type route
  slave {
    pcm $SLAVE
    channels 6
  }
  ttable {
    0.4= 1
    1.0= 1
    2.1= 1
    3.2= 1
    4.3= 1
  }
}

# this could potentially be used to encode multichannels
# to ac3 for passthrough out an spdif
pcm.xbmc_a52encode {
  type a52
}

# downmixing to 2 channels
pcm.xbmc_51to2 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type plug
  slave.pcm $SLAVE
  slave.channels 2
  route_policy duplicate
  ttable.0.0 1          # front left speaker
  ttable.1.1 1          # front right speaker
  ttable.2.0 0.7        # rear left speaker
  ttable.3.1 0.7        # rear right speaker
  ttable.4.0 0.7        # center to left mapping
  ttable.4.1 0.7        # center to right mapping
  ttable.5.0 0.5        # LFE (base) to left mapping
  ttable.5.1 0.5        # LFE to right mapping
}

# downmixing to 2 channels
pcm.xbmc_50to2 {
  @args.0 SLAVE
  @args.SLAVE {
    type string
    default "default"
  }
  type plug
  slave.pcm $SLAVE
  slave.channels 2
  route_policy duplicate
  ttable.0.0 1          # front left speaker
  ttable.1.1 1          # front right speaker
  ttable.2.0 0.7        # rear left speaker
  ttable.3.1 0.7        # rear right speaker
  ttable.4.0 0.7        # center to left mapping
  ttable.4.1 0.7        # center to right mapping
}
I'd really like to get this working correctly. From other posts, it looks like other people have gotten very similar hardware working correctly, I'm just not sure what I'm doing wrong. I can post my xbmc.log on pastebin as well, if anyone thinks it will help.
Reply
#4
I believe a similar situation is encountered by others with HDMI out on some motherboards. The issue regard the no sound in the GUI is not that there is no sound play, but that the sound playing isn't long enough to turn on the digital decoding on the receiver. Usually there is an indicator on the receiver when a signal is being received, and when no sound is playing there is no signal and the GUI sounds aren't long enough to trigger the receiver to begin decoding.

About switching tracks of mp3s, that may have something to do with the nature of the alsa sound device and that only one instance can have access to the device at any given time. If you "crossfading" is enabled then that is likely culprit because the second song wouldn't be able to get access to the sound device, however, it would still play, then the next song would work fine.

Try using a more simplified alsa config. The one you have there seems a bit over complicated, and you probably don't need many of the devices that are listed there. Backup that config and run asoundconf to set the default card. Then in XBMC, set it to use the digital output device (iec958, or hdmi).

If you want to get crafty, you can set the "default" device to iec958, or hdmi in the alsa config files which will likely address your flash issue which I will assume is in a web browser.
Reply
#5
First, thank you for the reply.

Second, I do have crossfading enabled, so, as you stated, that's probably the cause. I'll disable it and test. It's a nice feature, but I can live without it.

The alsa config is the one that was automatically generated. Thanks for the asoundconf command, I'll back up my existing config and give it a shot.

The gui sounds were a problem. I don't have my HTPC connected to a receiver, it's straight to my television. As I stated the weird part was that the sounds were playing just not through the gui. When I went to another tty session quickly, I heard the audio prompt for a popup that I definitely was not hearing while the gui was on screen. Although it seems I may have fixed that problem by putting the following in a .asoudrc file in the xbmc home directory:
Code:
pcm.!default {
     type plug
        slave {
              pcm "hdmi"
        }
}

I found the preceding bit from a post where the OP specifically stated it fixed the gui sound issue.

The flash issue is still ongoing, and it's not in a browser. I have some saved .flv files that have no audio and when I start them, I get the "Failed to Initialize Audio Device" popup. I get the same thing if I try the Youtube video plugin. The video plays fine, but no audio. This part of the problem I can deal with, as I don't have many .flv files, and I installed the Youtube plugin on a whim.

I'll definitely try generating a new asound.conf file. Now that I know how to create a new one, I'll back up what I have and try several options to see if they make a difference.
Reply
#6
I saved this information from another thread earlier. If you havnt tested it yet maybe it could be an idea
Quote:the default device can be changed to plug:hdmi [from hdmi] to make ALSA use
software resampling of PCM data before sending it to the output which is usefule when playing stuff that are not supported by HW.
I think flash was mentioned as an example.
Reply
#7
vikjon0 Wrote:I think flash was mentioned as an example.

Correct: using ALSA's plug interface unsupported samplerates get resampled - f.e. flash / the youtube plugin.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#8
I'll give it a shot tonight and put "plug:hdmi" in for the default device to see if it makes a difference. Although I'll only try one thing at a time so I don't end up making things worse or fixing one thing while breaking another. Smile
Reply
#9
Everything seems to be working! I made the plug:hdmi change, and got audio in my flash files and on the Youtube video plugin. I'd like to say thanks to everyone who offered suggestions. I've very happy now.
Reply
#10
pumkinut Wrote:Fast forward a couple of days. I moved the connection to my television over to HDMI and the video worked, but I couldn't get any sound. After much searching and reading, I finally go sound over HDMI.....almost. It works for most of my videos, but doesn't work for flash at all. It works for my music files, both MP3 and FLAC, but if I change songs in the middle of a track, I lose sound until I change tracks a second time....annoying. I also have no sound within the GUI at all.

Off the topic, does the board play 1080p video? i'm planning to get one and i just wanna be sure if it can.

thanks!!
Reply
#11
It'll play certain codecs at 1080p just fine, i.e. VDPAU has to support GPU offloading for the decode, if you're using a lower powered CPU (I've got an e5200 dual core in mine). It will probably do a lot more at 1080p if you put a beefier processor in, but then you have heat as a concern depending upon your enclosure. It's not like the Atom boxes that have a fixed CPU onboard. This board is a standard socket, so the processor can be changed to suit your needs.
Reply

Logout Mark Read Team Forum Stats Members Help
ZOTAC GF9300-DE Mini ITX WiFi and sound w/ HDMI0