Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 06 May 2013 17:44:10 -0700
From:      "Ronald F. Guilmette" <rfg@tristatelogic.com>
To:        freebsd-x11@freebsd.org
Subject:   Re: Status of ATI video acceleration support?
Message-ID:  <53471.1367887450@server1.tristatelogic.com>

next in thread | raw e-mail | index | archive | help

Jean-Sébastien Pédron wrote:

>>rfg wrote:
>> Could someone please tell me what the current status is of FreeBSD+X11
>> support for AMD/ATI/Radeon graphics cards generally, and for video
>> acceleration on such cards specifically, and for support for video
>> acceleration on Radeon HD 5450 based cards even more specifically?
>
>With the help of Konstantin Belousov, J.R. Oldroyd and several testers,
>I'm working on the port of the kernel-side driver from Linux to FreeBSD.

I am very glad to hear that you guys are working on this suff.  (I am very
glad to hear that _anybody_ is working on this stuff.)

>You can find status updates and a small table summarizing the supported
>features on the wiki page you mention:
>    https://wiki.freebsd.org/AMD_GPU

Oh!!!  I had mistakenly read that page (and it's title) incorrectly.  I
had seen that page and mis-read the title as "AMD_APU" rather than "AMD_GPU".
So I had thought that perhaps the work being described on that page applied
specifically and only to AMD's CPU+GPU (APU) chips, such as the C-*, E-*,
and newer E1-*, E2-*, A2-*, A4-*, A6-*, A8-*, and A1-* CPU+GPU combinations.

But I see now that your work is more general, which is good.

>Regarding the video acceleration support, do you mean hardware decoding
>of a movie?

Yes, exactly.   To be more specific, the UVD* stuff, i.e. the hardware
acceleration of video decoding.

That's what I'm interested in, in parcticular.

>This specific feature is not supported with the current
>state of the driver:

:-(

>    o  A bug in the driver related to OpenGL prevents the use of the
>       GPU to decode a video. This bug is one of the three majors
>       issues I currently have and I hope to resume work on this next
>       week.

:-)

>    o  Support for the dedicated chip (called UVD) was just committed to
>       Linux a few days ago and will be available with Linux 3.10.
>       Therefore, I need to resync with a more current version of
>       Linux. It's not a priority as of now.

I doubt that I can singlehandedly influence your priority list, however
for whatever it is worth, let me just say that I am probably not the only
person who thinks that it would be Very Nice Indeed if hardware accelerated
video decode was supported for Radeon under FreeBSD... as it is already in
Linux and Windoze.

>       Furthermore, it'll need a
>       version of Mesa which won't be release before the end of this
>       year probably.

Huh?  That is a rather preplexing statement.  If you need a version of Mesa
that will not be available until the end of the year, then how are the
Linux folks able to offer Redeon UVD video decode support _now_, rather
than after the versions of Mesa you speak of is released?  How are the
Linux people offering support even without that newer version of Mesa?

(I'm not complaining.  I am just confused and seeking enlightenment.)

>> If I am recalling correctly, the Big Deal with all this stuff is that
>> the Xorg folks... mostly or entirely at the behest of the Linux folks...
>> have re-jigged the kernel/userland interface so as to put more of the
>> work and responsibility for various things (e.g. mode switching) into
>> the kernel, and this has made it kind of a pain in the ass for all the
>> (few) FreeBSD/X11 hackers who have subsequently been obliged to try to
>> mimic that substantial change.
>> 
>> Is that roughly an accurate description?
>
>Relying on the kernel for driving the video card is logical, like it's
>done for any other hardware.

Oh yes!  Believe me, I have no doubt whatsoever about that!  (It is THE
fundamental essence of any multi-user operating system kernel to isolate
hardware resources from direct contact with userland programs, and to
manage and allocate said hardware resources among and between various
potentially competing users, as appropriate.)

Believe me, I was not questioning the strategy here.  I was just checking
to make sure that I had properly understood what I thought I remembered
having been told about what the strategy is.  (My memory is far from
perfect, so I have to double check it frequently.)

>So yes, it adds a lot more work to various OSes developers. And yes,
>most people working on this target Linux. But I won't judge them for
>that.

That's OK.  You don't have to.  Other people will. (1/2 :-)

But seriously, I do remember being told by a fellow who I think was one
of the FreeBSD X11 developers/maintainers that yes, the Xorg people these
days do tend to cater more to the elephant that is the Linux community
than they do to the mouse that is the FreeBSD community, and that thus,
kernel/userland interface changes relating to X are not decided upon
with the first and foremost goal being the convenience for the FreeBSD
X11 maintainers.

>We must admit that the video cards area greatly improved for the
>past 4 years.

Indeed.  It has been nothing short of dramatic.

>The work to support AMD GPUs is far from finished. I started the project
>in last January, heavily based on a previous work by Alexander Kabaev.

You have my love & admiration.  Keep up the good work.

>> (I am vaguely curious too what the state of play is for Nvidia based cards
>> as well.)
>
>To my knowledge, nobody is working on other cards, including nVIDIA.

Oh well.  The proprietary "nvidia" driver seems to do the job for now...
including support for hardware accelerated video decode.

But I gather that that may perhaps not be open source. :-(

>>   http://www.phoronix.com/scan.php?page=article&item=amd_opensource_uvd&num=1
>
>Phoronix posts regular articles, based on the status updates I publish
>on the wiki. However, the article you point talks about the support of
>UVD, the AMD hardware video decoding chip.

Correct.  And really, that's all I am interested in at the moment... the
video decode support.

>As I said above, it's just
>merged to Linux during the preparation of the 3.10 version. And we have
>many things to fix before considering merging that to FreeBSD.

OK.  Thank you for a very through answer to my questions.

>So stay tuned!

Indeed I shall!

But I do not read the freebsd-x11 mailing list traffic on a regular basis.

Perhaps you should start up a specialized list just for those interested
specifically in FreeBSD+X support for all manner of Radeons (?)

>Once major issues will be fixed, we'll post a Call For
>Testers with bootable images to ease the tests.

That will be great.  I hope I see that.

I have a Foxconn A3700 box that I'd love to test the stuff on.


Regards,
rfg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53471.1367887450>