Where to get serious hw datasheets?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Where to get serious hw datasheets?

Post by HugeCode »

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?
User avatar
Combuster
Member
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?

Post by Combuster »

HugeCode wrote:graphic card
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.

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.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Re: Where to get serious hw datasheets?

Post by HugeCode »

Combuster wrote:
HugeCode wrote:graphic card
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.

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.
Sorry, graphics card.

So there isn't anything what can help me when looking for documentation?
User avatar
Combuster
Member
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?

Post by Combuster »

HugeCode wrote:So there isn't anything what can help me when looking for documentation?
you will get quite far by being patient, good google-fu, and trying all the keywords.
Ask a better question? :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Re: Where to get serious hw datasheets?

Post by HugeCode »

OK :D
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?
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: Where to get serious hw datasheets?

Post by Owen »

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.
User avatar
Combuster
Member
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?

Post by Combuster »

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:(14 minutes later) Does it mean that these datasheets are inaccessible
Now I'm sure you didn't read my answer properly. :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Re: Where to get serious hw datasheets?

Post by HugeCode »

@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.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Where to get serious hw datasheets?

Post by Brendan »

Hi,
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 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).

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.
User avatar
Combuster
Member
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?

Post by Combuster »

HugeCode wrote:I searched wiki and I didn't found any datasheet there.
You also did not find the explicit message that there was none, and where to look instead.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Re: Where to get serious hw datasheets?

Post by HugeCode »

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.
Thought I didn't get something. But why are you referring to explicit message, when you quoted that part about nvidia data sheets? ;-)

@Brendan: thanks, I'll have a look at that two.
User avatar
Combuster
Member
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?

Post by Combuster »

But why are you referring to explicit message
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:
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 (...)

Brendan wrote:your OS has to become about as popular and well known as Linux
In which case, they will just write a new wrapper for their existing binary blob. :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
HugeCode
Member
Member
Posts: 112
Joined: Mon Dec 17, 2012 9:12 am

Re: Where to get serious hw datasheets?

Post by HugeCode »

Combuster wrote:
But why are you referring to explicit message
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:
Of course, selecting the part you like.
User avatar
IanSeyler
Member
Member
Posts: 326
Joined: Mon Jul 28, 2008 9:46 am
Location: Ontario, Canada
Contact:

Re: Where to get serious hw datasheets?

Post by IanSeyler »

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
User avatar
sortie
Member
Member
Posts: 931
Joined: Wed Mar 21, 2012 3:01 pm
Libera.chat IRC: sortie

Re: Where to get serious hw datasheets?

Post by sortie »

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?"
Post Reply