Hello everyone!
First of all, I'd like to thank every helpful member of this community for indirectly helping me with some problems I previously had with some linux distros.
I'm an experienced C++ developer, and I've been a lurker on these forums for quiet some time now, and as a developer, I'm always wanting to try new stuff. I've always been interested on linux, however I'm a windows guy for now.
Recently though, I've become a little more intimate with linux as I wanted to try and solve job-related problems without spending lots of cash on windows licences, and I must say I like the way most things (that I've seen so far) work on linux under the hood. This led me to want to research about kernel driver development and so on.
My research has led me to some questions:
1) Does every driver communicate with an application using a file "link"?
2) If so, is it efficient? I mean, imagine I want to output a 1080p@60fps uncompressed video through some kind of device that has enough bandwidth for that; is it done through writting the raw data to the file (and all the other meta-data ofcorse)?
Since I'm the owner of an AMD gfx card, I'm also interested on AMD's open source initiative, and so I also researched about the xorg and all it's components, but everything's (MESA/DRI/DRM) a bit confusing for me to understand. Which leads me to the next question:
3) As I understand, the xorg components work as follow:
Is this correct? If not, could someone correct this please?
4) Where exacly do drivers like radeon/radeonhd/fglrx stand in that chart?
5) What about Gallium 3D, where does it stand?
Thanks in advance
First of all, I'd like to thank every helpful member of this community for indirectly helping me with some problems I previously had with some linux distros.
I'm an experienced C++ developer, and I've been a lurker on these forums for quiet some time now, and as a developer, I'm always wanting to try new stuff. I've always been interested on linux, however I'm a windows guy for now.
Recently though, I've become a little more intimate with linux as I wanted to try and solve job-related problems without spending lots of cash on windows licences, and I must say I like the way most things (that I've seen so far) work on linux under the hood. This led me to want to research about kernel driver development and so on.
My research has led me to some questions:
1) Does every driver communicate with an application using a file "link"?
2) If so, is it efficient? I mean, imagine I want to output a 1080p@60fps uncompressed video through some kind of device that has enough bandwidth for that; is it done through writting the raw data to the file (and all the other meta-data ofcorse)?
Since I'm the owner of an AMD gfx card, I'm also interested on AMD's open source initiative, and so I also researched about the xorg and all it's components, but everything's (MESA/DRI/DRM) a bit confusing for me to understand. Which leads me to the next question:
3) As I understand, the xorg components work as follow:
Code:
Application --> OGL API --> Mesa --> Xorg --| | |--> DRM (kernel driver?) |-----> DRI----|
4) Where exacly do drivers like radeon/radeonhd/fglrx stand in that chart?
5) What about Gallium 3D, where does it stand?
Thanks in advance
Comment