Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
My progress in porting Wine (haiku-os.org)
290 points by smallstepforman on Dec 31, 2021 | hide | past | favorite | 62 comments


Nice. Still early days but if they can get it all up to where it is on Linux and also get graphical acceleration on at least one decently good card I might be able to avoid my apparently inevitable[0] transition to Linux Desktop entirely and go straight to Haiku instead.

[0] Because Microsoft continues to make Windows more and more garbage every day.


What about the *BSDs?

Although I will say this one thing—the partial title bar on Haiku/BeOS looks amazing. Wish I could have that on Linux (have not been able to figure out how to date), even though it serves no functional purpose to me other than "looking awesome."


I believe that BeOS and Haiku allow you to snap windows together into tab groups, even when the windows are from different programs, which seems pretty practical.


I used an X11 window manager in the early 2000s that had dockable tabs like that. Pekwm I think? I always thought tabs were something that should be left to the WM, for the same reason nested windows are terrible.


https://www.pekwm.org/

VPS support? Website integrations?! It must be some sort of tongue-in-cheek joke



Yes. Maybe I'll try this on my laptop (:


BSD suffers from a lot of the same not-designed-to-be-a-desktop that Linux does. In fact, even more of it.


Well Linux was certainly designed to be a desktop. Linux has even said he's quite annoyed that despite that being its original purpose it's the one application where Linux didn't completely dominate the market x)


> Well Linux was certainly designed to be a desktop.

Kinda, not really. Linus stopped at the kernel, and one of the key features of a good Desktop OS is, well, all that user-interface stuff above the kernel that Linus neither wrote nor prescribed a design for.

It is very clear from the way Linux Desktops work and the way Linux development culture works that the Linux ecosystem is designed first and foremost as a UNIX server with some thought put into being a workstation for UNIX developers.


It's non-uniform, IMO; OpenBSD is good at being a desktop, since it's developed largely by people who use it as a desktop, while the others work but aren't as polished, no.


Have you tried DragonflyBSD? It’s built by an ex-AmigaOS developer and has some pretty innovative ideas.


As far as I'm aware they have not solved or attempted to solve any of the things that make BSD and Linux such terrible[0] personal computing desktop OSs. They seem primarily to be UNIX workstations meant for UNIX developers to do a little web browsing on the side and not much more.

[0] This is a subjective opinion, obviously. I hate that I have to state that outright but if I don't the very next comment will be someone asserting it works great for them. It's great if it works great for you, but I'm not you; I only care if it works great for me and I assure you it doesn't.


The problem here is you’re not really substantiating what, in your opinion, makes Linux and BSD terrible desktops.

> They seem primarily to be UNIX workstations meant for UNIX developers to do a little web browsing on the side and not much more.

What is it you want to do? Linux and BSD has way more software than Haiku would so why make this point in a thread where you’re discussing running Haiku?


The Linux and BSDs are not well integrated or thought out for a desktop use case.

Linux has no integration or consistency above the kernel leading to dozens of ways to put together a system which leads to a lot of inconsistency and fragmentation which leads to a lot of problems. Some software works one way and follows one set of paradigms, a different set follows a different set of paradigms, neither of them can be said to be 'wrong' because there is no definition of 'right'. The underpinnings of the whole desktop ecosystem are a complicated interdependent tangle of software put together by disparate teams for their own reasons. Much of the libraries used break their ABIs so consistently that an army of package maintainers and a complicated management program are necessary to get any of it working together with any consistency at all, not that it will ever make them behave consistently. All of this has lead to a software distribution nightmare where a developer either open sources everything and relies on third parties to get their software to the people or jumps through a bunch of hoops to make their software self-contained enough to work on most of the ridiculous number of variants out there.

BSDs at least have an integrated base-system, but of course that doesn't include anything GUI so effectively they're like Linux in the Desktop case. Worse, they have no stable kernel ABI.

Whether or not you think these are problems, I do.

> What is it you want to do?

Use a desktop that is designed first and foremost as a personal computing desktop, not a disparate hodgepodge of crammed-together projects that can be kinda-sorta ok at dozens of different uses. I want a relatively stable platform upon which graphical applications can be run. I want it to be developed by people who give a shit about user interface design and aren't just chasing the latest mobile-inspired fads. I want it to be developed by people who consider the GUI the primary interface. I want it developed by people who don't think the GUI is best suited to being the worlds fanciest tmux. I could go on.

Of course, Haiku isn't actually good at some of the things I want it to do, I know that. That's why I'm not using it today. But what it has that Linux and BSD desktops don't is potential, and I think that's worth a lot.


> the whole desktop ecosystem are a complicated interdependent tangle of software put together by disparate teams for their own reasons.

That’s literally the case with every popular operating system though. Even macs, with Apples historically strict design guidelines, have different applications behave in different ways. And with the rise of Electron and web-based management interfaces things have only gotten worse from a consistency point of view (though better from a cross platform support point of view).

Haiku isn’t going to solve this any better than Windows, Linux or macOS have.

> Much of the libraries used break their ABIs so consistently that an army of package maintainers and a complicated management program are necessary to get any of it working together with any consistency at all

ABIs are stable in Linux. More stable than in Haiku, Windows and macOS. Maybe you’re talking about APIs? And yeah API management has historically been a pain in Linux but honestly package management is the way forward. It makes managing installs, updates, security, discovery, etc so much easier. Microsoft and Apple even know this since they’ve released their own package management (except Microsoft ripped off FOSS for theirs and Apples is so bad that everyone ignores it and uses independent FOSS solutions on macOS instead).

> All of this has lead to a software distribution nightmare

That doesn’t affect users of desktops though. Only developers. And you said I didn’t want a development OS.

> BSDs at least have an integrated base-system, but of course that doesn't include anything GUI

On some platforms it does.

> Worse, they have no stable kernel ABI.

Not a concern for desktop users. Not even a concern for most developers because you’d be generally hitting user space APIs and the kinds of developers that do care about ABIs are the kind that are doing low level enough development to purposely choose a workstation for desktop work.

> Use a desktop that is designed first and foremost as a personal computing desktop, not a disparate hodgepodge of crammed-together projects that can be kinda-sorta ok at dozens of different uses.

That’s exactly how all popular desktop operating systems work though. Windows has a dozen different API frameworks for anything “desktopy”. And that’s before you start talking about 3rd party APIs like Java, Qt, Electron, etc.

> I want it to be developed by people who give a shit about user interface design and aren't just chasing the latest mobile-inspired fads.

Unfortunately Linux seems to be the one of the few platforms that still focus on that. Windows is a mess, macOS is a mess. But some developers are doing some really good design decisions with Linux desktop environments. Unfortunately they take a lot more hunting to find and it they don’t solve the other complaints you have regarding Linux. But I do feel your pain regarding modern bone headed design decisions. BeOS was beautiful though.

> I want it to be developed by people who consider the GUI the primary interface. I want it developed by people who don't think the GUI is best suited to being the worlds fanciest tmux. I could go on.

Plenty of those types of people exist on Linux and BSD too. :)

To be honest I don’t think we are going to agree on what makes a good desktop operating system, which is fine. On a technical level I don’t think your arguments are fair but this is really more than just conversation about technology; it’s about preference and feelings. If you don’t gel with Linux then it doesn’t matter how many people say “you’re wrong” because you’re still not going to gel with it. It would be like me shouting at you for preferring coffee over tea. I do think if you don’t like Linux nor BSD then odds are you’re not going to like Haiku either. But there’s no harm in trying it.


> Apples is so bad that everyone ignores it

What package manager are you referring to?


Back when I used to read Distrowatch I often read about DragonflyBSD and its innovation (HammerFS I and II in particular if memory serves me right), but my understanding was always that it was a server OS?


They definitely have desktop usage in mind. They have desktop screenshots on their site, include desktop wallpapers and even have a section describing laptop comparability https://www.dragonflybsd.org/docs/user/DragonFlyOnLaptops/


One cool thing about WINE is that you can compile against Winelib and have apps that work on WINE on many platforms, now including Haiku OS, and natively on Windows.


2022 seems like it will be a great year for Haiku:

- They have a (one) full-time developer working on the general stability of the system and better hardware and general driver support (and many more things)

- X512 still tackling graphics acceleration, compositing, multi-monitor support and occasional cool stuff like this

- ARM/ARM64 port seeing active commits

- Much better Intel graphics hardware support merged already

- QtWebEngine already ported and opening the way for working web browsers

- Native WebKit port preparing for upstreaming and WebPositive again seeing fixes after a long time

If the project had better financials, it would greatly help securing the project's continuous development.


Hell yes, I remember going to Macworld in the late 90's and being blown away by BeOS and BeBoxes. It's about time that stuff starts to get some respect. Very happy to see a "429 Too Many Requests" on haiku-os.org right now :)


I've been waiting for BeOS on the desktop for so long. Glad to see the Haiku OS taking off!


Enough to pay say 200$ for a raspberry pi running haiku in some spiffy case?


Intel Graphics support?

That means it might make a decent personal desktop OS for Intel NUC devices.


No graphics acceleration yet though.


I am tempted to buy another laptop just to put Haiku on it.


I bought a cheap lenovo “workstation” ~400 usd mostly to run haiku. Laptops tend to be a little more difficult as they tend towards more “exotic” hardware.


> And this is with just one day of work! Simply amazing!

Man, real imposter syndrome creeping in after reading this. I can barely get anything done re: programming, and this guy's ported Wine to a totally foreign OS.


Keep the selection bias in mind. Sure, there are amazing engineers like that and we get to know that due to the internet. Let's celebrate that and acknowledge that they're extremely rare.


You also rarely learn of the failures of the great engineers. They experience failure just like everyone else.


There's even one other selection bias at play here. This might well be one of the most productive days of them that we're reading about. Not their average output per se.


To be fair to the other end of the spectrum they might be crap at sanitizing Excel spreadsheets and automatically databasing the contained information. Not as sexy, but maybe not less useful.


This makes me feel ashamed of my unending troubles focusing on doing something useful, instead procrastinating way too much.


Now, image how the world could be a bit better if BeOS was open source.


Hard to say without knowing about its code quality. Haiku is quite good, and it might be better off for not starting with legacy code (I'm particularly thinking of working with modern GCC). Or maybe starting from a fully implemented system would have allowed for much faster progress. Can't tell from here.


There was a fork of BeOS floating about which was based on BeOS source: Zeta.

Unfortunately the company behind it (originally YellowTab, later Magnussoft) couldn’t prove they had any rights to the code.


How'd they get at it in the first place?


Good point. I honest don’t know / can’t remember.


I heard rumors that there were several areas of the original BeOS code that were hackish and problematic, and that Haiku being a clean break is actually a good thing.

Will not be able to give you a reference to that, but hoping someone familiar with the situation might confirm/disprove this for us.


Where can I drink HaikuOS kool-aid? I really want to understand the appeal.


In a VM or an old notebook you bot laying around. Be amazed by the speed.


Also interesting find from that thread: TIL there's a X11 server for Haiku.


That's big news for Haiku OS, isn't it?

Has somebody a resource to learn from how Wine works, at least the basics of that?


> Has somebody a resource to learn from how Wine works, at least the basics of that?

Check this out: https://wiki.winehq.org/Wine_User%27s_Guide


One thing that prevents me from using Haiku OS daily, is that it does not support full disk encryption. If someone has physical access to my laptop, it will be quite easy to read the files from the hard drive.


In case it goes down again: https://archive.is/3KbWA


Are there any Haiku fork yet?


Why would somebody fork Haiku? A full fork is unlikely to happen unless there's really significant technical or cultural differences that can't be resolved within a single code base and community.


There was a short-lived fork _years_ ago that used the Linux kernel instead of Haiku's kernel. I don't even think the fork was made publicly available due to the community backlash.


Community backlash? Could you explain more? I have never heard of this before, and I am unsure why the Linux kernel would be the source of controversy as you describe it.


It's been ages, so my memory is hazy. IIRC, this is the thread that spawned the issue:

https://www.freelists.org/post/haiku-development/Whats-the-s...

Backlash might have been a strong word to use. Concern might be better fitting.


To do what?


Because in that moment it’ll have a great amount of relevance


Humor me; when has that happened? Off the top of my head - Open Office is still dead, netbsd and openbsd are both fine but I don't think the fork played into that, neovim gave vim a kick but they'd stagnated and Haiku hasn't... actually, that's a trend; forks help when the original has stalled, but Haiku is healthy and happy to take contributions.


What moment?


What is Haiku?


From https://www.haiku-os.org/about/ :

> Haiku is an open source operating system under constant development. Specifically targeting personal computing, Haiku is a fast, efficient, simple to use, easy to learn, and yet very powerful system for computer users of all levels.

...

> What’s so good about Haiku anyway?

> The key highlights that distinguish Haiku from other operating systems include:

    Specific focus on personal computing
    Custom kernel designed for responsiveness
    Fully threaded design for great efficiency with multi-processor/core CPUs
    Rich object-oriented API for faster development
    Database-like file system (BFS) with support for indexed metadata
    Unified, cohesive interface


For port, I think all that should be necessary is to take wine and -D_FORTIFY_SOURCE. As long as you have the right grapes.

(Sorry, I know we don't do jokes here, but hey it's New Years, right?)


I mulled over your Wine port joke and found it quite tasteful, happy 2022!


Clever. And I wont get spicy about the downvotes.

Happy new year.


Happy 2022!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: