Need a vote for hardware list format

Hey Haikuers I’m working on several projects for this spring (some I’ve talked about this year, some I haven’t)… and anyways, one of these is to revamp the hardware list. I’d learned and started doing both yaml and json formats for the Haiku Computer List since people wanted a computer readable format and text, but I’m curious if anyone prefers yaml, json, or both or something different? Thanks everyone :smiley:


So… I got a few likes, but what I’m really curious about here is: who uses yaml and who uses json? I’m thinking of switching to just yaml on the list’s GitHub repo unless anyone needs json; the reason is because I really want to switch from maintaining three list formats and instead focus on making this truly useful – maybe to the point Haiku will consider making it an official source in time. But if people use json I’ll use that, or whatever people need it to use… otherwise, I’ll just go with yaml only.

@apgreimann; I am thinking that if web or desktop application gets built around this at some point in the future then it may be useful to consider the data in a more structured format; something like this as a way of providing an example of what I mean;

  version: 1
  create-timestamp: 2020-09-10T10:12:45Z
    manufacturer: lenovo | acer | apple | ...
    model : Thinkpad x230 | ...
    form-factor: laptop | netbook | desktop | board
      arch: x86_64 | arm7 | ppc | ...
      manufacturer: intel
      model: i7 8565U
      clock: 1.80 GHz
      cores: 8
      manufacturer: intel
      model: UHD Graphics 620
      capacity: 23.2 GB
      capacity: 512 GB
    build: r123456
    build-date: 2020-09-01T12:34:45Z
    - type: network
      manufacturer: intel
      model: PRO/1000 T Server
      stability: nostart | veryunstable | unstablebutusable | mostlystable | stable
        - Seems to work flawlessly
    - type: wifi
      manufacturer: qualcomm
      model: Atheros AR242x/542x
      stability: nostart | veryunstable | unstablebutusable | mostlystable | stable
  stability: nostart | veryunstable | unstablebutusable | mostlystable | stable
    - >
      It is easiest to install onto a disk in another
      host and then to remove that disc and install it
      into this computer.
    - >
      The tracker pad occasionally stops working and it
      is necessary to reboot to get it to work again.

Possible there is a common format for this situation, but I am not immediately aware of such a thing myself.

If you are intending to curate the data as text files at this point in time then I would advise you to use YAML format as opposed to JSON. This is because authoring and then editing large JSON files is more difficult than YAML.

I would suggest either using separate files for each document or using the YAML feature of the “------” separator to separate the YAML documents in the same file.

I would try to use discrete coded values for things such as manufacturer / architecture / stability to make machine-reading of the files possible later. In the example above the stability value is taken from the HaikuDepotServer database and it would be nice if these constants correlated so that the language is the same.

It may be helpful to be able to create a hardware dump like this from the host itself at some point in the future. This more structured format would be helpful in this case.


We need a hardware list with a list of separate hardware type. A list of gfx cards, sfx cards… importend are the chipsets because on the point of gfx cards, for example, we have many namens but all the same chipsets.

Like These (but list Workout chipset infos):

Or a more spezific list like this:

1 Like

I start to add a hartware list export into BeSly System Analysis Tool:

BeSly SAT - Hardware List (

Current Version of BeSlySAT on our Repository Server:

Next step are to add separated listings with components. Gfx, sfx, Networks…

How can i get the needed chipset number during reading hardware infos?


Would be great to revisit the approach that did wayback in the day.

This are a better link

Think that a site like this and perhaps and app like BeSly would be grate. Having a backend only that only return Json / yxml won’t be used that mutch.

I used alot back in the day :slight_smile:

1 Like

During 2015 GCI one of the students had started work on a hardware database. Maybe it could be used as a foundation?

imagen Most common hardware on the last years


Good day,

I just came up to a tool called “Hardware Probe” that the people from the HelloSystem are working on. Maybe something like that could be interesting to have on Haiku, so we all can “probe” our various hardware and report its compatibility? It might be worth to take a look at it @apgreimann.


1 Like

In fact, it’s not unique to them, code is hosted here.
You can see reports from this tool here for BSD, or there for Linux based distros.

So… I’ve been listening to the posts and see several good ideas to improve things… and I think at this point I think I kinda get some ideas of what I need to do to upgrade the list (include some type of stats like @cosmogatokat showed, have a list tool of some sort (maybe I could make a proof of concept to demo the idea), have an easier back list format like @apl, have separation between more than just computer types and include hardware types like @lelldorin suggested). Far as making a database for all the stuff goes, there’s already the info from everybody on haiku-computer-list on GitHub so it wouldn’t be too hard for me to make a search tool (this I can do but not like low level stuff, blame the fact I dropped out of college the third year into it lol) :laughing:

Anyways, the main point is I’m hoping listening over replying so far doesn’t mean to everyone that I’m giving up; quite the opposite. :slightly_smiling_face: I’m hoping we’ll have our own equivalent to what HelloSystem has per @roiredxsoto’s suggestion. But please be aware I probably won’t have the site upgraded to its next version until into February – there’s a lot to finish from what I get so far.

1 Like

It will be good to add PCI/ACPI/USB hardware ID. It is more useful than product name. Sometimes device with the same product name can have different hardware and different hardware ID.


Can you tell me how to get the ID of a hardware automatically, is there a standard concept in the hardware?

If i can get them automatically, i can add them to my html output in my system analysis tool

listdev, listusb.

I know that, but is the ID standard? So i can get them with grep ID?

For PCI device ID is vendor:device (example 8086:0412). For USB device ID is vendor:product ver. version (example 046d:c52b ver. 1211).

1 Like