Is Haiku still looking for Developer Contracts?

looks like OpenBSD have a higher Linux version than DragonFlyBSD’s .

gitweb.dragonflybsd.org Git - dragonfly.git/history - sys/dev/drm

DRM update committed (undeadly.org)

and DragonFlyBSD’s has a IRQ Linux implementation.
DragonFlyBSD Implements Part Of Linux’s IRQ Subsystem, Improves DRM Driver Portability - Phoronix

Maybe taking care of Intel drivers would also help. From what I’ve seen, most frustrations come from having to blacklist stuff at first boot. If people could get picture without any issues, I doubt they’d be that frustrated.

But if the greater goal is to use all drivers from Linux or BSD-verse plus DRM, all effort should go there first.

That is debatable.

Personally I am annoyed at this approach, where everyone just relies on Linux to write the drivers, and Linux relies on the hardware manufacturers to do it. Eventually this means all the knowledge about graphics driver in the community is lost and we are fully dependent on the corporations to provide us with drivers, it makes me a bit sad.

On the other hand, maybe it is easier (I’m not even sure about that).

That’s not the only thing. In my case the driver works fine for the internal display of my laptop, but I cannot use any external display. This is very annoying, because I have a much larger and much better display at home. As a result I do not use Haiku this much, and, for example, I am less interested in getting it to play Youtube videos properly because I have to watch these on a different computer anyway. If Haiku had dual screen support I would use it a lot more.

Also annoying is that I several time spent a few hours looking at this Intel driver and couldn’t understand why it’s so close to working, but there is always something slightly wrong and I can’t understand what it is. The work is maybe 90% done, but without the remaining 10%, it’s all useless. And like for web browsers, the dominant approach is “oh we should just restart from scratch, ignore all the work done so far, and port Chrome/Linux video drivers”. Maybe I am unreasonably invested in the native solutions.

4 Likes

AMD has docs on their gpus (maybe not all, i have not checked) but certainly for some, I’ve bern playing around with the idea of building a driver.

I am not a fan of porting linux drivers really, it could bring some nicer gpu 3d support but that seems a bit effort vs reward kind of thing, I think it makes more sense to have drivers we can actually debug ourselves in the long run.
(I also had incredibly bad experiences with linux drivers crashing constantly on oses that had ported them, Personally i think stabilitiy is more important that absolute performance, and therefore think it is fine for the driver to crash, but not for it to bring down the system as a result, so I favor a usermode driver, if this is feasible)

One can though use the drivers in linux as a reference for building a new driver too, since the intel and amd ones are mostly mit afaik.
for nvidia i simply wouldn’t bother currently.

1 Like

There are too many kind of hardware so even with good will, you won’t be able to achive this on your own. Therefore, maybe try to approach manufacturers. Show them that Haiku is different and has a lot to offer. That it would be sad to use ported drivers and not take advantage of Haiku design. Ask them what they would need to write drivers and how you could cooperate. Even if they don’t do it themselves, they could provide infos that would help in the design of the architecture needed, of a toolkit and docs necessary for the one who will do. You could also use these infos to make a “simple” driver that can be used as an example.

That argument applies to every hardware, maybe we should just not make any drivers if it is impossible to make one for every piece of hardware by a single person…?

I think it is perfectly possible to make drivers for specific pieces of hardware, why shouldn’t it be?

The intel extrem I have works with external vga output. I have to connect the VGA cable and restart my laptop. I have to do it manualy so no problem. Hotplug is not possible.
I will get 1920 x 1024 with cable, and 720 x 576 without cable on Laptop.

For easy solution. Why not embed the echolog output in Vision? Or put a link to the log files in Vision? What is so difficult in open the log files in a browser window?

About Web+ I am very surprised about what it can already. It shows my AVI files and plays them! Not possible with another browser or Windows! For watchinh YouTube Videos it will be just a mattet of time and the Haiku beta3 to see these working again. Still we have qmplay2 anf Otter browser to watch Videos right now!
I really don’t know all this discussion about Web+ in connection to YouTube. Haiku is there to work first not for watching Videos all the time.

Haiku should become a heaven for all the modern developer out there first!

For the drivers issue, I believe @andreas_dr was trying to port some OpenBSD drivers, pinging him in case he might want to chime in.

Yes, it does.

I think Haiku should provide only generic drivers. Maybe few others as example.
It is already a lot of work. See how long it took for USB3.
Why do you think proprietary OSes only provide generic drivers? M$ can’t even keep up certifying them.

Writing a driver is not a simple thing. It requires knowledge and so a big community to get some pieces working. It also require testing and for this you need the hardware. This obviously takes time and and money. More hardware will be supported by your driver more the cost will evolve.
Yes, you can have few devs working on the cards they own and get here and there few hardware donations that will help but we need to be realistic. Linux didn’t manage to do it with a larger community (at least for graphic cards and printers) and proprietary OSes chose not to do it. There are certainly good reasons.

Hi, whats the question.

I am just trying to port RadeonDRM(for now) from OpenBSD to Haiku. But in the moment my time is a bit limited. I guess in a few weeks Ill have again more time.

Check here:

Many thanx

3 Likes

I don’t agree, because I want to run Haiku on the computers I own, and use all the hardware. “generic” drivers don’t even always get you native resolution and dual screen support is completely impossible, for example. Having good support for some hardware (not all, but at least some) is one of the key things that make us a serious alternative OS and not something you just run in a virtual machine to play with. If this goes away, the users and developers also go away.

So, it is indeed a lot of work, but it is fully worth it.

The AMD engineers provided some help for the radeon_hd driver. The Intel engineers I think have never answered us when we asked for help.

For Intel cards we have the documentation from Intel (it is publicly available on their website), but for recent devices I find it a bit incomplete and not very clear (the first version of the docs for older generation of cards was better). Also it is only documentation for the graphic chipset part and sometimes there are other things involved (having similar docs for the complete chipset would be great).

We all want to have all our hardware working… If you can do something for it, a simple user can’t and is even more frustrated.
I agree that no support at all isn’t an option but there must be a balance. You can’t reasonably handle full support for everything by your own. You have a small team, you have to make choices.
Focus on manufacturers willing to play ball and advertise it. Make partnerships, make progress with them. Prove to those who are seeing Haiku as a kind of BeOS emulator and not as a serious alternative OS, how much they are wrong.
Once you have 3D working for a card brand, I would even approach gaming industry. Haiku is light enough to be bundled with the game bundled with the graphics card and boot on the game support directly. Play nearly everywhere, no need to install, no need to buy any OS and get better performance than on another OS.
Haiku has all it needs to become the most powerful gaming platform.
It’s fast, simple to use, media oriented and with packages authentication could be more secure than most systems.
Demonstrate the power and others manufacturers will beg for support of their hardware.

I think there are multiple viable approaches to getting 3D acceleration working on Haiku. All of them will require changes to app_server and likely how the accelerants work. I agree with nephele that user-mode drivers would provide more stability. Though those may be easier to do with Haiku native drivers than ported Linux ones.

I have only barely scratched the surface of this issue, but I know there is a massive amount of code in just the auto-generated headers for AMD hardware definitions for the the amdgpu driver in Linux. Now maybe we could have a tool to import those but my point is a lot of this is just grunt work which maybe is not the best sort of work for a mostly volunteer project like Haiku. I also wonder about the value of it for paying a contractor (to bring this back a bit to the topic at hand.)

I have always thought the fastest way to “crack this nut” is to pick one piece of hardware, either Intel or AMD, and try to get that working with OpenGL. I would not even worry about app_server yet, just get GLTeapot or a small 3D game running under acceleration using direct mode at 500 FPS or whatever. This could be with a very focused native driver or maybe using a Linux driver, but the Linux side requires all the extra work for a compatibility layer. Either way I think focusing like this will produce something faster. Consider it a prototype, or a spike, or whatever you want to call it.

Once basic 3D through OpenGL is working, then see about accelerating the browser and/or app_server. That will be a lot of work to get all the plumbing working. Then when that is working I think the decision can be made of the overall approach to get support for more hardware.

On a slightly related topic: I feel like every time I bring this up people are always complaining “but what about my hardware?” but I do think maybe the best hope for Haiku is to not emulate Windows and Linux, but macOS, and focus support on a limited set of hardware. Of course Haiku is not and probably never can be a hardware manufacturer like Apple but there are common hardware devices that could be focused on. I mean more than just Haiku developers scratching their own itches to fix their own hardware. But this requires more coordination and consensus which might be hard to reach.

Fully supporting RaspberryPi would also be huge but given how hard it has been to get even one non-x86 port working I don’t expect this to happen any time soon.

Anyhow I think things will greatly improve and momentum will increase once someone, anyone, gets past the first hurdle of just a basic 3D driver which supports accelerated OpenGL. It is sort of like various world records, once someone proves it can be done all of a sudden other people repeat it. Not quite the same idea, but close. I think we just need to get past the first hurdle and then things might speed up.

1 Like

The contractor can do all the basic but needed work to give the core developer more time for the hard work.

I agree, I think this would be the fastest way to get the stone rolling.

Hopefully soon.

This actually sounds like a perfect task for a contracted developer. It would be a great stopgap and incentive for people to pick up a Pi and try Haiku on it.

My choice is very easily made: I support the hardware I already own. I will be happy if I manage that already.

My current laptop is 10 years old and I have not gotten the video card fully working yet. Clearly I cannot honestly accept a partnership where someone donates me hardware and I make Haiku work on it. I will just pile up the hardware here and never do anything with it.

How do I know? Very simple, here is a list of hardware that I have here that was donated to me or to Haiku inc in the hope that someone would write support for it:

  • A SATA blueray drive
  • 4 Sun Ultrasparc machines
  • A VIA C-3 based embedded PC with a GPS receiver and a multi-UART board
  • A DVB-T TV tuner

With all this (some of these I own for more than 7 years now), all I had time to do was getting the bootloader running on SPARC.

So, how would a partnership go? “donate me some hardware now, and in 2028 I will be posting on a forum about how I did nothing with it” doesn’t look like a very promising thing.

Also, personally I have zero interest for 3D acceleration. I don’t play video games. So, someone else will have to do that work.

If we want to do partnerships, we need someone who can dedicate their time to that. Personally I can’t, because I’m already very busy with just keeping Haiku usable for my own needs on the hardware I already have. And that’s one case where someone being paid to do things may be helpful, since they could dedicate some time to it.

Perhaps, finding students who want to work in the domain.
Haiku could mentor them in the discover of working with an open source project and basics of drivers. Later the manufacturer could offer a stage on how to write a driver for specific hardware. Even if the said driver isn’t for Haiku, the student would acquire knowledge about the piece of hardware that would be helpful.
If all went well, at the end of this stage they could be offered to work for Haiku for a year or for a specific task.

I’ve read over the above, I have some thoughts of my own to add later and will keep updated on the thread, but just to pop back to the original topic for a second, and confirm I’ll continue working on my setup and then read the docs on Gerrit and take something from Trac and submit a few patches for review; we can then see where we are then so I’ll leave it at that until I have those patches for the moment. :slight_smile: Oh, I also learnt that Github… sponsors(?) exists only just earlier today, no idea how it works as of yet but wonder if that’s in any way a useful revenue stream.

It would be very usefull for 3D apps like Blender and a lot of video editors would benefit.

Yes that money would be wise invested in helping you get more time for your interests and development of difficult tasks, also for doing small projects with more speed up! If you pay someone it is work to do not for pleasure.

Yes please continue getting your Haiku development set up going and get some patches up to Gerrit.

Sorry the thread has kind of diverged, that happens here like in many places. I may pull the 3D acceleration talk into another topic.

As for GitHub Sponsors I have thought it might be nice for Haiku as well but it seems to be closed to new projects last time I checked.

1 Like