News for hackers. Stuff that matters.
Re:Wine 4.0 released by jononor on Tuesday January 22, 2019 @06:40PM (#18974009)
Funny how Wine has implemented Windows APIs on top of Linux (and Mac), and Microsoft has implemented Linux APIs on top of Windows.
Re:Wine 4.0 released by ken on Tuesday January 22, 2019 @07:29PM (#18974435)
Or sad. As a user and developer, 98% of the differences between these operating systems don't really matter to me at all. They only exist because of historical accident, desire for proprietary lock-out, or other pointless reasons like ego. For anyone who didn't believe it, they've finally gone and given a proof by construction.

We've abstracted over the CPU nicely. Without even thinking about it, my software will compile and run on any modern CPU just fine. Excellent! But it's dumb that we still have to learn about the specifics of the OS, just to write a simple application. I wish they'd just pick some kernel-level API, some common formats (filesystem, executables), some UI-level APIs, etc., and then everyone could just write to that.

(That's basically what the web is, except the API is in terms of HTML/CSS/JS, rather than CPU/RAM/disk/devices. You know you suck at standardization when you're getting lapped by the web standards committees. It's easier for me to cross-compile C to JS than to compile C on all the different platforms I use. What happened?)

It seems like every couple decades, a few companies get together to try to make a standard operating system (Multics, Taligent), and it always falls apart. We're just about due for another doomed effort!

Re:Wine 4.0 released by jchb on Tuesday January 22, 2019 @08:24PM (#18974814)
> some UI-level APIs

This assumes that there is agreement on what the UI experience should be. Navigation patterns, menu bars, keyboard shortcuts, touch gestures.. But there is still active competition between OS vendors on UI. Just in the last decade, the most common form of interaction with a computer has changed from mouse and keyboard to touch and speech recognition.

> It's easier for me to cross-compile C to JS than to compile C on all the different platforms I use. What happened?

The web is a lowest common denominator. A web app is still missing a lot of affordances that users take for granted in a native app on their given OS. That is why still in 2019, there are new native iOS and Android apps being developed. Look, there are even entirely new programming languages being invented (Swift) or integrated (Kotlin) for the purpose of writing native apps for those platforms.

Specifically regarding compile C, I don't see what your problem is compiling C. You can even compile C11 on windows with Clang. Yes you may choose to include a OS-specific header and it won't compile, but also your JS doesn't necessarily run if you call some browser specific function.

Re:Wine 4.0 released by int_19h on Wednesday January 23, 2019 @01:00AM (#18976027)
> This assumes that there is agreement on what the UI experience should be. Navigation patterns, menu bars, keyboard shortcuts, touch gestures..

We had that for a while.

https://en.wikipedia.org/wiki/IBM_Common_User_Access

And most DEs even implemented it to some extent. But they didn't converge as a result of that.

Re:Wine 4.0 released by ken on Wednesday January 23, 2019 @01:12PM (#18980814)
> The web is a lowest common denominator.

Yes, it is, but why? HTML/JS has a LCD interface. x86 has a LCD interface. Even filesystems sort of have an LCD (some superset of MS-DOS FAT). Shouldn't the OS have one, too?

If we standardized filesystems, executables, and syscalls, I don't see how our world would be any worse, and I can think of many in which it would be better.

Re:Wine 4.0 released by biggestdecision on Tuesday January 22, 2019 @08:10PM (#18974719)
If you write standard compliant C, don't use platform specific headers, and use some kind of cross-platform build system (I can't recommend CMake enough here), it's easy to use C/C++ across platforms. UI/graphics is harder, but cross-platform solutions do exist here (Qt, GTK, WxWidgets, OpenGL).
Re:Wine 4.0 released by xedrac on Tuesday January 22, 2019 @10:44PM (#18975498)
> I can't recommend CMake enough here

I've used CMake for many years. But now that I've discovered Meson, I cry a little every time I have to edit a CMakeLists.txt file.

Re:Wine 4.0 released by biggestdecision on Wednesday January 23, 2019 @02:33AM (#18976421)
The biggest issue with CMake is how many libraries seem to have really low quality CMakeLists.txt's.

CMake is very easy to use, if you do things properly with targets. include_directories and link_libraries should never never ever be used, use target_include_directories and target_link_libraries instead. This way there is no need to mess about with shell script style variables for dependencies. But so many resources online explain to people how to do things the wrong way, and so their libs end up being a pain to build or depend on.

Re:Wine 4.0 released by flukus on Wednesday January 23, 2019 @07:16PM (#18984695)
IME the documentation is great at a command level but does a poor job of explaining how things fit together at a macro level.

I did a large project conversion last year and was well into it before I started getting a feel for how everything fit together with Public/Private.

Re:Wine 4.0 released by lbbe on Wednesday January 23, 2019 @12:00AM (#18975790)
But meson used pkg-config under the hood, which looks very unusual/like alien creation for Windows Devs.
Re:Wine 4.0 released by int_19h on Wednesday January 23, 2019 @01:01AM (#18976030)
These days with stuff like MSYS2 readily available, it's not really as alien as one might think.
Re:Wine 4.0 released by flukus on Wednesday January 23, 2019 @01:23AM (#18976124)
If your using stuff like MSYS2 does cmake/meson have a big advantage over old make/autoconf? I thought cross platform was the biggest selling point for these tools.
Re:Wine 4.0 released by int_19h on Thursday January 24, 2019 @01:26AM (#18986434)
For me, sanity is the main selling point. Make has meaningful space/tab distinction - that's quite enough to disqualify it as hopelessly mad in my book. And then autoconf is just baroque.

CMake only helps a little bit (it's still very old and has way too many warts). But Meson is very pleasant to work with.

Re:Wine 4.0 released by aepiepaey on Wednesday January 23, 2019 @09:24AM (#18978315)
One selling point seems to be speed: https://mesonbuild.com/Performance-comparison.html
Re:Wine 4.0 released by sdinsn on Tuesday January 22, 2019 @08:27PM (#18974833)
> don't use platform specific headers

Which is often unavoidable if you want to do filesystem stuff.

Re:Wine 4.0 released by flukus on Tuesday January 22, 2019 @09:32PM (#18975161)
Qt and Gtk (or just glib) can handle file systems identically across platforms.
Re:Wine 4.0 released by lbbe on Wednesday January 23, 2019 @12:01AM (#18975791)
I prefer using boost, if UI is not required
Re:Wine 4.0 released by Teknoman117 on Wednesday January 23, 2019 @01:19AM (#18976105)
I wouldn't argue that we should be happy about how the web turned out.

It always feels like computers are stuck in the same place because every time we improve CPU performance, we end up adding more layers of abstraction so the whole thing is moot.

Re:Wine 4.0 released by nur0n on Tuesday January 22, 2019 @07:51PM (#18974588)
> We're just about due for another doomed effort!

It seems Google will take a shot at it: https://en.wikipedia.org/wiki/Google_Fuchsia

Re:Wine 4.0 released by sandov on Wednesday January 23, 2019 @12:24AM (#18975876)
That screenshot looks like Android 2.0. I'll pass, having 1 Android is already too much.
Re:Wine 4.0 released by majewsky on Wednesday January 23, 2019 @07:02AM (#18977514)
The important part of Fuchsia is not the UI at this point, it's the kernel.
Re:Wine 4.0 released by dotancohen on Wednesday January 23, 2019 @02:08AM (#18976315)
Sounds like you might be interested in POSIX.
Re:Wine 4.0 released by nine_k on Wednesday January 23, 2019 @08:37AM (#18977941)
One OS. One UI. One experience. One problem if it has a bug or sn architectural deficiency. Zero choice.
Re:Wine 4.0 released by ken on Wednesday January 23, 2019 @01:04PM (#18980730)
No, I definitely don't want one OS, or one UI or experience. I want one interface. We've already got architectural similarity between operating systems. The part that's different is the interfaces between them, for completely arbitrary reasons.

We've done this for layers below the OS (x86) and layers above it (HTML, JS). There's just this one layer in the middle which we missed.

Re:Wine 4.0 released by gerdesj on Tuesday January 22, 2019 @07:52PM (#18974605)
"Or sad."

No mate it isn't sad. There is always going to be a scrap between things, whether they be OSs or iguanas and snakes on the Galapagos islands.

I'm going in with a penguin myself and I will win.

Re:Wine 4.0 released by macjohnmcc on Tuesday January 22, 2019 @07:09PM (#18974291)
Funny I was just wondering if you could run Wine on the Linux subsystem for Windows and run Windows apps in that environment. A complete waste of time and energy so little chance I will try.
Re:Wine 4.0 released by d1zzy on Tuesday January 22, 2019 @07:58PM (#18974643)
It may be funny but it may be a way to support certain older games/applications that don't run well on Windows 10. For example in order to run Dracula 3 on Windows 10 one has to use the Wine implementation of Direct3D: https://fdossena.com/?p=wined3d/index.frag
Re:Wine 4.0 released by lostmsu on Wednesday January 23, 2019 @06:27PM (#18984302)
Or you can just build wine on Windows for Windows. I've done that long time ago for Yuri's Revenge.
Re:Wine 4.0 released by niconicozerpa on Tuesday January 22, 2019 @08:00PM (#18974652)
I've actually tried to run HeidiSQL through Wine on Windows and I succeeded.

The tricky part was the X11 server. X.org doesn't seem to work on the Linux subsystem, but there are a few X11 servers for Windows. If you install one of them, you can run Linux GUI programs.

Re:Wine 4.0 released by int_19h on Wednesday January 23, 2019 @01:06AM (#18976052)
Xorg works in WSL, it just doesn't have any backing graphics driver to actually render anything. But if you install XRDP, you can connect to your Linux desktop using the usual Windows remote desktop client.

But yes, there are better options. You can run Xming or other X server and configure it yourself. Or you can buy X410 in the app store, and then the only configuration needed is DISPLAY=:0 in your shell.

https://token2shell.com/x410/

Re:Wine 4.0 released by GranPC on Tuesday January 22, 2019 @07:35PM (#18974489)
I guess that would be helpful if you wanted to run 16 bit software on 64 bit Windows.
Re:Wine 4.0 released by basementcat on Tuesday January 22, 2019 @07:51PM (#18974587)
There's NXVDM which is a port of the i860/Alpha/MIPS/PPC NTVDM compiled for AMD64. https://sourceforge.net/projects/nxvdm/
Re:Wine 4.0 released by tgtweak on Tuesday January 22, 2019 @07:54PM (#18974616)
Few use cases I can think of:

Testing across multiple .net frameworks without containers or virtual machines.

It's a lot faster to initiate an app inside wine on Linux then start up a VM and launch it on Windows. I think it's even faster than containers on Windows but don't have any data to back it up.

Lastly, for sandboxing applications (not a great security layer of course, but safer than running natively) so they don't pollute the registry or access sensitive files.

Wondering if it's possible to play dx12 games on older versions of Windows that don't officially support it.

Re:Wine 4.0 released by auscompgeek on Wednesday January 23, 2019 @07:48AM (#18977706)
Funnily enough, there was an article about malware doing exactly this for AV evasion some time last year. Existing behavioral analysis wouldn't be effective since they were looking at Linux syscalls.
Re:Wine 4.0 released by Koshkin on Tuesday January 22, 2019 @07:41PM (#18974525)
Well, you can run Wine on Windows (which makes sense if you think about it).
Re:Wine 4.0 released by mishac on Tuesday January 22, 2019 @07:21PM (#18974383)
IIRC you can run wine on cygwin, so I wouldn't be terribly surprised if wine on WSL worked.
Re:Wine 4.0 released by quickthrower2 on Tuesday January 22, 2019 @08:58PM (#18974978)
Also Docker for Windows can run Windows and Linux containers.
Re:Wine 4.0 released by m_fayer on Tuesday January 22, 2019 @07:15PM (#18974339)
Would be a strong contender for "turtles all the way down" of the year.
Re:Wine 4.0 released by rbanffy on Wednesday January 23, 2019 @06:51AM (#18977475)
I'd suggest running an Amiga emulator. There was a Mac "emulator" for Amiga that required Mac ROMs to function.

Sadly, the Apple II emulator for Macs was real hardware.

Re:Wine 4.0 released by theandrewbailey on Tuesday January 22, 2019 @07:06PM (#18974269)
If Microsoft wanted to be clever, they would have called their thing Line.
Re:Wine 4.0 released by RachelF on Tuesday January 22, 2019 @07:11PM (#18974307)
Microsoft bought the term "Lindows" in 2004 for around $20 million.

https://en.wikipedia.org/wiki/Microsoft_Corp._v._Lindows.com....

Re:Wine 4.0 released by devereaux on Tuesday January 22, 2019 @07:15PM (#18974333)
In retrospect, prescient and especially useful when they will release their own Linux distribution.

I'd bet on them forking or outright buying Ubuntu.

Re:Wine 4.0 released by canada_dry on Tuesday January 22, 2019 @10:34PM (#18975432)
> outright buying Ubuntu.

Calm down there Satan.

Re:Wine 4.0 released by cmsimike on Tuesday January 22, 2019 @07:36PM (#18974496)
I've always preferred mslinux http://www.mslinux.org/
Re:Wine 4.0 released by giancarlostoro on Tuesday January 22, 2019 @09:28PM (#18975140)
> Microsoft Invades Cuba

> Microsoft's plan to invade cuba and overthrow the government has succeeded. One Microsoft official said "It's a win-win situation. The US Government is happy and shuts up the DOJ while Microsoft institutes a monopoly within Cuba for everything from computer software to toilet paper. One more step closer to world domination. Heck, we could feed a whole development department for the cost of one developer's salary in the US. They may not know how to create an Operating System very well, but neither do our US developers."

Oh my. I wasn't sure what I was looking at and then I read that to the right of the link.

Re:Wine 4.0 released by ToFab123 on Wednesday January 23, 2019 @10:43PM (#18985782)
Sounds like Amazon
Re:Wine 4.0 released by treypitt on Tuesday January 22, 2019 @07:53PM (#18974609)
who owns Ubuntu?
Re:Wine 4.0 released by carlhjerpe on Tuesday January 22, 2019 @08:03PM (#18974677)
Canonical
Re:Wine 4.0 released by Koshkin on Tuesday January 22, 2019 @07:35PM (#18974483)
The name has already been taken: https://sourceforge.net/projects/line/
Re:Wine 4.0 released by zbentley on Tuesday January 22, 2019 @08:17PM (#18974760)
It takes an incredibly talented developer or team thereof to build such a reimplementation. I wonder how much talent has been wasted chasing competitors' implementations in this way. That's talent that could have been spent improving the state of the art, given a different history. Ah, well.
Re:Wine 4.0 released by kevin_thibedeau on Wednesday January 23, 2019 @12:05AM (#18975807)
Even funnier is that often Wine has better performance than native Windows.
Re:Wine 4.0 released by DannyB2 on Wednesday January 23, 2019 @11:59AM (#18979990)
Will Wine run on top of Windows Subsystem for Linux?
Re:Wine 4.0 released by em-bee on Wednesday January 23, 2019 @01:42PM (#18981196)
to me this just proves that linux has won. (no this is not about the year of the linux desktop). for as long as wine exists we have been looking for ways to run windows software on linux, but now microsoft is trying to run linux software on windows.

quite obviously linux has something that they want.

Re:Wine 4.0 released by agumonkey on Tuesday January 22, 2019 @09:21PM (#18975105)
same with programming languages, js/python/perl cross pollinated each others a lot