Kodi Community Forum

Full Version: Installing XBMCbuntu on Asrock ION 3D 152D(B)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi, just wanted to share some things I encountered installing XBMCbuntu on my Asrock ION 3D 152D BTW this will also be usefull for the 152B only difference is a bluerayplayer in the 152B.
Note: This is a work in progress and I have very little free time to work on it, but I thought I just share what I got this far.

My setup:
TV: Samsung 55ES8000
Audio: Samsung soundbar HW-C450 (2.1)
PC: Asrock ION 3D 152D
XBMCbuntu build: frodo beta 1

Connection diagram:

Asrock (hdmi)-> Samsung soundbar (hdmi) -> TV (optical) -> Samsung soundbar.

My goal:
Getting XBMC working (obvious).
Connect a microphone to my asrock for karaoke.
Start chromium browser from XBMC to play flash videos on some sites like youtube.

BTW when installing like said before on some forum threads, I used 120 dpi option in the xbmcbuntu install menu. So I got some readable text on my TV.

Problems:

1) Playing flash videos on youtube gave me blue faces.
See https://bugs.launchpad.net/ubuntu/+sourc...bug/967091
For me worked the following. Creating the file /etc/adobe/mms.cfg and adding the following in it.

Code:
EnableLinuxHWVideoDecode=1
OverrideGPUValidation=true

2) Small fonts on desktop when logged into xbmcbuntu.
I added Option "DPI" "120 x 120" to /etc/X11/xorg.conf

Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 295.33  (buildd@zirconium)  Fri Mar 30 13:38:49 UTC 2012

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 295.40  ([email protected])  Thu Apr  5 22:33:07 PDT 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "SAMSUNG"
    HorizSync       15.0 - 81.0
    VertRefresh     24.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "ION"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "HWCursor" "Off"
    Option         "NoLogo" "True"
    Option         "DynamicTwinView" "False"
    Option         "FlatPanelProperties" "Scaling = Native"
    [color=#FF0000]Option         "DPI" "120 x 120"[/color]
    Option         "TwinView" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

3) Getting sound to work.
Well that was easy, because it worked out of the box. But...
I needed a way to get my microphone input to work also. I changed my ~/.asoundrc to accomplish it. BTW first make a backup of your current ~/.asoundrc before you change it.

Note: I need audio over hdmi and I only need 2 channels, because the soundbar is 2.1. I don't use my other audio outputs. So if your setup is different do change the below .asoundrc accordingly.

Code:
# ~/.asoundrc

# soundcard and device to use
pcm.snd_card {
    type hw
    card 1
    device 3
    channels 2
}

# dmix plugin configuration - playback mixer
pcm.pmix {
    type dmix
    ipc_key 1024 # unique IPC key
    
    slave {
        pcm "snd_card"
        period_time 0 # reset to the default value
        period_size 1024 # in bytes
        # buffer_size or periods can be commented
        # they both represent the same thing in different values
        buffer_size 8192 # in bytes
        # periods 128 # INT
        rate 48000
    }
    bindings {
        0 0
        1 1
    }
}

# redirect default PCM device into dmix (pmix) plugin
pcm.!default {
    type plug # auto rate conversion plugin
    slave.pcm "pmix"
}

# legacy OSS /dev/dsp support, also redirects intp dmix (pmix) plugin
pcm.dsp0 {
    type plug
    slave.pcm "pmix"
}
# redirect OSS control into used soundcard
ctl.dsp0 {
    type plug
    slave.pcm "snd_card"
}
# redirect OSS mixer into used soundcard
ctl.mixer0 {
    type plug
    slave.pcm "snd_card"
}

In xbmc audiosettings I choose:
Audio output: HDMI
Audio output device: HDA NVidia(pmix), HDMI 0
Passthrough ouput device: ALSA:hdmi:CARD=NVidia,DEV=0

You see that I point xbmc to a dmix, this is needed so I can mix in my microphone input.

Enabling the microphone:
Currently I am doing the following on a ssh session to loop the mic input to my dmix.
Code:
alsaloop -C hw:0,0 -P plug:pmix
BTW be sure you unmuted your mic input in alsamixer.

What I want is to include this setting in the addon script.xbmc.audio.mixer. Also this addon now overwrites the ~/.asoundrc which in my case messed up my sound.

Where can I find the official git for this addon script.xbmc.audio.mixer, or isn't there one?

maurice118 (aka divx118)






Im interested in the MIC part (I found this today http://support.emtrion.de/doku.php?id=linux:linux_audio, but I dont have that Asrock machine... Posting this so I dont loose the thread.

Good post anyway, though xbmcbuntu has rubbish drivers for that machine imo surprised it would work.

uNi
(2012-11-23, 00:11)uNiversal Wrote: [ -> ]Im interested in the MIC part
Mic should also work on other devices like the way I did. You just need to see which device is your input and which is your output.
I have two soundcards, one nvidia (hdmi) and intel.
Because I capture on one card and output on the other I need the loop. If you only have one card then alsamixer should by default be able to mix the input of the mic and the output of your soundcard. So no need for the dmix then.
BTW I don't use pulseaudio or anything else. It is all pure alsa.

maurice118 (aka divx118)



Ah no, I haven't found a way in to make my card do that, Its a NVidia as well though I dont have two. Even though I have the mic plugged into the input jack and unmutted in alsamixer the sound still doesn't come out the speakers.
Obviously your solution wont work because I dont need dmix?

It was indicated to me that I need to put my MIC in passtrhough mode, though I have no idea how to do that. Its not for lack of research either. If you have some idea let me know.

Im running XBMC frodo mainline compiles and that has AE which I suppose changes the playing field and I use pure alsa and definitely no pulse (minimal Ubuntu install)

uNi
frodo beta1 should also use AE. You can try my solution it should also work on one card, although according to the docs I read it shouldn't be needed.
First be sure that you have alsamixer setup correctly. Just type alsamixer on the commandline (ssh session or directly on your PC). Be sure you unmuted the mic. Go with the arrow keys to your mic. Press M to mute unmute. Up and down arrow changes the volume.
Then press F4 to go to your capture card and see that the mic is selected for capture and not for example the line in.
If your mic still doesn't work then change your ~/.asoundrc after making a backup the same as mine, but change
Code:
pcm.snd_card {
    type hw
    card 1
    device 3
    channels 2
}

Set the card and device to your audio output. You could take a look at your old .asoundrc and see what it is there. Card will be normally 0, because you only have one.

Then restart your pc or restart alsa and run the command, atleast if my assumption is correct and your capture device is on hw:0,0 (card 0 device 0)
Code:
alsaloop -C hw:0,0 -P plug:pmix

maurice118
maurice118, thank you so much, I finally got my microphones working coming in through the normal pink rear mic input and mixed into the hdmi output. Took me a while to figure out that if I run alsaloop in sudo then it won't mix..