You are not logged in.

#1 2014-04-04 12:26:13

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

[SOLVED] Radeon HD 6310 on AMD E350 APU

I currently have a Raspberry PI running as a download/XBMC server with Arch Linux ARM connected to a TV through HDMI. This worked well so far, but I wanted to take some load off the RPi and bought an AMD E350 APU with an integrated Radeon HD 6310 GPU. Unfortunately, I'm not getting the video/audio out to work properly with Arch Linux x86_64.

Here is what I have done so far (reboots between appropriate steps):

  1. Followed the Beginners' guide as for any other install.

  2. Installed alsa-utils, mesa, mesa-demos, xorg-[server, server-utils, xinit], and created a user and added the user to the "audio,video" groups.

  3. Installed the open source "xf86-video-ati" driver, added "radeon" to my MODULES array, found no other modesetting options, regenerated initramfs, and added a /etc/X11/xorg.conf.d/20-radeon.conf file for good measure. I also added "radeon.audio=1" to my kernel parameters and regenerated the GRUB config file.

With that setup, I tested the sound with the following:

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

# aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

# speaker-test -c 2
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory

where the aplay command didn't return an error, but also did not play any sound. Note that a test to the analogue sound did in fact work.

In addition to the sound not working, I wanted to test if the video will work with XBMC with

# glxinfo
Error: unable to open display

Thinking that maybe something went wrong, I reinstalled most of the above mentioned packages to no avail, and also checked that the "radeon" module was loaded, which it was. I then uninstalled the open source driver, removed "radeon" and "radeon.audio=1" from the appropriate files and regenerated GRUB and initramfs.

Next I decided to try the proprietary driver (reboots between appropriate steps):

  1. Added the Vi0l0 [xorg114] and [catalyst] repositories

  2. Installed xorg-related packes, catalyst-[hook, utils, libgl] and checked that "fglrx" was added and blacklisted "radeon".

  3. Ran "aticonfig --initial" and checked the file.

Testing if the display works after verifying that the module loaded with lsmod:

# fglrxinfo
Error: unable to open display (null)

At this point I started to doubt the drivers working with the hardware, so I booted up with a live openSUSE 13.1 USB (kernel 3.11) with the "radeon.audio=1" option enabled. Testing the display here (cropped):

# glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes

seems to work fine, along with HDMI audio.

I have then clean installed Arch again, reinstalled mesa, xorg and xf86-video-ati and re-added all the parameters and such. Also tried some random things like adding "amd64_agp" to the modules, "radeon.pcie_gen2=0" to the kernel parameters in any attempt to get it to work, but nothing has yet.

At this point I'm stuck. Any help in getting this to work will be greatly appreciated.

Other useful info (cropped for relevance):

# cat /proc/asound/cards  
 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfeb44000 irq 42
 1 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfeb40000 irq 16

# cat /proc/asound/modules
 0 snd_hda_intel
 1 snd_hda_intel

# lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 14h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD 6310]
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler HDMI Audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)

# dmesg | grep radeon
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=e847df24-9ec6-4d7a-8cb9-58c67334c6a5 rw quiet radeon.audio=1
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=e847df24-9ec6-4d7a-8cb9-58c67334c6a5 rw quiet radeon.audio=1
[    1.780114] [drm] radeon kernel modesetting enabled.
[    1.780205] fb: conflicting fb hw usage radeondrmfb vs VESA VGA - removing generic driver
[    1.781733] radeon 0000:00:01.0: VRAM: 384M 0x0000000000000000 - 0x0000000017FFFFFF (384M used)
[    1.781739] radeon 0000:00:01.0: GTT: 1024M 0x0000000018000000 - 0x0000000057FFFFFF
[    1.782586] [drm] radeon: 384M of VRAM memory ready
[    1.782589] [drm] radeon: 1024M of GTT memory ready.
[    1.807454] radeon 0000:00:01.0: WB enabled
[    1.807463] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff8800b36bec00
[    1.807468] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000018000c0c and cpu addr 0xffff8800b36bec0c
[    1.808256] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc90010eb2118
[    1.808306] radeon 0000:00:01.0: irq 40 for MSI/MSI-X
[    1.808334] radeon 0000:00:01.0: radeon: using MSI.
[    1.808379] [drm] radeon: irq initialized.
[    1.946378] [drm] radeon: dpm initialized
[    2.025643] fbcon: radeondrmfb (fb0) is primary device
[    2.069485] radeon 0000:00:01.0: fb0: radeondrmfb frame buffer device
[    2.069490] radeon 0000:00:01.0: registered panic notifier
[    2.069526] [drm] Initialized radeon 2.36.0 20080528 for 0000:00:01.0 on minor 0

Edit: Spelling and dmesg output.

Last edited by cornelus (2014-04-04 15:17:33)

Offline

#2 2014-04-04 13:19:37

andy123
Member
Registered: 2011-11-04
Posts: 169
Website

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Hi, I have the same APU in my Thinkpad Edge and it works pretty well.

What are the contents of your /etc/X11/xorg.conf.d/20-radeon.conf and why do you think it's necesarry, I don't think I have special Xorg config. I used to use the catalyst/fglrx driver, and it might work out for, but I switched after the open-source got better power-saving support because fglrx is buggy and slow to update.

As for your problems, the first thing might be the video and audio group. Afaik you shouldn't add your user to them, it's deprecated and handled by systemd (logind?) now. I'd also like to know how you start the Xserver you get those gl errors on and if other, non-gl programs work. An Xorg.0.log might also be useful.

About audio, I know this is kind of a stupid question, but is you channel unmuted and all? I don't often use HDMI out, but I believe last time I tested it, it worked.


i'm sorry for my poor english wirting skills…

Offline

#3 2014-04-04 14:02:44

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Hello andy123, thanks for the response.

As far as I know, I do not believe the /etc/X11/xorg.conf.d/20-radeon.conf file is necessary, but I tested the system with and without it. The current contents is just

Section "Device"
        Identifier "Radeon"
        Driver "radeon"
EndSection

As you mentioned, I would also prefer using the open source driver as I've often read and heard that it has better support than Catalyst.

Regarding the groups, I did in fact test the system with and without my user being in the video and audio groups. I do not start Xserver explicitly in a desktop environment, but rather just test for an available display via glxinfo. This test works well, as XBMC does the same check to see if OpenGL support is available, will not run if it is not available and prints the same error as glxinfo. No Xorg logs are available in /var/log/, maybe because it does not even begin to start due to lack of display.

The analogue channel is unmuted, and the default HDMI channel does not show a 'Master' or any other channel for that matter except S/PDIF. From a friend I've heard that this is correct, as the HDMI volume can not be set like this. The alsamixer UI is the same as on the openSUSE live disk, which worked fine.

I haven't installed XBMC on the new installation again, but will do so now and see if that forces X to write some logs.

Offline

#4 2014-04-04 14:27:31

andy123
Member
Registered: 2011-11-04
Posts: 169
Website

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

cornelus wrote:

I do not start Xserver explicitly in a desktop environment, but rather just test for an available display via glxinfo. […] No Xorg logs are available in /var/log/, maybe because it does not even begin to start due to lack of display.

The analogue channel is unmuted, and the default HDMI channel does not show a 'Master' or any other channel for that matter except S/PDIF. From a friend I've heard that this is correct, as the HDMI volume can not be set like this. The alsamixer UI is the same as on the openSUSE live disk, which worked fine.

I haven't installed XBMC on the new installation again, but will do so now and see if that forces X to write some logs.

So… glxinfo has to run on X to give any useful output. As in, an server X has to be running. How are you executing glxinfo at the moment? Since you said that there is no display attached, I assume you use ssh. In that case you can export the DISPLAY environment variable for apps to use or use the -d parameter with glxinfo.

I just checked alsamixer on the HDMI output on the Nvidia GPU on this machine, have similar output and it works, so that seems ok.

Let's fix the display first and I'll test the HDMI audio on my laptop in case XMBC doesn't give you any audio output either.


i'm sorry for my poor english wirting skills…

Offline

#5 2014-04-04 14:31:09

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Installed XBMC, running it as the user:

$ xbmc
Error: unable to open display 
XBMC needs hardware accelerated OpenGL rendering.
Install an appropriate graphics driver.

Please consult XBMC Wiki for supported hardware
http://wiki.xbmc.org/?title=Supported_hardware

Still no Xorg in /var/log. A similar setup on my RPi and on a virtual machine works fine like this, which leads me to believe that this is a driver issue... or just me doing something wrong.

lsmod shows that the radeon module is loaded:

$ lsmod | grep radeon
radeon               1303962  1 
i2c_algo_bit            5391  1 radeon
drm_kms_helper         35710  1 radeon
ttm                    65091  1 radeon
drm                   239166  3 ttm,drm_kms_helper,radeon
i2c_core               24760  5 drm,i2c_piix4,drm_kms_helper,i2c_algo_bit,radeon

Offline

#6 2014-04-04 14:35:11

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Thanks for the assistance thus far, I agree that we should fix the display first.

The PC is connected to a TV through HDMI, which does show me the tty. I run all the commands in that shell directly on the TV. I just copy-paste the logs/outputs through SSH (if they are identical to the output if ran on the PC/TV directly). The glxinfo command is run in that shell on the TV.

For clarity: I do get the tty console on the TV through HDMI.

Edit: Added info.

Last edited by cornelus (2014-04-04 14:37:34)

Offline

#7 2014-04-04 14:42:25

andy123
Member
Registered: 2011-11-04
Posts: 169
Website

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Ah, so I missunderstood that part. That doesn't change the fact that those programs depend on an X server (which has the GLX extension) and don't start one themself. How about

xinit /usr/bin/xbmc-standalone -- :0 

or, taken from the xbmc.service file

/usr/bin/xinit /usr/bin/dbus-launch /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7

i'm sorry for my poor english wirting skills…

Offline

#8 2014-04-04 15:17:23

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Running

xinit /usr/bin/xbmc-standalone -- :0

works, including HDMI sound. Funnily, on my RPi and VM I could just run "xbmc" from the tty console without explicitly starting X and that worked fine. For sake of interest, just running

xinit /usr/bin/xbmc

also works.

Thank you very much for your help! Since I do not really need sound/OpenGL from the console, I'm marking the thread as solved.

Last edited by cornelus (2014-04-04 15:18:58)

Offline

#9 2014-04-06 12:47:18

Xtof
Member
From: Toulouse - France
Registered: 2014-03-22
Posts: 8

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Hi all,
I have somothing to ask to you people who own the same hardware than me. My home server/HTPC is based on a MSI mini-ITX AMD E350 APU with an integrated Radeon HD 6310 GPU.

Is the "radeon.audio=1" still required with the 3.13 current stable kernel ?
I don't have activated it after reading this phoronix news. The HD audio HDMI passthrough works very well with VLC, but generates an error in SMplayer when I configure it with ALSA and card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] ?

Last edited by Xtof (2014-04-06 12:48:11)

Offline

#10 2014-04-06 17:22:57

cornelus
Member
From: South Africa
Registered: 2012-04-12
Posts: 19

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Hey Xtof

I know that HDMI audio did not work when I tried openSUSE (kernel 3.11) with "radeon.audio=1" NOT set as a kernel parameter. I tested Arch (kernel 3.13) without this parameter as well, and the sound seemed to work, which corresponds to your Phoronix link.

I'm not sure if this issue lies with the kernel, hardware or SMplayer. I suggest you create a new thread on this topic.

Offline

#11 2014-04-06 20:47:25

Xtof
Member
From: Toulouse - France
Registered: 2014-03-22
Posts: 8

Re: [SOLVED] Radeon HD 6310 on AMD E350 APU

Yes of course !
Anyway, thanks for these details

Offline

Board footer

Powered by FluxBB