Hacker News new | past | comments | ask | show | jobs | submit login
Porting Wine to amd64 on NetBSD, first evaluation report (netbsd.org)
78 points by fcambus on June 30, 2019 | hide | past | favorite | 21 comments



Thanks to the people doing this work! I’m not a direct user of Wine or NetBSD, but these sorts of porting efforts improve code quality all around.

I hope they learn skills that will be helpful down the road.


(Off-topic, but there aren't many posts about NetBSD)

Are there many users of NetBSD on amd64? What's your use case?


It’s a fantastic Unix-like general purpose operating system. It is (and has been for ~17 years) my default OS (primarily on thinkpads and VMs). Personally I find the development and priorities on-point, and the fit and finish excellent. On it I do “day to day” computer use, development, audio work, graphics work, and video/multimedia work, as well as my own other random play. It’s a complete, robust, fully integrated operating system with fine hardware and software support, in my experience. The community is savvy and mature; in a way I think this project (incl. the community) is flying under the radar.


I've heard this kind of thing about all of the *BSDs, and I'd really like to try them out: I'm very appreciative of their system structure, package management, and greater focus on the UNIX philosophy. What concerns me most is that I had a very unfortunate experience with everything on MacOS being subtly incompatible with most Dev tools, which generally assume Linux. That's mostly what's scaring me away from trying to dual-boot.

Would you be able to speak to the differences between OpenBSD, NetBSD, And FreeBSD? So far as I can tell, FreeBSD is generally focused on getting the most software and the most drivers, etc, in order to compete with Linux, while OpenBSD focuses on implementing everything in the "correct" way, and NetBSD focuses on being a lightweight OS for routers and the like. Is this about right?


> Would you be able to speak to the differences between OpenBSD, NetBSD, And FreeBSD? So far as I can tell, FreeBSD is generally focused on getting the most software and the most drivers, etc, in order to compete with Linux, while OpenBSD focuses on implementing everything in the "correct" way, and NetBSD focuses on being a lightweight OS for routers and the like. Is this about right?

Not even close.

They all are general purpose BSD unix operating systems. All of them are interested in correctness, performance, portability and security (but not in the same order).

The reason why BSD forked has more to do with politics (the seek of power and control) than technical differences.


Are there any technical differences, though? I'd imagine, with different sets of developers for some amount of time, they'd develop?


Of course but they are not so narrow focused like often many people use to depict them.

In order to justify why there so many forks of the BSD kernel it seems to be an urge for exalting their differences when the main reason is simple politics.


If I may pass on Free and Open (for now), I guess it’s fair to say Net has historically placed a lot of importance on what looks to be “running on lots of different hardware”. I’m not a core dev nor spokesperson, but I (would like to?) think this is related to:

1) people scratch their own itch; if something is important or interesting, they do it

2) the engineers are smart (though which project is going to say “I think engineering is our weak spot”?) The decisions that are made happen to mostly resonate with what I’d say are my values - pushing ahead with a semblance of respect for Unix.

3) NetBSD is (and has been) a research operating system. Microsoft used it to test out a new hardware arch they developed[0][1]. It’s (twice) held the “Internet Landspeed Record”[2]. It’s cutting edge in the unikernel/anykernel[3] space.

4) re: portability (“of course it runs NetBSD!”[4]), I like to think there’s a feedback loop where correctness and good design support porting and porting demands that correctness and design. Example when AMD first unleashed the now ubiquitous 64 bit architecture we all enjoy[5].

I don’t know what kind of development you do, but it supports gcc, clang, and PCC, Java, probably any dynamic language you care to name... it’s an SMP POSIX system running elf binaries on big and little endian architectures, all from a single codebase. I see why people would say it’s a stripped-down OS, or built to run in weird places like routers, but I see it as an effective, coherent, non-offensive Unix. I could go on, but let me close this with tongue planted in cheek, stealing from mutt[6]: All operating systems suck. NetBSD just sucks less.

[0] http://wiki.netbsd.org/ports/emips/

[1] https://www.microsoft.com/en-us/download/details.aspx?id=524...

[2] https://m.slashdot.org/story/45653

[3] https://en.wikipedia.org/wiki/Rump_kernel

[4] http://www.informit.com/articles/article.aspx?p=655422

[5] https://www.usenix.org/legacy/publications/library/proceedin...

[6] https://en.wikipedia.org/wiki/Mutt_(email_client)


That sounds pretty darn good. I wonder, does Rust run on it? I mostly do C, C++, Rust and Python development. Basically the only things I need besides those are Emacs, Firefox, and a tiling window manager.

The issues show up because I'm a hyperpolyglot when it comes to programming languages. So for instance I'm thinking about trying J (which I've messed with in the past) and Idris. As you can probably guess, having a common OS is nice for this.


> I wonder, does Rust run on it? I mostly do C, C++, Rust and Python development. Basically the only things I need besides those are Emacs, Firefox, and a tiling window manager.

You sound like me. These days I’m C and Tcl w [ex]ctags and cscope in nvi (in-tree default, but vim available in pkgsrc/pkg), using dtrace, gdb, fossil/git, etc, etc, in tmux, either in the terminal or an xterm managed by dwm. Firefox and Rust (a dependency!) are available. I used to build them from scratch but recently Rust has turned into a real bear to build... like building Linux from Ye Olden Days where you set aside a few days and hoped... but I digress - [X|GNU]emacs are there for you too.


Huh, your Dev setup does sound like mine. Which BSD would you recommend? Open seems closest to my "ideal OS".


Like I mentioned above, I’m of the NetBSD camp. Adopts things like SMP and PAM (, dtrace, zfs, ...) where OpenBSD “drags its feet” or outright rejects (for reasons), but (ime) is less baffling and brittle than FreeBSD (pkgsrc vs ports (though in netbsd tradition, pkgsrc is portable to FreeBSD (and macOS X, Minix, Linux, SmartOS, ...))). Though as ‘pmarin said elsewhere, these are all general purpose OSes, with lots to offer in general, and some specifics to offer which differentiate them from ea. other and from any other OS.

If OpenBSD seems attractive to you, jump in :)

Give it a fair few weeks and evaluate. They’ve got some neat architecture features to play with (e.g. unveil(2), pledge(2)[0]) to exercise your software design/implementation. NetBSD and FreeBSD have dtrace[1] (NetBSD impl. is incomplete but still interesting and useful) and virtualization like bhyve[2] and nvmm[3]. Jump in!

[0] https://news.ycombinator.com/item?id=17277067

[1] https://en.wikipedia.org/wiki/DTrace

[2] https://wiki.freebsd.org/bhyve

[3] https://www.phoronix.com/scan.php?page=news_item&px=NVMM-Net...


You know, NetBSD sounds great, maybe I'll start there.


Welcome aboard! I hope you enjoy it. Give it a few weeks to sink in if you feel at odds, and keep #netbsd on irc.freenode.net in mind. Probably worth even just lurking on #netbsd in the absence of any problems or questions.

Good luck!


Rust is working on Amd64. It’s now a requirement for Firefox and other libraries are increasingly starting to adopt it.


Are there many users of NetBSD on amd64? yes

What's your use case? Use my computer.

It's a good solid unix system without pretending to be something else.


Imagine if the maintainers put their effort into projects that are used by more people...


Imagine everone would follow this conservative view on optimal resource allocation - we wouldn't have none of the BSDs, no Linux, nothing open source/ free software at all. Windows wouldn't have been forced to modernize, instead we would probably all use a late descendent of windows 95. The open web probably wouldn't exist, instead we would all use AOL or one or two other private network providers, paying roaming fees wor inter-network communication.

I absolutely applaud people sinking their minds into interesting niche projects like these. You never know the macro results 10 years down the road.


Do you mean to imply that projects with only a handful of people are worthless? That's how I read it. You might want to rephrase it if you don't mean that?


[deleted]


He's right, GP sounds condescending.


Interesting read, thank you for sharing it. I can't for the life of me think of any Windows apps that I personally would want to run in BSD. Granted, I didn't think very hard. LoL. On my main rig (Arch Linux), the only thing I have ever run in Wine is World of Warcraft and I found the performance to be less than acceptable.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: