Where to get serious hw datasheets?
Where to get serious hw datasheets?
Hi all.
I want to write some driver for graphic card just to see how does that kind of coding look like. On the wiki I found articles about several devices but I want to get some specification and write driver on my own. Well, and that is where my problem begins. I don't know where to get documents for it. My best success was when I got to page that required something about Intellectual Property.
My question is very simple: where do you get information about devices you want to write drivers for? And is there and difference between terms data sheet, documentation and specifications? Which is the most common?
I want to write some driver for graphic card just to see how does that kind of coding look like. On the wiki I found articles about several devices but I want to get some specification and write driver on my own. Well, and that is where my problem begins. I don't know where to get documents for it. My best success was when I got to page that required something about Intellectual Property.
My question is very simple: where do you get information about devices you want to write drivers for? And is there and difference between terms data sheet, documentation and specifications? Which is the most common?
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Where to get serious hw datasheets?
Chances are you will most likely not going to get anything official on that because it is a graphics card, and chances are you'll be blasted away by the complexity because it is a graphics card. The wiki has a fairly complete set of pointers on what you might be able to use as half-baked substitutes for documentation.HugeCode wrote:graphic card
Note that especially if you want to use your current desktop as the target, you'll be opening your own little portal into the shadow realm, and you'll have to get the fair warning from me that only a handful are capable of handling such excursions.
For most other devices, you will get quite far by being patient, good google-fu, and trying all the keywords.
Re: Where to get serious hw datasheets?
Sorry, graphics card.Combuster wrote:Chances are you will most likely not going to get anything official on that because it is a graphics card, and chances are you'll be blasted away by the complexity because it is a graphics card. The wiki has a fairly complete set of pointers on what you might be able to use as half-baked substitutes for documentation.HugeCode wrote:graphic card
Note that especially if you want to use your current desktop as the target, you'll be opening your own little portal into the shadow realm, and you'll have to get the fair warning from me that only a handful are capable of handling such excursions.
For most other devices, you will get quite far by being patient, good google-fu, and trying all the keywords.
So there isn't anything what can help me when looking for documentation?
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Where to get serious hw datasheets?
HugeCode wrote:So there isn't anything what can help me when looking for documentation?
Ask a better question?you will get quite far by being patient, good google-fu, and trying all the keywords.
Re: Where to get serious hw datasheets?
OK
So I searched nvidia (the first company name that came on my mind) web and I found something like partnerforce program that includes access to data sheets but needs registration as company, while I'm only a student. Does it mean that these datasheets are inaccessible to me until I'm employed in company that works with their products?
Is this usual for companies?
So I searched nvidia (the first company name that came on my mind) web and I found something like partnerforce program that includes access to data sheets but needs registration as company, while I'm only a student. Does it mean that these datasheets are inaccessible to me until I'm employed in company that works with their products?
Is this usual for companies?
- Owen
- Member
- Posts: 1700
- Joined: Fri Jun 13, 2008 3:21 pm
- Location: Cambridge, United Kingdom
- Contact:
Re: Where to get serious hw datasheets?
You picked one of the world's worst companies . NVIDIA give their documentation to nobody.
AMD and Intel have both released the full documentation for their graphics controllers. Be aware... they're massive documents. To use them to their full you're going to need to implement the most complex drivers any OS possesses, including embedded compilers.
AMD and Intel have both released the full documentation for their graphics controllers. Be aware... they're massive documents. To use them to their full you're going to need to implement the most complex drivers any OS possesses, including embedded compilers.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Where to get serious hw datasheets?
The wiki has a fairly complete set of pointers on what you might be able to use as half-baked substitutes for documentation.
Now I'm sure you didn't read my answer properly.HugeCode wrote:(14 minutes later) Does it mean that these datasheets are inaccessible
Re: Where to get serious hw datasheets?
@Owen:thanks.
@Combuster: I think that 'it' in my post referred to nvidia data sheets. I searched wiki and I didn't found any datasheet there. I assume that I read your post properly, and I'm very sorry if I didn't get some hidden message. My English isn't very good, as you showed in your first post.
@Combuster: I think that 'it' in my post referred to nvidia data sheets. I searched wiki and I didn't found any datasheet there. I assume that I read your post properly, and I'm very sorry if I didn't get some hidden message. My English isn't very good, as you showed in your first post.
Re: Where to get serious hw datasheets?
Hi,
For video cards in general; there is some information for some of Intel's video cards (provided by Intel) and some information for ATI's video cards (provided by AMD/ATI), plus some information for very old video cards (Cirrus Logic, S3 virge, etc).
Of course Combuster is right - modern video cards are very complex. For this reason you'd want to start with simpler/older video cards. My advice would be to start "raw framebuffer" (e.g. using VBE); then try to get "native VGA" done. Once that works try to purchase an old video card that you've collected documentation for.
In addition to this; I'd recommend supporting either remote debugging, "remote desktop", multiple monitors, or something else that lets you see what your OS is doing (and control it) before you start developing any native video driver. Otherwise the first time something goes wrong you won't have any video and won't be able figure out what's wrong...
Cheers,
Brendan
For Nvidia information you need to sign a non-disclosure agreement (NDA), and before you can do that your OS has to become about as popular and well known as Linux (otherwise Nvidia will just ignore your requests).HugeCode wrote:@Owen:thanks.
@Combuster: I think that 'it' in my post referred to nvidia data sheets. I searched wiki and I didn't found any datasheet there. I assume that I read your post properly, and I'm very sorry if I didn't get some hidden message. My English isn't very good, as you showed in your first post.
For video cards in general; there is some information for some of Intel's video cards (provided by Intel) and some information for ATI's video cards (provided by AMD/ATI), plus some information for very old video cards (Cirrus Logic, S3 virge, etc).
Of course Combuster is right - modern video cards are very complex. For this reason you'd want to start with simpler/older video cards. My advice would be to start "raw framebuffer" (e.g. using VBE); then try to get "native VGA" done. Once that works try to purchase an old video card that you've collected documentation for.
In addition to this; I'd recommend supporting either remote debugging, "remote desktop", multiple monitors, or something else that lets you see what your OS is doing (and control it) before you start developing any native video driver. Otherwise the first time something goes wrong you won't have any video and won't be able figure out what's wrong...
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Where to get serious hw datasheets?
You also did not find the explicit message that there was none, and where to look instead.HugeCode wrote:I searched wiki and I didn't found any datasheet there.
Re: Where to get serious hw datasheets?
Thought I didn't get something. But why are you referring to explicit message, when you quoted that part about nvidia data sheets?HugeCode wrote: I assume that I read your post properly, and I'm very sorry if I didn't get some hidden message. My English isn't very good, as you showed in your first post.
@Brendan: thanks, I'll have a look at that two.
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Where to get serious hw datasheets?
Because obviously, you have the rather poor habit of first spending time replying than actually doing your research even when given pointers in return. This question was answered long before you posted it:But why are you referring to explicit message
Wiki wrote:NVidia
NVidia doesn't provide official specifications, but a lot of community effort is spent in the noveau project, which can be sourced for examples and documentation even though such reverse engineered specifications aren't complete nor guaranteed to be accurate (...)
In which case, they will just write a new wrapper for their existing binary blob.Brendan wrote:your OS has to become about as popular and well known as Linux
Re: Where to get serious hw datasheets?
Of course, selecting the part you like.Combuster wrote:Because obviously, you have the rather poor habit of first spending time replying than actually doing your research even when given pointers in return. This question was answered long before you posted it:But why are you referring to explicit message
Re: Where to get serious hw datasheets?
Further to this request... I would be interested in writing a bare-bones nVidia driver that just let you set up a linear frame buffer and also change video resolutions. Would the nouveau driver be a good place to start looking?
BareMetal OS - http://www.returninfinity.com/
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Mono-tasking 64-bit OS for x86-64 based computers, written entirely in Assembly
Re: Where to get serious hw datasheets?
Yes, the existing drivers are a good resource. Unfortunately, it may be very difficult to understand they if you are not skilled in the subject. I suppose you could try and ask the community for pointers. It'd probably help if you define exactly what your goal is if you ask them: "Hi #initech-linux-driver people, I have created a x86_64 hobby operating system and I'd like to develop a simple modesetting driver for the Initech S6050HD card of the Northern Eggspam series (possibly using the IniBIOS firmware). What steps would I go through to do this and is there any existing documentation/work I can base this on?"