List of favorable/open hardware?

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!
Post Reply
User avatar
~
Member
Member
Posts: 1226
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

List of favorable/open hardware?

Post by ~ »

It looks like it is time to find hardware devices (video, sound, network...) for which all of its specifications are readily available, and preferably standarized, but I realize that currently there aren't fully standarized interfaces at the hardware registers level for all kinds of devices but only a few, mostly legacy interfaces.

The intention is to favor the study, stable analysis of the hardware specifications and development of drivers for such hardware, but it's necessary to find it first, which at least me haven't been able to find, specially not for the PC.

What about the Ubuntu-certified hardware?

http://webapps.ubuntu.com/certification/

Does it have full specifications available and open-source drivers, or are they still largely consisting only of non-transparent binary blobs?

What about standarized hardware in other platforms. Do ARM or other platforms have fully standarized hardware peripherals and CPUs?

Would the EasyPC VT8500 (which seems to have a custom and open-source version/branch of Linux available) be a good example of such machine, or which others, or is there open hardware manufactured for them?

http://www.google.com/search?q=via%20easypc%20linux
YouTube:
http://youtube.com/@AltComp126

My x86 emulator/kernel project and software tools/documentation:
http://master.dl.sourceforge.net/projec ... 7z?viasf=1
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: List of favorable/open hardware?

Post by Combuster »

Modern hardware documentation is still poor. Even in graphics land, there are only few documents out there and they don't address more than one specific chipset, is incomplete, and there are usually some bugs nobody's telling you. Even Intel's i945, a very common graphics chipset whose creators are known for documentation, hasn't got official documentation at all.

Due to the general lack of standards in device interfaces nowadays, you may want to get a console - at least you know everyone else uses the same equipment.

About the best PC equipment you can get with all the documentation and stuff you want would be something like the following:
Intel 440 chipset
S3 Trio64V graphics (optionally with a voodoo card)
Sound Blaster 16
Realtek NIC.

And yes, that's old.
"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 ]
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: List of favorable/open hardware?

Post by Brendan »

Hi,
~ wrote:It looks like it is time to find hardware devices (video, sound, network...) for which all of its specifications are readily available, and preferably standarized, but I realize that currently there aren't fully standarized interfaces at the hardware registers level for all kinds of devices but only a few, mostly legacy interfaces.
For standardised and "de facto standards", there's:
  • - USB controllers (documentation for UHCI, OHCI and EHCI are all available)
    - USB "storage devices" and USB "Human Interface Devices" (keyboard, mouse, joystick, trackball, etc)
    - IDE/ATA/ATAPI and SATA/AHCI disk controllers
    - Intel's "HD audio"
    - HPET
    - PCI buses and bridges, extending to some standardised device control (e.g. MSI, power management)
    - Floppy drive controller
    - Serial ports
    - Parallel ports
    - PS/2 keyboards and mouses
    - serial mouses
    - modems (the old fashioned type that go between a serial port and a phone line)
    - Legacy chipset stuff (DMA, PIC, PIT, etc)
Then there's devices that aren't standardised, but documentation isn't hard to find:
  • - CPUs (the non-architectural stuff - e.g. MSRs, performance monitoring, etc) and both QuickPath and Hyper-Transport
    - most wired ethernet cards (not wireless)
    - some SCSI controllers
    - some Intel and AMD video cards
    - Intel's "AC'97 audio"
    - almost everything in any Intel chipset (excluding video, but typically including onboard wired ethernet, onboard audio, etc)
If you manage to support everything that has easily obtainable documentation, with fall-backs for some types of devices (e.g. VBE and direct framebuffer support for unsupported video cards), then your OS will be usable on almost all computers (with only a few devices that don't work, like scanners, printers, WiFi, etc). Hopefully if/when you reach this stage your OS will be interesting enough to encourage other people to create device drivers for it, and eventually you might even be able to get some documentation from some companies that isn't publicly available (e.g. after signing an NDA).

Of course just because there's documentation doesn't mean it will be easy either... ;)
~ wrote:What about standarized hardware in other platforms. Do ARM or other platforms have fully standarized hardware peripherals and CPUs?
I don't know a lot about ARM, but I think most of the hardware is usually documented (where quality of documentation varies depending on manufacturer), and the video acceleration is often not documented (and people use a "binary blob" that's supplied by the manufacturer).


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

Re: List of favorable/open hardware?

Post by Owen »

Just note that every chipset manufacturer has their own subtly incompatible implementation of Intel's HD Audio system (Linux has about 5 different HD Audio drivers)
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: List of favorable/open hardware?

Post by Combuster »

Bottom line here: 2 standards + 3 standards make 0 standards :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 ]
Kelden
Posts: 6
Joined: Tue Aug 03, 2010 7:41 pm

Re: List of favorable/open hardware?

Post by Kelden »

Usually for each binary blob there is an open-source reverse engineered version of various quality (noveau, radeon, etc.). Although not very well documented, its fairly easy to follow. Building your own drivers is another story however. :D
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: List of favorable/open hardware?

Post by JamesM »

Kelden wrote:Usually for each binary blob there is an open-source reverse engineered version of various quality (noveau, radeon, etc.). Although not very well documented, its fairly easy to follow. Building your own drivers is another story however. :D
Albeit possible.
Post Reply