Proposal for Haiku reference hardware

Hi Paianni,

looks decent. Personally, I’d always go with a small SSD instead of HDD, even if there isn’t yet reliable trim support in Haiku. Works very well for me, and correct me if I’m wrong, one can still trim the SSD from another OS like Linux.

Now you only have to build and test it. A RadeonHD might currently be better supported than the intel chipset, so it’s interesting to know if at least VESA works with the Intel Iris 6200.

Regards,
Humdinger

A Radeon card would be great for a more standard case with the extra space. Could the driver be adapted for AMD APUs? If that is the case I’d rather go for a full AMD line-up than anything from Intel.

I’m planning a small form factor system to start with as that would be cheaper to ship. TFX PSUs only go up to 300W so there’s no way I could put a graphics card in there.

Trimming an SSD from Linux will not be very useful, if it doesn’t know which blocks to free. The idea of trimming is that the OS, with some knowledge of the filesystem, can tell the SSD which blocks are not allocated and can be completely forgotten (they are unused by the FS so they may as well contain random data). This allows the SSD to not allocate physical flash to those sectors, allowing it to reuse the flash for other purposes.

The key part here is that the OS (and more specifically the filesystem driver) must be able to tell which blocks are used, and which aren't. If you trim from Linux, I don't know if the BFS driver there would be able to tell.

In theory, you could get the information from Haiku's BFS about which blocks to trim, write that down in a file, and then manually trim those blocks from another OS (you can probably use hdparm for that?).

Thanks to popular demand I’ve shifted to AMD APUs, therefore here’s an update of the list. I’ve scrapped the idea of selling complete desktops, therefore users may choose whichever case (ITX minimum), CPU, memory or optical disc drive they wish.

  • AMD A10-7870K - The current model with the quieter heatsink. Unlike the Intel solution this can support much faster memory
  • Asrock A88M-ITX/ac R2.0 - This has 802.11ac WiFi built in, with discrete antennas out the I/O shield
  • HyperX Savage 16GB (2 x 8 GB) 2133 MHz DDR3 - Bumped up from 8GB on the old list
  • WD Black 500GB HDD - Haiku's trim support is still not quite there yet, hence the magnetic drive for the time being

Hardware details are hard to pin down. My example is an EEE PC model where the Atheros wireless card has worked “out of the box” for people - if that’s what it has. Mine turned out to have something else. I bought an Atheros card that had been salvaged from the same model, tore my laptop apart and replaced it, and now it works (but sadly the machine is not quite what it was, they’re not easy to take apart and put back together intact.) Models that are known to work tend to be old ones, and if still widely available probably had long production runs, during which the components could have changed. Something to look out for.

When selecting a laptop specifically for Haiku, I’ve used the info from http://aspeers.blogspot.de/. As the result I’ve bought Lenovo T430s which was advised as having 95% of supported hardware: http://aspeers.blogspot.de/2015/03/test-notebook-lenovo-thinkpad-t430s.html. After buying it and running one of latest nighties I conclude that the only regression is unrecognised video (might be due to recent Intel extreme driver rewrite): have to use VESA which nevertheless sets correct native screen resolution. Lenovo T430s is relatively cheap (around $400-500 depending on specs) and powerful (mine is Core i7/16 Gb RAM/60 Gb SSD & 500 GB HDD).

1 Like

Thinkpads are a popular choice amongst Haiku devs, and usually not too quirky. So, they tend to be a good choice. You’re right about the video driver, the intel_extreme driver is currently restricted to pre-2010 hardware, but there is work in progress on fixing it. If you get the correct resolution in VESA, there is no need to worry about this, anyway, you won’t get any extra features from the driver at the moment. Maybe we can see about multiple displays support once it works again.

The problem with using existing laptops is that they tend to be very outdated in terms of hardware. That might be okay in terms of compatibility but it does not inspire confidence in the mass market. In order to sell brand new laptops we’d be required to buy the machines and then re-load them with Haiku, not a viable business model as it would incur the Windows tax. Not to mention the regulations involved in many countries, such as obtaining the CE mark, which would be incredibly costly for what would start out as a small venture.

We don’t have the resources to design our own hardware, therefore I propose a business that provides off-the-shelf parts, which could be sold separately or pre-assembled (with Haiku pre-installed), that are fully compatible with Haiku B1 and would retain their manufacturer warranties, rather than becoming their own products outright.

By assuming most people will take the time to research compatible parts and install Haiku themselves, we will be digging ourselves a deeper hole. People buy computers expecting a package of hardware and software, not expecting to do any more work to achieve it.

Hi!

I’m not sure yet what you’re aiming for, Paianni.
Is your hardware component list something you’ve put together and tested successfully with Haiku? Do you plan to sell those machines with Haiku pre-installed? Is it a pie-in-the-sky wish list? Or do you plan to pay someone to make it compatible (or do that yourself)? Getting the graphics driver and Haiku infrastructure on par with Windows, for example, is a huge endeavour and clearly R2 territory.

Regards,
Humdinger

I am aspiring to form a business that could serve as a ‘first port of call’ for Haiku software with hardware, as I feel there is a mass market opportunity for it. But Haiku can only hope to gain a mass market with good hardware support, which explains my wish for a target specification, where everything, particularly the graphics chipset, just works, with no missing features and good performance. This thread so far has been me trying to figure out what specification Haiku developers would agree should be the target. I’m not suggesting that Haiku Inc. is required to persue the business activities I’m very interested in, but in order for anything to happen the specification needs to be nailed down.

If no one is interested, that is fine, but I feel there is an opportunity with Beta 1 to bring Haiku into the public eye and to build relations with other software developers, which could lead to more funds to speed up development and make the platform more viable. I also feel there is a considerable gap in the market that has been left by Microsoft and Apple, for a software platform with a consistent UI that will remain recognisable for a long period of time, with outstanding performance in media applications, and much greater efficiency for low power devices compared with the competition.

Full support for hardware acceleration is only pie in the sky if we don’t have confidence in our own product and are solely interested in getting the core system ‘finished’. Almost 15 years has already been spent, with the free-time of most volunteers, to rebuild BeOS virtually from scratch. I believe it is possible that we can get it working, even if it is just one chipset like I’m proposing. After all, radeon_hd already has partial support for it on a number of older cards. If it is left to R2 we will be spending even more time, given that R2 will incorporate a number of other features besides. Lets do it right, lets create something that is truly marketable and has a place on peoples and organisations desktops.

I find your goals are noble and commend you for them.
Personally, I doubt the situation on the driver and hw-feature front will change much for R1, unless somebody spends money and finds developers capable to work on it. We can nail down specifications all we want, if there’s nobody with the time to work on it. I’d love to be shown wrong, of course. :slight_smile:

As an alternative, come up with components that are already working (at least VESA with modesetting, audio, network, wifi, usb) and you’ll run Haiku right now. Like me for now about 6 or 7 years…

Regards,
Humdinger

Having something cheap and standardized would certainly make sense for developers in the short term, however without adding support and drivers for the zoo of ubiquitous hardware by nvidia, amd, intel, realtek, broadcom, etc. would shut the door to any main steam adoption. I love tiny single board computers and would totally buy an up-board if Haiku used it as a reference platform, but it would certainly be more reasonable if you chose not only a more powerful and versatile board, but also one that allowed for expansion in a way that driver development etc. could actually take place - at least an ITX form factor with a PCIe slot.

I’ve always thought about the perfect HaikuBox like a small and silent desktop machine or similar thing. Something that looks efficient and lean. Compact laptop / ultrabook too.

An additional problem is the time it takes for developers to write drivers. If you start from the specs, by the time your drivers are written and ready for use, the board is already way out of date and out of production.

For example, I currently have on my desk one such small board that belongs to Haiku, inc (I don't remember if it was donated or if they bought it back then). It is based on a 500MHz AMD Geode LX processor. This hardware is almost 15 years old and no one in the Haiku project even took the time to write a video driver for it (the board comes with all the required documentation and it seems to be a rather simple chipset).

You will have more success if you try to find some hardware that already works with Haiku, and make that the "reference" platform. This reference has to move and evolve as the hardware stops being manufactured, because a reference platform that isn't easily available isn't worth anything.

Each of the developers have different needs. Some want to develop in a virtual machine and will be happy with whatever can be emulated (in most cases that means antique network cards, and VESA video). Some run Haiku natively, and among those, some want a laptop, some a desktop machine. Some want a 12", some a 17" display. I don't think you can convince them all to switch to a single reference platform. Which means, in the end, your "reference" is just one more platform to support.

“Think outside the box of conventional wisdom.”

So many of these issues can be circumvented and improved, with a little non-conventional thinking. But so many are tied down to the thought that you can’t escape the way things are and the way things are done today. Not wise. Waste of time. Crazy. Etc. And so things continue as they have, ad infinitum.

Accelerated 3D video driver issue? Not a problem. Create your own (non-conventional) video card. Obsolete hardware? Optimize and refine. Etc.

If devs thought (today) the way devs thought back in the days of the Atari ST and Commodore Amiga, there is no telling what kind of performance/usefulness we could see out of hardware that is deemed utterly obsolete and worthless. If we truly sought to squeeze every drop of performance out of the hardware we had, instead of just “moving on”, as the industry orders.

A “reference platform”, is a nice idea… but where do you go from there, once the industry moves onto the next design and renders the old model obsolete? “Forced Obsolescence” is a curse we deal with and accept, only because we either choose to or believe we can do nothing about it.

The difference is Amiga and Atari developers had the cash and the support for their developments, at least in the mid 80s. After five years that was fading away fast.

Having thought about the whole situation over the last few days, the best thing I think I can do right now is to find ways of building more interest and securing more funds for the development side. I’m looking at avenues I could exploit to present the project as a whole, explaining how the back-end and the UI are valuable in the future market for desktops. These are my starting points as I see them being for the foreseeable future.

It is not conceivable to me for Haiku to be consigned to the hobbyist market. I am probably crazy but I can perceive a certain value in it, as part of a wider ideology and business concept.

Haiku, as a business concept, needs an absolute goal, with an edge. An angle that makes people go, “Wow!” Like BeOS did, long ago. But they (Be, Inc.) dropped the ball, and the rest is history. Without a definitive edge that breaks the mold, I suspect things will continue and remain as they have.

I think it is worthwhile to mention that we should support hardware that uses a touchscreen. While this would entail developing drivers for a touchscreen display, as well as handling touch events, it is important because tablets are becoming more and more popular.

[quote=Luposian]Haiku, as a business concept, needs an absolute goal, with an edge. An angle that makes people go, “Wow!” Like BeOS did, long ago.[/quote]Be careful, you can make people go ‘wow’ without a product that people will actually buy. Haiku already has an absolute goal for R1: to be binary compatible with BeOS R5. What I’m trying to develop is a strategy for Haiku beyond R1 as a proposition for desktop users, maintainers and developers.

[quote=Luposian]But they (Be, Inc.) dropped the ball, and the rest is history. Without a definitive edge that breaks the mold, I suspect things will continue and remain as they have.[/quote]Be Inc. shifted their goalposts too many times. What they should have done was to continue the BeBox line with faster processors, and found some hardware and software partners to mount more of a challenge to Microsoft. Sadly they lost their way by first, making a hash of the launch of R5 (the personal edition was pointless) and then by the BeIA venture, which drove them into the wall.

[quote=dorje]I think it is worthwhile to mention that we should support hardware that uses a touchscreen. While this would entail developing drivers for a touchscreen display, as well as handling touch events, it is important because tablets are becoming more and more popular.[/quote]Actually growth of the tablet and smartphone market has shrunk for many years. Developing Haiku for phones and tablets is something to think about for R2 maybe, but not R1.

PulkoMandy,

The various developers may have different preferences, and in some case needs if they are developing drivers and/or kernel related code. This should not prevent the designation of reference systems.

There could be a reference virtual machine for pre-R1 and R1, to be updated when R2 comes around.

In terms of real hardware, the CPU and GPU tend to be integrated chips for the low end to medium end machines. Also, raw performance improvements have been more incremental than anything else since the third generation AMD and Intel processors. Yes, faster, smaller, more power efficient but not dramatically so.

The tricky part will be to select a few desktop and notebook implementations which have been demonstrated to mostly work with the current pre-R1 Haiku, and have been sold in a sufficient number to be easily sourced on secondary channels.

A wild thought is crossing my mind. The Google Pixel 2013, whish is an i5-third generation class machine and some pretty impressive I/O specifications, and a stated end-of-line of April 2018, will not be capable of running the glue kit allowing Android Apps to run on Chrome OS. This might mean that its practical EOL could be a lot earlier than 2018. If this is the case, maybe Google could be persuaded to release the I/O specifications with enough sample code to be useful to open source projects. And, plenty of these machines were distributed at the Google I/0 2013 from what I understand so that there could be a fairly stable supply on the secondary market for the next few years.