# kernel modesetting - where do I start?



## wfredk (Feb 26, 2011)

I just got done buying all of the parts for a new desktop screamer (i7 980X/24GB RAM/Radeon HD 5870) with the intent of doing some video development.  The parts all come with winDoze drivers - but since w7 thinks I don't own files on my computer and blows up when I try to take possesion of them, it's the end of the line for my relationship with Redmond.

I expected I was going to end up running either Linux or FreeBSD on this machine, anyway, so I was going to end up here eventually, it seems:

XFX says they don't have FreeBSD drivers for their Radeon HD 5870, but I can get Linux drivers from AMD for Linux.  I really don't want to run Linux, I want to run FreeBSD, a determination I made many years ago when I was hosting some Web sites, and one I reaffirmed recently when I began selecting the O/S for my new machine.

I found a thread in X.Org forum that mentioned the HD 5870 that ends with this comment:

  "One thing to point out is that the radeon driver will not support any acceleration on HD5xxx GPUs till kernel modesetting is ported to FreeBSD"

Since I want my HD 5870 to be fully useful under FreeBSD, it sounds like "somebody" needs to work on porting kernel modesetting to FreeBSD.  I guess it's time for me to be "somebody" - but I need some hints:

 - Where am I porting kernel modesetting from?
 - Where does it need to tie into the existing code?
 - Is the API defined in the original code, and/or will it need to be different for FreeBSD?
 - What other questions should I be asking?

I'm not new to software development, I'm not even new to FreeBSD (userland) programming.  I *am* new to FreeBSD kernel porting, so I'd appreciate pointers to style guides, tips and traps I should know about.


----------



## DutchDaemon (Feb 26, 2011)

Well .. 

http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook
http://www.freebsd.org/doc/en/books/arch-handbook/index.html
style(9)
development(7)

(in fact, look at /usr/share/man/man7/ and /usr/share/man/man9/ in general)


----------



## wblock@ (Feb 26, 2011)

Developers tend to be on the mailing lists more than the forums, although some are here also.

See FreeBSD Foundation Announces New Project for some good news.  You might contact Konstantin Belousov to see if some coordinated help would be useful.


----------



## wfredk (Feb 26, 2011)

*Thanks for the resource tips*

I've also just ordered a copy of _The Design and Implementation of the FreeBSD Operating System_ and I'm looking at some of the other resources in the FreeBSD Development forum.


----------



## wfredk (Feb 26, 2011)

*Thank you for moving my thread to the correct forum*

After I posted it, I realized I had put this thread in the wrong forum - this isn't a ports/packages issue, but one of development of FreeBSD itself.  I will have to be more observant not only of forum names, but of the forum groups they are in...


----------



## wfredk (Feb 26, 2011)

*Thanks, ...*

Thank you for the mailing list suggestion (I'm subscribing to freebsd-drivers, since that seems to be the most relevant for this matter) and the link to the announcement - good news!

Please pardon my noob-like question, since I haven't been an active participant in the community for quite a while, but could you suggest how I should contact Konstantin?  If I can make a useful contribution, I'd be happy to do so.


----------



## wfredk (Feb 26, 2011)

*Contacting Konstantin - I found my own answer*

I guess I was too anxious to dig right in :r - a little more looking around, and I see he's part of the release engineering team ...


----------



## wblock@ (Feb 26, 2011)

wfredk said:
			
		

> Thank you for the mailing list suggestion (I'm subscribing to freebsd-drivers, since that seems to be the most relevant for this matter)



freebsd-x11 is relevant, probably -hackers, -stable and/or -current.  Maybe others.  If you have an MUA that will sort incoming mail into folders, subscribe to a bunch and let it do the work based on the List-Id.  Start a new thread if you'd like examples.

Oh, and thanks for contributing!


----------

