Linux Graphics Driver Development Questions
Posted: Mon Apr 22, 2019 9:28 pm
Hello there, all! I'm hoping that any of you could answer my questions that I have here today. I tried asking on StackOverflow, and I got booted out the door like I always do when trying to ask any ****ing questions on that stupid website.
You see, I'm starting a project that is sort of related to operating systems, but not necessarily... it's more of what's called an operating environment, for Linux, and possibly, BSD.
And sorry if this thread is pretty long, but this is a lot to talk about, so please bear with me, thanks!
Okay, so my first question:
I was planning on simply using Linux's DRM+DRI system for graphics. But I recently found out, that DRM+DRI does not work correctly on NVIDIA cards, and therefore I could never get anywhere. I cannot use fbdev, because it's not gonna be what I need it to be in the future, if my project goes beyond just a hobby project. And I'm not using the X.org server, because I don't want there to be any client-server models in my thing, and I don't want the vulnerability of any networks or sockets. So, therefore, I must write my own graphics driver.
So my first question is not necessarily how to go about doing writing the driver, because I can use Intel and AMD specs to do that, but more so, how would I go about testing the driver, and how would I go about interacting with the driver through user-mode programs, because that is my biggest hurdle in trying to do this thing. Linux is kinda funky when doing driver development, in my opinion, so thanks for any help on this subject!
Now, my second question:
I plan to make these all modules, because I'm sure as hell not compiling this crap into the kernel. I think that I would have to use modules anyway, though. But is there anyway to load modules at the startup? If, in the future, I want to make it so that the operating environment can start on its own at boot up (kind of like an autostart script), how would I go about doing this?
Now, my third question:
Does anyone know of any good resources for writing this kind of driver? I know about the wiki, and it's a godsend, but like... anything else, like all of it. anything would help millions. videos, wiki-pages, articles, specs, literally anything that anyone knows of that is related to this kind of driver development. Thanks!
All right, I'll stop taking up too much of you time. Thanks for any help that anyone can give, and have a good day!
-Joe
You see, I'm starting a project that is sort of related to operating systems, but not necessarily... it's more of what's called an operating environment, for Linux, and possibly, BSD.
And sorry if this thread is pretty long, but this is a lot to talk about, so please bear with me, thanks!
Okay, so my first question:
I was planning on simply using Linux's DRM+DRI system for graphics. But I recently found out, that DRM+DRI does not work correctly on NVIDIA cards, and therefore I could never get anywhere. I cannot use fbdev, because it's not gonna be what I need it to be in the future, if my project goes beyond just a hobby project. And I'm not using the X.org server, because I don't want there to be any client-server models in my thing, and I don't want the vulnerability of any networks or sockets. So, therefore, I must write my own graphics driver.
So my first question is not necessarily how to go about doing writing the driver, because I can use Intel and AMD specs to do that, but more so, how would I go about testing the driver, and how would I go about interacting with the driver through user-mode programs, because that is my biggest hurdle in trying to do this thing. Linux is kinda funky when doing driver development, in my opinion, so thanks for any help on this subject!
Now, my second question:
I plan to make these all modules, because I'm sure as hell not compiling this crap into the kernel. I think that I would have to use modules anyway, though. But is there anyway to load modules at the startup? If, in the future, I want to make it so that the operating environment can start on its own at boot up (kind of like an autostart script), how would I go about doing this?
Now, my third question:
Does anyone know of any good resources for writing this kind of driver? I know about the wiki, and it's a godsend, but like... anything else, like all of it. anything would help millions. videos, wiki-pages, articles, specs, literally anything that anyone knows of that is related to this kind of driver development. Thanks!
All right, I'll stop taking up too much of you time. Thanks for any help that anyone can give, and have a good day!
-Joe