You are not logged in.

#1 2013-06-15 11:53:54

Kalrish
Member
Registered: 2013-02-27
Posts: 62

[SOLVED] Confused about Mobility Radeon HD 3200

I've always found hard to find good information about this card - some sources, even, contradict themselves. All what I know is that it is an integrated graphics card and that it features the RS780M chipset. These are some tips I've got from the system logs:

grep -i r600 /var/log/Xorg.0.log
[    23.353] (II) RADEON(0): [DRI2]   DRI driver: r600
[    23.353] (II) RADEON(0): [DRI2]   VDPAU driver: r600
[    24.099] (II) AIGLX: Loaded and initialized r600
dmesg | grep -i radeon
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux-hf root=UUID=ab92c2db-22b5-4fcb-a33f-2efe3f3f104c ro radeon.modeset=1 radeon.benchmark=0 radeon.tv=0 radeon.pm=0 init=/usr/lib/systemd/systemd quiet
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-linux-hf root=UUID=ab92c2db-22b5-4fcb-a33f-2efe3f3f104c ro radeon.modeset=1 radeon.benchmark=0 radeon.tv=0 radeon.pm=0 init=/usr/lib/systemd/systemd quiet
[    1.463857] [drm] radeon kernel modesetting enabled.
[    1.464337] radeon 0000:01:05.0: VRAM: 256M 0x00000000C0000000 - 0x00000000CFFFFFFF (256M used)
[    1.464340] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
[    1.464779] [drm] radeon: 256M of VRAM memory ready
[    1.464781] [drm] radeon: 512M of GTT memory ready.
[    1.472494] radeon 0000:01:05.0: WB enabled
[    1.472499] radeon 0000:01:05.0: fence driver on ring 0 use gpu addr 0x00000000a0000c00 and cpu addr 0xffff8800374a5c00
[    1.472502] radeon 0000:01:05.0: fence driver on ring 3 use gpu addr 0x00000000a0000c0c and cpu addr 0xffff8800374a5c0c
[    1.472570] [drm] radeon: irq initialized.
[    1.472672] radeon 0000:01:05.0: setting latency timer to 64
[    1.504277] [drm] radeon atom DIG backlight initialized
[    1.504279] [drm] Radeon Display Connectors
[    1.504311] [drm] radeon: power management initialized
[    2.344989] fbcon: radeondrmfb (fb0) is primary device
[    2.441483] radeon 0000:01:05.0: fb0: radeondrmfb frame buffer device
[    2.441486] radeon 0000:01:05.0: registered panic notifier
[    2.441502] [drm] Initialized radeon 2.30.0 20080528 for 0000:01:05.0 on minor 0

I also found good (?) information, or at least a clearly-explained article, here. After reading it, UVD appears as the AMD's counterpart of NVIDIA's VDPAU for video acceleration.

What I'm not sure about, is:

Does it support video acceleration? I'd like to offload video processing to the GPU, but am not sure if my card and the open-source drivers support it or not. Wikipedia's article about VDPAU states it comes from NVIDIA, but then it says it has an open-source implementation.
What has gallium to do with it? What gallium drivers should I enable in mesa? And what about DRI drivers?

I configured mesa as follows:

./configure --prefix=/usr \
    --sysconfdir=/etc \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-gallium-drivers=r600 \
    --with-dri-drivers=radeon \
    --with-llvm-shared-libs \
    --enable-gallium-llvm \
    --enable-egl \
    --enable-gallium-egl \
    --with-egl-platforms=x11,drm \
    --enable-shared-glapi \
    --enable-gbm \
    --enable-glx-tls \
    --enable-dri \
    --enable-glx \
    --enable-osmesa \
    --enable-texture-float \
    --enable-xa \
    --enable-vdpau

Not sure if I missed something, though.

I am very confused about how Linux manages graphics, and what all those layers are for. DRM, DRI, VDPAU, VA-API, gl, gl3, xv, xvmc... it's a mess!

Thanks in advance.

Last edited by Kalrish (2013-06-16 17:54:04)

Offline

#2 2013-06-15 14:38:31

lucke
Member
From: Poland
Registered: 2004-11-30
Posts: 4,018

Re: [SOLVED] Confused about Mobility Radeon HD 3200

According to Wikipedia, this card does support UVD, but normally you need catalyst to take (proper) advantage of it, and it seems UVD works only on newer cards in Linux. https://wiki.archlinux.org/index.php/VA-API

Offline

#3 2013-06-15 20:45:32

ConnorBehan
Package Maintainer (PM)
From: Long Island NY
Registered: 2007-07-05
Posts: 1,359
Website

Re: [SOLVED] Confused about Mobility Radeon HD 3200

The feature matrix might help. The easy part to answer is that the 3D driver is split into two parts: DRM which is part of the kernel and DRI which is in userspace and comes from the mesa package.

Xv is an Xserver extension supported by pretty much all drivers. Found in the DDX (xf86-video-*), it uses features of the card to speed up the display of video (but not decoding). It can either do this by using the "video overlay" or creating a shader.

Now if you want to use Xv but also offload decoding to the card, you need a video acceleration API. The ones to choose from are XvMC, VA-API, VDAPU in increasing order of feature support. They were developed by Xorg, Intel, Nvidia respectively but anyone is free to implement them. I don't think it's correct to call UVD a counterpart of VDPAU. UVD is a bunch of registers on newer AMD cards. And if you sent bits to those registers in the right way, you can implement VDPAU.

The other way to implement VDPAU (say if the documentation for UVD registers was not released) is to use gallium. There is a gallium state tracker which can still do it at the expense of being slower. It is a hack whereby you convert video frames to polygon textures and make the OpenGL part of the card think that it's calculating part of a 3D scene when really it's decoding video.


6EA3 F3F3 B908 2632 A9CB E931 D53A 0445 B47A 0DAB
Great things come in tar.xz packages.

Offline

#4 2013-06-15 21:25:16

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [SOLVED] Confused about Mobility Radeon HD 3200

Kalrish wrote:

After reading it, UVD appears as the AMD's counterpart of NVIDIA's VDPAU for video acceleration.

Nope, UVD refers to the actual hardware decoding unit, whereas VDPAU is an API (application programming interface), a way for software to access the hardware. If you had the right hardware (you don't, see bellow), you'd use VDPAU to access the UVD.

Your particular card has UVD1 or maybe UVD1+. These are not yet supported in the open source driver, only UVD2 is. Support for UVD1 may come at some point in the future, but it may not.

Offline

#5 2013-06-16 17:17:15

Kalrish
Member
Registered: 2013-02-27
Posts: 62

Re: [SOLVED] Confused about Mobility Radeon HD 3200

Thank you all for your explanations.

After reading this article on Phoronix, I've found something very interesting: UVD support is going to be added to Linux 3.10. It also explains the whole thing in very simple terms.

The feature matrix indeed helped. Thanks a lot, ConnorBehan.

Now that support from the kernel is coming, what packages should I install, in the userland?

Offline

#6 2013-06-16 17:43:56

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [SOLVED] Confused about Mobility Radeon HD 3200

Yes, UVD support will be in 3.10. But like I said, not for you. The feature matrix says in footnote 4 that support for R6xx isn't done yet, and if you use the Decoder ring on the same page, you'll see your RS780 is part of the R600 family.

Also, in the Phoronix article:

This UVD support will come for the Radeon HD 4000 "R700" graphics cards through the Radeon HD 7000 "Southern Islands" graphics cards. This is effectively UVD2 hardware and newer.
There was the original UVD decoder found with the Radeon HD 2000 GPUs and UVD+ to come with the Radeon HD 3000 series, but this support is targetting UVD2 and beyond.

Last edited by Gusar (2013-06-16 17:47:14)

Offline

#7 2013-06-16 17:53:44

Kalrish
Member
Registered: 2013-02-27
Posts: 62

Re: [SOLVED] Confused about Mobility Radeon HD 3200

Oh, sadly true. Thanks again.

(Marking as "solved".)

Offline

Board footer

Powered by FluxBB