Hacker News new | comments | show | ask | jobs | submit login
Wine Running on Windows with the Windows Subsystem for Linux (woafre.tk)
219 points by my123 on Feb 9, 2017 | hide | past | web | favorite | 109 comments

This really is interesting news for me. I actually moved to a full Linux stack a few years ago when I bought a new computer and discovered that my trusty engineering software wouldn't install on Windows 8 or 10 due to some of Microsoft's many backwards-incompatibilities. Imagine my excitement when I discovered that Wine would run it flawlessly!

So, as much as this announcement sounds unnecessary at best, if another part of my job needs me back on Windows 10 someday, I may come back to this.

> my trusty engineering software wouldn't install on Windows 8 or 10 due to some of Microsoft's many backwards-incompatibilities.

I have seen nearly no software that doesn't work in a backwards compatible way on windows. Tha's the thing microsoft does best of all.

What was it that became incompatible with Win8 that meant a piece of software that installed on Win7 now wouldn't install?

The last app that stopped working for me was some 16bit vb apps I had but those run just fine in a virtual 32bit XP I can fire up (and in the "xp mode" when that was availble).

Wine sometimes has additional backwards compatibility issues because they don't implement some of the bugs in previous versions of Windows that people write their application code around.

I think the most notable example of this was some time zone handling bug in The Sims 3, that made that game unplayable with Wine if you were in certain time zones. The problem was that Windows XP didn't actually report DST information correctly to the version of Mono embedded in it, and the Mono devs dealt with it by basically not validating the value returned from XP. So Mono would crash when it got correct time zone information from Wine and from later versions of Windows, thus crashing Sims 3.

Looking at their bugzilla for the issue, it seems as if someone went through and deleted old comments. There were many whiners demanding that Wine fix something that they didn't break. https://bugs.winehq.org/show_bug.cgi?id=18991#c43

I feel like software engineers get access to an odd, exclusive source of humor in things like these.

It tends to happen with really poorly written niche industry-specific software that Microsoft don't realise exists, so can't test.

Yes, I'm in exactly that situation (making industry specific windows desktop software) so I'm very interested in hearing about the specific issues here.

Obviously any developer can screw up and do thigs like "if !winVersion.StartsWith(...)" and there is not much microsoft can do about that, apart from naming windows 9 windows 10...

But even broken and buggy API's tend to be maintained by microsoft just because they can't test all the software floating around that depends on it. So it's usually very very hard to accidentally make a program run on Windows version N but not on Windows Version N+1

Occasionally, bugs get fixed despite programs depending on those bugs. They do not guarantee complete bug-compatibility between releases, or even within the same release - to do so would imply they could never fix a bug without writing a new function for the bugfix and persuading all developers to use the new function and release an update, then convincing everyone to use the updated software, even when there's no known software which depended on the buggy function's behaviour.

It used to be that when Microsoft found that a specific program was getting in the way of a bugfix, they'd detect the program and perform the buggy behaviour, or they'd patch the software on-the-fly. I have no idea if they still do this.

Don't forget that they can also modify any API in a way that fixes the bug but also behaves in the legacy way under "compatibility mode".

There's one game that depends on winmm callbacks being called on a separate thread because the game actually calls SuspendThread() from within the callback! During the mmdevapi move around Vista/7, MS switched to calling the callbacks from the application thread and the game now deadlocks. It does work in compatibility mode, though.


Direct3D Retained Mode was removed with no backward compatibility option: https://support.microsoft.com/en-us/help/969150/direct3d-ret...

WineOnWindows was a thing before Windows had Linux compatibility, you can build it with wingw. Running old windows apps is a valid use case for wine these days.

Sure, maybe build it. But could you actually * run * Wine on Windows before this? (Without using VMs or coLinux/andLinux, that is.) I hear a lot of people claim that, but I've yet to see any actual proof. :)

I ran Wine on Services for Unix back in the Windows XP days. Actually used it to run the Riven installer so I could play that (the game itself played fine, but the installer wouldn't run for me). The one wrinkle was having to build without freetype (freetype is a pain to build anywhere and I never managed to build it on SFU) so the font metrics were all way off, but that didn't make things unusable.

When I looked at it "only" built DLLs. IIRC.

I looked into this a few years ago; if this actually runs stuff in Wine, then this is actually a first.

I just switched completely to Linux just recently and thought I'd have some issues with necessary Windows software. There was definitely some learning curve to getting Adobe Photoshop CC setup using PlayOnLinux/Wine but it seems to work well.

I'm very happy even with terrible bluetooth support in comparison to Windows. I couldn't get a Logitech mouse to pair with the Dell XPS Developer edition. Tried all the command line tricks with bluetoothctl and hcitool. I plugged in a really cheap Kinivo USB bluetooth dongle I had laying around from a headset and it worked easily. Go figure.

Strange, I haven't had any issues with my XPS 13 (9333) or my work-issued Lenovo W540, both of which have been paired with my Microsoft Designer Keyboard/Mouse - go into GNOME Settings, pair, done (of course, they don't work during boot, would be nice if someone could figure out how to get bluetooth devices to work in the initrd so I could use them to type in my encryption passphrase - on the other hand it's probably for the best I'm typing it on a physically wired keyboard).

I had endless trouble getting my logitech wireless audio receiver to work in Windows 8 & 10. Works way better in Linux Mint (though it still forgets the pairing pretty often; but that's way less annoying than simply being unable to connect).

If you are using Logitech Unifying Receivers I've found Solaar [https://pwr.github.io/Solaar/] to be very good.

I've had the occasional weird experience with bluetooth on multiple OSes.

Now all we need is 'Windows subsystem for Linux' to run on wine, and we'll rip a hole in space time continuum.

Wine emulates Win32 API, while Windows subsystem for Linux is based on NT API, a level below Win32 API. So, no, that won't work.

Dang, OP forgot to put /s

The only thing sarcastic is the ripping a hole in space time continuum. Otherwise, it would be a tremendously amusing accomplishment if Wine could run the Windows Subsystem for Linux.

Pointless, yes. But so is the 2048 game.

> Wine emulations Win32 API

What's the deal with this "wine64" command I have in /usr/bin, then?

Well, why isn't it possible to emulate just ntoskrnl, just like WSL does with the Linux kernel?

Granted, it would require people to have a valid Windows license and install media (because you can't redistribute Windows binaries), but I don't see any major problem.

There is flinux from wishstudio on Github for a fully-in-userspace layer that works in Windows 7, it's unmaintained now though

And there was also CoLinux, a linux kernel on top of windows, supersweet. http://www.colinux.org/

And there was LINE.

Isn't the license concern pretty major though? IIRC even in the current form Wine at the early age had been quite controversial, due to legal concerns. They consciously prevented those who have knowledge of Windows internals from contributing to it just to make sure it's a clean room implementation.

IANAL, but doesn't OpenJDK basically do the same (implement documented API interfaces) with Sun's Java? And the Windows syscalls are IIRC also publically documented...

OpenJDK was/is an official Sun (now Oracle) project.

But others did reimplement Java without authorization, such as Apache Harmony, and, well, I think you need to look up Oracle v. Google.

Some WSL components must run in supervisor mode, so a translation layer like Wine or WSL is not powerful enough to emulate it.

Maybe with ReactOS it could work?

I think you mean getting Cygwin running in wine running in Cygwin.

It's just turtles all the way down

"Yeah, yeah, but your scientists were so preoccupied with whether or not they could that they didn't stop to think if they should."

-- Character Dr. Ian Malcolm, Jurassic Park

I wonder if you might be able to improve wine by running programs side by side in wine and without and observing call differences.

I was wondering the same thing, I'm pretty sure that the samba test suite does something like this.

Nice idea.

By the way, are you Scottish? I don't think they use the word "without" in that way anywhere else.

The classic Scottishism is "outwith" which is not used in England and Wales, and I suspect not used in (Northern) Ireland either.

I wonder if some people who said it sounded idiomatic to them are parsing it as "with Wine and without (it)" as opposed to "in Wine and without"/"within Wine and without". I think the non-U.S. usage is specifically the latter, which the original poster seems to have intended.

The non-U.S. usage would be meaning 1 of without as a preposition at


which Wiktionary says is "archaic or literary". If it's still current in Commonwealth English, Wiktionary should probably be updated. :-)

Australian here. Seemed an odd usage but the syntax is good so it parsed fine, and didn't even notice it until you mentioned it.

I've seen it in older literature, as "within and without", where the latter approximately translates to "outside" and is supposed to be an opposite for "within".

(I'm Indian, but I can't remember seeing any instances of this in any texts that I'd say were written by people who wrote in an Indian idiom.)

It's also very unusual to see "without" used in this meaning and paired with "in"; one expects to see either "in and out" or "within and without", rather than a mixture of the two. I don't know that the latter is incorrect per se, but it does fall rather oddly on the mind's ear.

American here, I've seen it used that way in the wild. Uncommon, sure.

I'm from the northwest, could be regional?

Northwest Scotland?

Apologies for not being more specific, Northwest US. Specifically, Northwestern Washington. Also known as the Pacific Northwest (PNW)

As a Canadian, that looks perfectly normal to me. Not sure if that's a colony thing or not.

Indian here, and that's how I would use it. Is this more British usage than American maybe?

California, sounds weird to me.

Do you mean not paired with "within"; that is, "in Wine and without" instead of "within Wine and without"?

London here. Live near St Botolphs without Aldgate, a church just outside where one of the gates in London wall was.

American, and it didn't strike me as odd.

I see from the screenshot that it's running on Windows 10, Cloud Edition. I thought that the rumored Cloud Edition doesn't run any software not from the Windows store?


I thought you downloaded the Linux Subsystem from the Windows store?

True, that's a possible reason, but I don't think the X server normally comes from the store. (Is there even an X server in the Windows Store?)

No, it looks like this is a traditional desktop Windows X server.

It's vcXsrv, a regular X11 server for Windows.

I got it from add/remove features, don't know if it changed.

Looks like there's a few other posts on Cloud on that blog


It's an unlocked Cloud SKU. See the other posts on the blog.

So an unlocked Cloud SKU is um, just Windows 10 ?


Was Wine not working with the previous builds of WSL? If so, does anyone know what has changed that allows it to run flawlessly now?

I tried it a while back WSL had some weird handling of unix sockets and they didn't appear on the filesystem.

remember https://hackernoon.com/win3mu-part-1-why-im-writing-a-16-bit... ?

looks like Wine made this guys project redundant.

Next step: get WSL running in Wine...

WSL has kernel components, but Wine only emulates user level. So that won't work.

You may be able to get https://github.com/wishstudio/flinux working actually

But can it run wine?

Not yet :)

Part of me wants to yell "Inception!" :-)

WSL has been getting better and better, I wish they would push the updates to mainline. I can't run the dev releases on my "work" laptop. I've heard that they will be in the next big W10 push (the 'creative' version) but we will have to wait and see.

Microsoft has the power to stop the distribution of Wine now that APIs are copyrightable (Oracle v. Google).

If you rely on Wine commercially Microsoft could some day force you to pay a license fee or make you move to a future paid Wine competitor.

I've been thinking about trying to run Samba under WSL for the lulz. Clearly I should pursue that.

Yo dawg, I heard you like windows..

great if you need to run a vb6 application on modern hardware maybe

So meta!

Would be awesome if one day one could use GPU and USB with Windows Subsystem for Linux

Can that work over X11, or is X11 OpenGL not network-transparent?

I was thinking about using things like TensorFlow or tools for Arduino


Winception ?

It looks like it hasn't been maintained in a while, but at one point you could run Wine on cygwin, and cygwin on wine .. mostly. I can't find the original post I read on it, but it was an attempt to show how mature each project was at their implementations.

Can you run cygwin in it?

The worst part about wsl is that it doesn't work on windows 7 :(

WSL fundamentally depends on kernel improvements that are only available to Windows 10. Similar to the countless other improvements like high-entropy aslr, appguard, better shutdown/bootup processes, a much improved print model, support for new classes of devices (usb3, 3d printing, etc), etc - and that's just covering Windows 8.

There has been so much work done to improve the kernel over the last 7.5 years. You don't see mac users complaining that iOS integration doesn't work with Snow Leopard; iOS (the name) did not exist when Windows 7 was released. You certainly don't see snow leopard in the wild anymore.

Stop. Using. Windows. 7.

It's the privacy invasion and the gratuitous UI changes that keep people on Windows 7, not all that technobabble stuff.

I use w10 at work, but I will not be installing it on my personal machines any time soon due to always-on black box spyware.

It seems that the entire tech industry is gently pushing the population to accept broad surveillance as a fact of life. You want to chat to your social circle on facebook? Sure, just hand over all your personal and location data. Want WSL? Sure, just sign here to give us the legal right to rummage around your computer without your knowledge whenever we feel like it.

Anytime an operating system is designed to show you ads it has to be bad!

You can turn almost all of that stuff reasonably easily - there are a variety of tweaking tools of varying degrees of completeness. It's a little bit easier with the Pro version (in particular, disabling the automatic update + restart overnight that lost my data a couple of times). Combine it with Classic Shell, and it's really quite tolerable.

Who wants to waste their time to downgrade their experience to "tolerable"?

The funny thing is, the only people who are sticking around with Windows 7 are the people who should know enough to care about the technobabble.

You are not getting the performance you could be out of your PC. Your computer isn't as secure as it could be. You don't have the latest features. Some of those UI changes you mention are actually nice, btw.

Your PC is not spying on you; it is not scandalous that a web search via Cortana sends what you type to Microsoft. Telemetry is also not scandalous; Microsoft has had telemetry in Windows & in Office for well over a decade (coming up on two).

Perhaps I should consider a career in tech journalism; With all the scandal around Windows 10's approach, I can only imagine how people will react to literally everything they ever do in their browser. You never use your web browser, do you?

While it may sound trivial, it was a bit of an insult to wake up one day and find Cortana begging me to ask her something.

Also, telemetry is not scandalous but it can be subpoenaed or hacked, and given its omnipresence and sheer depth, I wouldn't want less-than-trustworthy people gaining access to it.

Microsoft could have made its privacy settings simple -- an elegant on/off switch with the more legacy-style "click here to report this exception" behavior. Instead they complicate the matter and overwhelm the user with a ton of seemingly pointless options by default, when it should have been a toggle and an "Advanced..." button.

By throwing previously voluntary reporting into the same big telemetry bucket as everything else, they've diminished their product and forced users to accept an inferior experience when such integrations are unwanted (like my example above). Also, they never should have allowed marketing to get involved -- allowing advert pigs to switch people's desktops around is a massive overreach. You know the only reason it happened was to make more money from already-paid users.

Win10 only gets my vote when an upstream netmeter and port-monitor show only essential network activity -- occasional Windows Update queries, local network scans, and so on -- during a long period of idling and local (non-network) use.

> allowing advert pigs to switch people's desktops around is a massive overreach

Sorry but what do you even mean with this? Most of yours points already don't make a lot of sense, but this one jumped out at me. I've been running windows 10 while it came out and have literally not seen a single advertisement. Nor have I been bothered with cortana a single time. Not even sure what it is/does as I've never bothered to look into it or use it.

There is ads in a default Windows install, since Anniversary update at least. I remember that I had to reinstall my Windows 10 system on Anniversary update since Microsoft Update was simply refusing to update my system (unknown error multiple times), and in my lock screen sometimes I would get an ad about some random UWP app (or it was a movie? Don't remember). I would get app install suggestions inside Start menu too, very annoying.

For now at least, you can disable both in Windows Settings and they don't seem to come back automatically. I don't know in the future though.

P.S.: before OP, this is on Windows 10 Pro.

Weird. I have win10 on my desktop and laptop, and I've barely tweaked the install on my laptop because I never use it. Neither show ads of any kind anywhere and I don't recall ever seeing one. There are the random pictures for lock screens, but those are mostly just nature pics. Never any kind of ads.

The start menu does have those flashy windows 10 app tiles, but I just reduced the size of the start menu until those went away.


I remember having to disable at least the first two items (Lock Screen and Suggested Apps). And instead of simply reducing size of Windows 10 start menu, I completely uninstalled all UWP included Apps.

The really infuriating thing is that Microsoft seems to re-enable some of those settings in each major update, and this is no fun.

The "bother" is that Cortana is there at all. It shouldn't be. I don't want it, I didn't opt in to it, and I don't want MS changing settings on my PC without my consent.

In fact, consent is the very heart of that particular issue. I do not consent to any of this cloud-flavored bullshit, yet I am forced to deal with it to stay modern in the platform I am most comfortable on.

Also, how do those arguments "not make a lot of sense"? Your insults could use a bit more subtlety.

They conceal it more than they should, but you can shut Cortana off and create a local-only account.

Indeed, but local-only doesn't really lose much. You still get all the updates and telemetry; accessing the windows store is a bit harder.

There are some scripts on Github that claim to rip out a lot of this stuff. They look promising, though I haven't tried yet: https://github.com/Disassembler0/Win10-Initial-Setup-Script

Also note this answer:

"Q: Can I run the script repeatedly?

A: Yes! In fact the script has been written to support exactly this as it's not uncommon that big Windows Updates reset some of the settings."

Telemetry is scandalous, IMO, if it is done without the consent of the user and cannot easily be turned off. I've gone to some lengths to black-hole telemetry from Windows, and I have no desire to share my application usage statistics - quite the opposite.

Do you avoid using websites that have built-in telemetry as well? How does Google reading your email compare with Microsoft knowing how often you ran Notepad?

One of the main points of Windows 10 is that it's maintained and updated from the cloud, and part of the telemetry is for development purposes. Windows 10 isn't unique from that point of view.

The base level of Windows 10 telemetry is mostly security stuff, which is why it has to be encrypted and protected. And of course, if you install a third party AV product, you'll find it has even more intrusive hooks into everything, and it probably connects to back-end cloud analysis service as well.

What do you think Microsoft does with all this stuff from more than 400 million PCs when it has virtually no advertising business outside Bing?

So, stop using Windows. Using ancient, insecure, and unsupported (in 2020) software is not an option.

I'll add to this that unless you use a tool like wsusoffline[0], even on a fast ISP, on an SSD, running a beefy i7, you're looking at hours of downloads and countless reboots to get fully up to date running 7.

At least a couple vendors in the medical and car repo verticals doing exclusively remote support and activation require systems are fully updated before they'll deploy their wares.

[0]: http://wsusoffline.net

Stop using an operating system that was released 8 years ago

The best part of Windows 7 is that it still has Windows Services for Unix. (WSU) Only Windows 8* lacks a posix layer from microsoft.

Windows 8 had one. Windows 8.1 did not ;)

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