# Will radeon hd cards ever have 3d acceleration..?



## seed (Aug 28, 2018)

So I see rx cards have some experimental support with drm-next-kmod on FreeBSD 12. But from what I can see, there is absolutely no 3D acceleration for Radeon HD cards, such as my HD5670, HD7770 and so on.

Will this ever be a thing? Nvidia drivers are probably only going to get even more broken anyways.


----------



## shkhln (Aug 28, 2018)

seed said:


> So I see rx cards have some experimental support with _drm_-_next_-_kmod on freebsd 12_



This port isn't experimental and it works with FreeBSD 11.2.



seed said:


> _but from what I can see, there is absolutely no 3d acceleration for radeon hd cards, such as my hd 5670, hd 7770 and so on._



Well, this wiki page claims 3d support for HD 5670 with radeon/radeonkms driver already bundled with FreeBSD (not exactly that card but it does mention Redwood); HD 7770 should work with radeonkms from _drm-stable-kmod/drm_-_next_-_kmod_.



seed said:


> _Nvidia drivers are probably only going to get even more broken anyways_



For all my extensive complaining here, their cards still beat the shit out of AMD's offerings. _Especially_ older AMD cards which are not supported by relatively new amdgpu/radv drivers.


----------



## kpedersen (Aug 29, 2018)

I can honestly see NVIDIA pulling the plug on FreeBSD drivers in the not so distant future. It would possibly be best to focus on the AMD hardware (Or better yet, when Intel soon releases their new discrete card range because they support open drivers).

However, I was on the understanding that it was all working well? In the manpage it lists 3D acceleration for many cards.

https://www.freebsd.org/cgi/man.cgi?query=radeon

I have a Radeon AX<something_ill_check_tonight> and it is working well for 3D since FreeBSD 10+.


----------



## SirDice (Aug 29, 2018)

kpedersen said:


> I can honestly see NVIDIA pulling the plug on FreeBSD drivers in the not so distant future.


What makes you think that?


----------



## kpedersen (Aug 29, 2018)

SirDice said:


> What makes you think that?



Just a hunch, I have no hard sources (I should have made that clear in my original post). However when talking to NVIDIA at events like SIGGRAPH, they rarely show any enthusiasm for FreeBSD or Solaris support.

They also have no plans to support CUDA on FreeBSD which in my opinion has almost more merit on this platform than actual display drivers.

But the biggest one for me is; why should they? Don't get me wrong, FreeBSD *is* great but they are the ones we need to keep convincing and as far as I know we might even take less priority than Solaris. I would actually be very interested to know what their incentive is? I don't imagine they get much monetary benefits from us as a community.


----------



## shepper (Aug 29, 2018)

seed said:


> So I see rx cards have some experimental support with drm-next-kmod on FreeBSD 12. But from what I can see, there is absolutely no 3D acceleration for Radeon HD cards, such as my HD5670, HD7770 and so on.



I have 3D acceleration w/ an A6-5400K apu that uses HD 7540D in OpenBSD.  OpenBSD shares the same drm/mesa components as FreeBSD.  About a year ago these were a bargain - I got mine bundled with an Asus mobo for $90USD.  A6-5400K are harder to find now although the A4-4000 is still readily available at most online retailers.
http://daemonforums.org/showpost.php?p=61306&postcount=96

The main issue going forward is that the newer amdgpu kernel code is massive - an openbsd developer noted that the source was nearly as big as the kernel itself.  It will require a significant resource investment to import it.


----------



## shkhln (Aug 29, 2018)

kpedersen said:


> I would actually be very interested to know what their incentive is?



I'd say a decent binary driver is the best defense against people reverse engineering their software, but then FreeBSD community is too small to make any impact on that front. On other hand, Nvidia already has done hard work abstracting their driver from OS specifics. Maintaining 8 kloc shim likely doesn't take much effort. Why drop it? They are also quite dedicated to supporting old GPUs with legacy driver branches, there is no direct monetary gain there either.


----------



## SirDice (Aug 30, 2018)

shkhln said:


> On other hand, Nvidia already has done hard work abstracting their driver from OS specifics.


This is something everyone always overlooks, the NVidia driver is exactly the same for Windows, Linux, FreeBSD and Solaris. Only the "glue" for each OS is different, the code that does the actual work is 100% the same.


----------



## kpedersen (Aug 30, 2018)

Yep that's fair enough. I also hope you are right and that I am proven wrong 

That said, now that the AMD radeon support has come a long way (actually its seemingly perfect for my uses these days), I currently can't justify going with NVidia any more. I also think closed-source proprietary drivers are a little old fashioned, especially now that they have programmable firmware to keep us under control anyway


----------



## shkhln (Sep 2, 2018)

SirDice said:


> This is something everyone always overlooks, the NVidia driver is exactly the same for Windows, Linux, FreeBSD and Solaris. Only the "glue" for each OS is different, the code that does the actual work is 100% the same.



The fun part is that _nvidia_ kernel module uses exactly the same blob for Linux and FreeBSD. Curiously enough, blobs from _nvidia-modeset_ differ. (Not sure if there is any reason for that, I found them interchangeable in practice.)



kpedersen said:


> They also have no plans to support CUDA on FreeBSD which in my opinion has almost more merit on this platform than actual display drivers.



LinuxKPI stuff should make porting _nvidia-uvm_ a little bit less intimidating task, _if_ somebody wants to try that. Way above my competence level, though. (I don't think I hate myself this much either.) The client library, libcuda.so, can be glibc-shimmed. Whether there is a way to coerce SDK into producing native FreeBSD binaries I do not know.


----------

