# FreeBSD 11.0 GCN 1.0 support



## PhilPotter (Aug 12, 2016)

Dear All,

As soon as my uni work is finished at the beginning of September, I am planning on giving FreeBSD a good try out on my desktop system - I like a lot of the features like built in ZFS, and the ports tree seems really cool to me too. I'd also like to get involved with the development community - to improve my average C skills and give something back maybe. In keeping with this, I read in the 2016 Q2 status report that GCN 1.0 hardware is now supported by the radeon drm/kms driver - would I be right in thinking this will be part of FreeBSD 11.0-RELEASE when it comes out, and it is part of the current Betas?

Also, I have recently come across the drm-next-4.6 branch on github, which contains even more advanced work on bringing the linuxkpi layer up to scratch and importing the main drm/kms drivers from Linux 4.6 - would I be right in thinking that it would be necessary to replace one's whole base system (i.e. make buildworld and make buildkernel on this branch) in order to utilise this work, or would just building the kernel from this branch suffice? I have an interest in having workable 3D acceleration, as my uni project was a Sony PlayStation emulator which I have written from scratch using Java and JOGL and targetting OpenGL 4.x - I have it working now but a lot more work is required to get it up to playable speeds, and I'd love to do this work whilst getting to grips with FreeBSD too - and who knows, maybe even make a port of it 

Sorry if these seem like silly questions, but I'm still rather new to FreeBSD after quite a long Linux background. I must say, after Linux from Scratch, and having to manually build mesa-git etc. on Fedora before GL4 packages were available for my radeon hd 7850, I am very impressed by the simplicity and elegance of a clearly separate base system - it seems to make a lot of sense to me. Any info on the above would be much appreciated, many thanks.

Regards,
Phil


----------



## Chris_H (Dec 15, 2016)

If you haven't determined this already;
Any recent builds/installs of FreeBSD 9.3, or greater should provide most, if not all of what your asking about.
Some clues can be found at:
radeon man page
and the FreeBSD Graphics wiki

HTH

--Chris


----------



## PhilPotter (Dec 16, 2016)

I tried 11.0-Release, built X and gnome 3 etc from ports around October time I think. Was able to get full resolution with radeon ddx driver but no 3D acceleration (Mesa was using software mode) and no 2D acceleration either - I'm guessing that is because the ddx driver needs to be build with glamor anyway, which according to the wiki it isn't at the moment. I need to get down and dirty with it again and maybe build some parts by hand? On Linux at the mo but had to build Mesa/libdrm/LLVM/ddx by hand from git to get OpenGL 4.4/4.5 on my distro, so wouldn't be opposed to doing this if needed.

Really enjoyed the time I spent with FreeBSD to be honest - I also gave TrueOS a try, and also built the experimental drm-next branch that Matt Macy and co have been working on and ran that in a boot environment. Got even less luck with both of those though - couldn't even get my card to display more than 800x600 if I remember rightly. Tweaking xorg.conf and the usual things had no effect - just don't think the kernel side was quite there yet. I saw this the other day though on the freebsd-x11 mailing list: https://lists.freebsd.org/pipermail/freebsd-x11/2016-December/018422.html. Looks like shouldn't be too long until modern radeons are well supported.

Wish I could help more really - would need to improve my knowledge a lot though. I love C programming with a passion and would love to try my luck with kernel side, and maybe even get involved formally with a project. FreeBSD community seems cool too - hardware support is kind of the killer right now though as I have only the one machine to run it on - laptop only has enough room for OSX. Been tempted to reinstall it though and give it another try - see if things are any better with my GPU now.


----------

