Drivers, develop in or out of Haiku tree?

C++ ABI used in Haiku is stable starting from GCC 3 (2001). It is based on so called Itanium C++ ABI. It is also supported by Clang. Another major C++ ABI is Microsoft ABI, it is also compatible between various Microsoft C++ compiler versions. It was used in old Intel BeOS version, but Haiku don’t support it.

5 Likes

So what you are saying is that booting from Refins is different from booting from the USB Disc?

Yes, you need to use a magic UUID to get a special Mac API and call one or more of the functions, and then your Mac bahaves like a ordinary computer and exposes all your hardware. Otherwise you won’t see or detect some hardware.

1 Like

I don’t want to deal with such hardware that use such vendor lock and I stay away from any Apple production. With switching to ARM situation will be likely even harder. I think that Apple computers are bad targets for Haiku.

8 Likes

I think we as a project want to have broad adaption, but hw that decides to do things their own way is very hard to work with.
As you can see here https://review.haiku-os.org/c/haiku/+/3741 we do try, and kallisti5 did some work earlier as well, with me being on the defensive side and only add things if they don’t break things. It’s hard to get it right with things close to hw like bootloaders, as it can’t be emulated and tested easily.
I don’t see anyone being very open and following standards, Dell might be the best at standards from my ACPI view. No manufacturer or hardware is really good for a small open source operating system. Some are outright bad though.

3 Likes

It is probably better to suggest use Refind to boot Haiku on Apple hardware if it solve incompatibility problems.

I have quite good luck of running Haiku on various hardware including tablets. Even better then Linux that sometimes stuck at boot or fail to run graphics (but it was quite before in time).

3 Likes

Yes, it works kind of well. Lenovo which seems to only care about Windows, and seems to ignore standards even seem to work. They have their own ACPI Embedded Controller and locking we don’t support at all, and still most Haiku devs use it :slight_smile:
Just look at the linux quirks for IBM/Lenovo…

2 Likes

Getting consumers to care about standars compliance would go a long way. From manufacturer point of view if it’s more profitable to ignore by reducing development cost with no quality issues, they’re making the call for coat cutting.

1 Like

It depends on how much hardware we want to support. Basic hardware is already working quite nice.

4 Likes

Yes, it is what we want to prioritize, and also what hardware skilled developers own. Right now our way of working is mostly following standards, and skilled developers scratching an itch. I do see this is starting to improve though. If we manage to be nice and work together…

4 Likes

I’m obviously not a developer, but I’ve used Haiku as a secondary OS on my ThinkPad W700 without any major issues, regardless of the lack of support for certain proprietary hardware such as the aforementioned ACPI EC. The only component that doesn’t work properly is the graphics card (NVIDIA Quadro FX 3700M), and that’s due to an understandable lack of driver support (NVIDIA doesn’t provide much documentation for their hardware, or so I’ve heard). Everything else works fine. :slight_smile:

1 Like

You see acpi_task at 100% CPU if you have that problem, and multimedia keys and other things controlled by EC not working.

Spot on @pulkomandy. There is no problem. The only problem is people arguing on the forum about things they really got no clue about. It´s getting to the point where I want to skip the forum altogether and only participate on IRC and the mailing lists even though I find the forums the easiest to use from a technical standpoint.
As for the call for more moderators on the forum: I don´t really want to advertise myself for that, but If the current moderators think I´m qualified for it I´ll do it.

5 Likes

Apple seems to be making things easier for the Linux on Apple Silicon efforts, according to their lead dev Marcan: https://twitter.com/marcan42/status/1471799568807636994?s=21

2 Likes

That’s the goal for the haiku-format/clang-format tool, unfortunately the current version is not working well enough, it fixes some issues but it creates new ones. The tool needs to be improved before we can start using it.

1 Like

Do we think it is possible to get the code formatting tool to be “perfect” when following our guidelines? Or are the rules we have just too tricky? I do Go at work and I trust the go-fmt tool 100% to format the code and that is really critical. If some of our rules are too tricky maybe they could be relaxed. Though hopefully it is just a matter of improving the tool and having a lot of unit tests with a lot of code samples that we ensure are formatted correctly.

Is this where work should continue on this, or maybe from a fork?

The current rules are probably too tricky. We could rediscuss and change them to match what the tool says.

However I would be happy with a tool that at least does not make things worse. If it misses some things, that’s acceptable.

One of the problems we have to handle (that I happen to remember now, there are others) is the very specific indentation used in BLayoutBuilder code. I don’t think we want to change that, as indenting everything on a single level would be a lot less convenient. But telling clang-format exactly how we want this to work needs some patches to their code.

EVENTUALLY someone is going to have to rewrite or debug ANY software that is in the repository. People get bored, no longer have time due to life changes, etc., and people have to be able to read and understand and being able to debug/improve the software.

If the code does not match the style, naming conventions, etc., etc., etc., it takes much longer to continue to support any code that ends up in the repository. So anyone contributing NEEDS to abide by the rules for that project. If you don’t, the code may not be worthless to you but it could be unusable for the project in its current form and someone would have to rewrite it to match up and that takes time and depending on the situation … money.

A programmer is not an island that can just code however they feel and have their code accepted by the rest of the ocean or planet. Your plant and animal life NEEDS to be compatible and in style.

Thank you for your answer. It’s a bit sad that it has so difficulties to use the tool.
Is there possibility to have been testers ?
Could one of you instruct us to help you with some minimum level to use this tool and at least to run some conversions for you ?

I assume we should know how to use github and install the tool in Linux or Haiku.
If I could build the necessary environment on Dell Precision 6700M I have a 3rd gen i7 Extreme with 8 cores in it and 32GB DDR3-L RAM, so it might be quite fast for conversion and compile.
My mother language is Hungarian, but I can communicate on english as well - if the speaker is not natural english they a bit quick for me :slight_smile: – and I rather communicated IT stuff mostly so my regular english is also a bit poor. :wink:
Here you are – I can be involved if possible to help you in any way.