Wine ported to OpenBSD

324 pointsposted 5 hours ago
by iamnothere

85 Comments

t-3

3 hours ago

https://marc.info/?l=openbsd-ports&m=179241414029592

> I doubt much will be merged upstream. Many updates we have can technically run on other OSes (%gs stubs won't be built on Linux because %gs is correctly set, SIGUSR1 will work but less optimally, etc). However I picked an approach where everything that is done for OpenBSD is just marked as OpenBSD only. I did that purely to simplify my life while I was working on it and clearly mark the changes.

> When I was talking to Wine maintainers a month ago, they were hesitant to accept even patching Wine so it compiles for OpenBSD, mostly because it's another OS they will have to support and keep operational, while the %gs stub fix is something they definitely cannot take upstream. They are very hesitant to take anything that is changing the "emulated" application code.

iamnothere

2 hours ago

Yes, unfortunately OpenBSD maintainers will have to keep this running for now. NetBSD is apparently in a similar situation. Perhaps their efforts can be pooled at some point if the patches don’t diverge too much.

haunter

3 hours ago

Maken

2 hours ago

I'm really surprised VKD3D works out of the box. So many abstraction layers stacked on top of each other feel like a jenga tower on the brink of falling.

nottorp

an hour ago

Whoa, openbsd has 3d hardware drivers? Only open source i guess, no official drivers?

Maken

an hour ago

The open source drivers are the official ones for Intel and AMD.

asveikau

an hour ago

They port the open source Linux drivers. FreeBSD does this too. Maybe others.

Over time there can be periodic drift and out of date drivers until they re-sync, but it usually works pretty well.

Onavo

an hour ago

What about the most difficult game of all, Microsoft Office?

RunSet

3 hours ago

Especially welcome news now that OpenBSD is shaping up to be a refuge from slopcode.

https://marc.info/?l=openbsd-tech&m=177411620801633&w=2

greyw

3 hours ago

OpenBSD will probably fall even further behind

vdombr

3 hours ago

Yeah, they won't have a chance to rewrite cp and mv in Rust.

greyw

2 hours ago

I mean OpenBSD's utils cant even match GNU's coreutils so I think they have bigger problems

ninjin

2 hours ago

"Can't even match GNU's coreutils"? Care to elaborate? Last time I checked OpenBSD is pretty much in line with Posix and there are plenty of us that consider many of the GNU extensions to be anti-features.

thomashabets2

a few seconds ago

I am not the parent commenter, but I have the same sense that the GNU ones are better.

But the only concrete example I can think of is that `cat -n a b`, if `a` doesn't end in a newline, produces something that is obviously not what the user wanted. GNU cat does it right.

I didn't report it to the openbsd people because I didn't want them to yell at me that `-n` is nonstandard anyway with no "right" behavior, so I should STFU. Which would be what I'd expect from having reported problems in the past.

mahboi

an hour ago

I use a Mac, so the CLIs are the BSD versions. I don't have any opinion on which is better, but it's just annoying that it's different from GNU, so a lot of my work ends up being on a Linux VM or server instead. POSIX compliance doesn't seem to buy me anything. I like the BSD license though.

greyw

2 hours ago

Thats exactly what I mean. I dont care about Posix or the whining about "anti-features". The BSD stuff is a clear subset that doesnt get the job done.

Posix is more an art form documenting the far gone past rather than a practical tool

Calavar

2 hours ago

What are some GNU coreutil extensions that you find you can't live without?

LtWorf

2 hours ago

The conventions for the long parameters on the command line.

ninjin

2 hours ago

"[Doesn't] get the job done"? Well, it gets my job done. You are welcome to use whatever you subjectively prefer (I use GNU's date(1) for a few scripts, but would prefer the English date grammar parsing as a tool of its own), but if you are unable to talk about anything in concrete terms there is not point in trying to discuss in good faith and I will just roll my eyes and move on.

0c3ca83

an hour ago

That's kind of like saying that the MacOS UI can't even keep up with Microsoft Windows. Who wants inconsistent GNU halfassery?

Quitschquat

2 hours ago

I think that's a cultural thing in *BSD.

Krssst

2 hours ago

There are already OSes that include LLM code (such as Linux). It's fine to have a few that don't.

freedomben

3 hours ago

Yep, drivers are one of if not the biggest blocker in my experience, and that's an area AI can help immensely

segmondy

2 hours ago

Then vibe up the ones you need for yourself.

Angostura

2 hours ago

‘Click to write and install driver’

overfeed

2 hours ago

> 'Click to write and install driver’

Theo de Raadt would spin in his grave — after the security implications of this to OpenBSD gives him a fatal aneurysm.

Either that, or he'll surprise-launch OpenLLM, a model bundled in the next OpenBSD release that produces driver code free of security bugs.

ktta

an hour ago

> Theo de Raadt would spin in his grave

Isn't he still alive?

boomlinde

an hour ago

> — after the security implications of this to OpenBSD gives him a fatal aneurysm.

sterlind

an hour ago

honestly LLMs could probably write drivers in CompCert C or some other formally verified dialect. having AI discharge proof obligations seems like a terrific use for all this newly-developed mathematical process.

you could have the driver code prove it implements a spec, that there's no UB, that hardware invariants are maintained, that routines take a fixed time to execute.

the formal driver spec must still be written by sober, well-caffeinated humans of course.

speed_spread

an hour ago

That's also assuming the device is fully documented and that hardware behaves exactly as documented.

noosphr

2 hours ago

If you don't break the law you do indeed fall further behind people who do.

Nothing in that post is against using an LLM. It's all about copyright:

>Since every file in OpenBSD has been continually verified to ensure correct Copyright, and we've even deleted code which has incorrect Copyright, the chances of us accepting such new code with such a suspicious Copyright situation is zero.

Once the current bubble pops we're going to see a lot of litigation over copyright enfringement by LLMs. Currently no one wants to rock the boat because everyone hopes to make a trillion dollars from AI, Oracle included, once they see they can't the knives are going to come out and I wouldn't want to be Linux at that point: https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America

greyw

2 hours ago

Copyright will adapt.

Also my personal opinion about copyright _in the FOSS domain_ is that I simply dont care. Copyleft as the GNU folks like to call it is just using the copyright laws to achieves certain free software objectives. If that doesnt work anymore there will be another fix

noosphr

2 hours ago

Copyright adaptation literally means billion dollar lawsuits, because copyright only adapts after court decisions.

The BSD licences are not copyleft, or indeed part of the GNU copyright regime.

vconnor

41 minutes ago

Yeah, the billion dollar lawsuits that are coming after the trillion dollar ones that are gonna hit the AI industry any day now.

Copyright is dead.

noosphr

26 minutes ago

I remember hearing that in 1996 too.

toast0

36 minutes ago

> my personal opinion about copyright _in the FOSS domain_ is that I simply dont care.

You may not care, but if the OS you prefer to run is the defendant in a copyright case, that's likely to impact you in a negative way.

JdeBP

25 minutes ago

It is amusing to see this point made in a discussion that is notionally about one of the BSDs.

"Those that do not learn history" and so forth.

shevy-java

2 hours ago

Well, they were always slow. But they made a stand against AI slop, which is great. Look at how AI slop infiltrated the ruby core team. You even get slop-spammed down when you try to interact with e. g. Hiroshi Shibata, who suddenly has ... perfect english language skills. A few years ago his command over the english language was rather weak (which is fine by the way, I much prefer broken english from a real human than AI slop spam text as filter acting in between humans).

atmosx

7 minutes ago

Then learn Japanese. No? So you can write broken Japanese and he doesn’t have to translate his words in English for you.

smlacy

3 hours ago

Wow, I honestly didn't think HN would succumb to the AI := Slop perspective.

lionkor

3 hours ago

I think it's the complete saturation of the platform with members who make it feel like HN is a platform for people to boast about how many tokens they burnt to rewrite something that already worked fine.

It polarizes people to either join the "the LLM is my god" crowd or the "if AI touches the repo, it's all slop" crowd.

The careful balance is rarely discussed, probably because that's the part that still takes work.

kingcauchy

3 hours ago

It really depends on the post anymore. Have had a lot of really thoughtful discussions about the nuance that came out of HN convos. Seems like most businesses and people are still just trying to figure out.

runeb

2 hours ago

I would hope that lazy polarization found some resistance on this particular forum

mahboi

an hour ago

It has. You don't see a lot of people who are all-in on AI or against it.

ranger_danger

2 hours ago

Although Theo seems to imply AI code is not welcome, this commit says Claude was used: https://github.com/openbsd/src/commit/9c2b8e445a0bdfafdd6148...

ninjin

2 hours ago

Plenty of issues that have been patched recently found using such tools as well. OpenBSD's policy remains largely the same as always: You need to understand the patch you propose and it needs to be maintainable. The link elsewhere in this thread is mainly discussing large patches where it is unclear if the LLM drew too heavily on code elsewhere.

raddan

6 minutes ago

OpenBSD's errata list has recently started growing rapidly, and the scale is a real departure from the past. I have taken to running syspatch much more regularly than in the past. Anyway, it's clear that the project's stance on AI is "as long as reports are detailed and high-quality (and probably from a person with a record of such work) the project will act on it." See slide 17 here: https://events.eurobsdcon.org/media/2026/submissions/ZGDXQR/...

hias

2 hours ago

how do you think they made this wine port lol?

simonw

2 hours ago

Looks to me like it was made without AI assistance. https://github.com/NethIafin/wine/tree/openbsd-master

asveikau

42 minutes ago

Afaik I think I saw the author say on reddit he used AI to prototype and then rewrote it.

https://www.reddit.com/r/openbsd/s/k0dz2WrkCo

In that thread I suggested he submit it to the ports tree, I'm not sure if he took my advice or came up with the idea on his own. At any rate this is cool.

MYEUHD

24 minutes ago

Yes, he said the same on the mailing list[0] when he asking about a related thing 3 weeks ago:

> I had some success in porting Wine to amd64.OpenBSD. Was able to run a few = games. But that required in memory patching of %gs commands (LLM's suggesti= on and 1st implementation, then I re-did it from scratch - I'm not that sma= rt with amd64 assembly code)

Also, it's not a single author. Other people contributed significantly and their contributions don't seem written by AI: https://github.com/NethIafin/wine/commits/openbsd-master/

[0]: https://marc.info/?l=openbsd-tech&m=179070255546118&w=2

ranger_danger

2 hours ago

Do you have any evidence to support this claim?

baq

2 hours ago

at this point in the timeline you need evidence to the contrary, safe to assume most code is AI generated or AI assisted at the very least

mahboi

an hour ago

If "slopcode" means code where the author consulted AI at all, yeah. But it's pretty easy to tell if the author AI-spammed without even reviewing all of it, or even if they did review it but didn't hand-type it. The email says "you did not write them, you said an AI did," so the author did admit to using AI at the same time they claimed copyright over the code.

ataraxia937

2 hours ago

I find it amusing and appropriate that the surname of the author of that message is Frohwein. "Happy wine" in German.

philipallstar

3 hours ago

Missed opportunity to call it Port.

mahboi

an hour ago

I feel like there was some WINE-related thing called Port.

kingcauchy

3 hours ago

Probably being reserved for the OpenBrandSherryDaquiri rebranding.

Xunie

11 minutes ago

2026 is finally the year of the BSD gaming desktop!

brynet

3 hours ago

I OK'd this port. I apologize in advance.

simonw

2 hours ago

OpenBSD apparently still uses CVS. I found this GitHub mirror of their ports repo which has the new wine port: https://github.com/openbsd/ports/tree/master/emulators/wine

That has a static import from 13 hours ago. Anyone know if this wine port has its own repository somewhere else tracking the history of the development effort?

ninjin

2 hours ago

"Still uses CVS", I mean, CVS worked twenty years ago and it still works today for all the platforms OpenBSD supports. If you prefer something else, that is all right, but here is emulators/wine on CVSWeb:

https://cvsweb.openbsd.org/ports/emulators/wine

iamnothere

2 hours ago

They mirror to GitHub regularly, but development still happens in CVS. They are building “got” as a potential replacement that allows git-driven development while following OpenBSD’s idiosyncratic approach: https://gameoftrees.org/goals.html

My guess is they based this on the similar NetBSD port but I don’t know where the repo is.

Edit: sibling commenter found it

rootnod3

an hour ago

The port itself doesn't mirror the wine code. It is just the recipe on how to build in on OpenBSD + necessary patches.

CodeCompost

3 hours ago

That is awesome. I take it I can't run this with nVidia.

ninjin

3 hours ago

Nvidia support for OpenBSD is not really a thing [1]. With AMD and Intel, you have support for modern hardware in the tree [2,3].

[1]: https://man.openbsd.org/nv

[2]: https://man.openbsd.org/amdgpu

[3]: https://man.openbsd.org/intel

XenophileJKO

2 hours ago

The irony is that this seems like the perfect kind of problem to say point an Opus 5.5 instance at.

It is verifiable and has a clear exit criteria. Functional and performance parity.

ninjin

2 hours ago

How is that ironic? If you know how to do this, ensure that the license of the code is compatible [1], and maintain the code, then send the patch to tech@ for review and maybe it gets in.

[1]: https://www.openbsd.org/policy.html

rootnod3

an hour ago

Just be sure you understand the code 100% before sending it.

throwaway27448

3 hours ago

Out of curiosity, how much work/what sorts of openbsd-specific details must be addressed to get such a port working?

coldpie

3 hours ago

You can download the attachment and take a look at the patches. Wine already supports FreeBSD and macOS, so it's not tooooo crazy hard to add another BSD/Unix to the pile. Looks like there's a few Unix APIs that have drifted, so the patches add some #if OpenBSD style stuff to avoid using some symbols that don't exist on OpenBSD. The gs register stuff is by far the most complex bit. IIRC that register is used for thread-local storage on Windows, but for other purposes on other OS's, so handling access from win32 binaries to the gs register is a big problem when porting to a new OS.

On the whole it looks well written to me, especially with how complex & low-level these areas of Wine are. Good work to the author. I'd encourage them to try upstreaming it if they're interested. Some of it looks a little hacky, which upstream will object to, but maybe they could get some help cleaning it up, which will avoid having to maintain a diff and result in an even better port.

Edit: Oh, looks like they already talked with upstream https://marc.info/?l=openbsd-ports&m=179241414029592 It's not a huge diff to maintain, so maybe that is the better route. Great work either way.

ericfrederich

3 hours ago

My first thought was this must have something to do with the development momentum around the PS5 but that apparently runs FreeBSD not OpenBSD.

shevy-java

2 hours ago

Now the BSDs are not so popular compared to Linux, but I think this is great news as more eyes help here. Let's have EVERYTHING from windows portable towards linux. (I struggled with the 32-bit versus 64-bit stuff; this should also be a prime goal for wine to make this a trivial super-easy to solve thing for linux in general. Back then when I ran into this issue, it was not trivial to solve.)

raverbashing

3 hours ago

I wonder what's the state of 3D/OpenGL support on OpenBSD or if the games run into too many problems here

j45

3 hours ago

I remember reading once how far away something like this way to work - for all the time that BSD has kept servers and networks safer than other options, it's nice to see things like WINE making it there as well.

Its hard to not think of the possibility that BSD might offer new or different advantages to keeping legacy windows applications safe until there is a willingness to adopt or develop alternatives.

ndbe

3 hours ago

Insane work!

There's even the remaster of The Witcher running! If I had money I would simply gift to those guys.