Home > OS/2 > Project: 2ine, OS/2 binaries on Linux Project: 2ine, OS/2 binaries on Linux Thom Holwerda 2018-02-21 OS/2 23 Comments You have no idea how much effort went into getting this stupid white square on the screen. If this one hell of a lede doesn’t get your attention, nothing will. About The Author Thom Holwerda Follow me on Twitter @thomholwerda 23 Comments 2018-02-22 12:42 am theuserbl Sounds a little bit like the outdated OS/free (http://www.osfree.org/ , https://sourceforge.net/projects/osfree/). OS/free tried to rewrite OS/2, but at the end, it is an L4 which starts some OS/2 programs. 2018-02-22 12:50 am theuserbl I have seen, that the author have created more interesting stuff like its 2ine: https://www.patreon.com/icculus – he runs Unreal Tournament in a web browser – created something like wine or 2ine to run Linux-programs on macOS 2018-02-23 10:25 am Delgarde Well, yes… Ryan Gordon is kind of a legend in Linux game-development circles. 2018-02-23 4:07 pm No it isnt He’s also a funny, entertaining writer. I didn’t realise who this was at the beginning, just thought it great to see another programmer with a sense of humour and some literary flair, just like Ryan C. Gordon. Now I’m not sure whether to be disappointed. 2018-02-22 1:07 am Rugxulo the OS/2 port of GCC that I used in high school (2.8.1! It doesn’t even support Pentium 1 instructions!) started running [/q] Just to state the obvious, there isn’t much practical difference (for compilers) between 386/486/586. (Although I think DJGPP’s libc’s uclock() will try RDTSC and trap SIGILL if not available.) Although 2.8.1 was the first official GNU release to support Pentium tuning (reordering instructions to cater to U and V pipes). [q] Second: I don’t have a way to generate 16-bit code with GCC * https://github.com/tkchia/gcc-ia16 “Fork of Lambertsen & Jenner (& al.)’s IA-16 (Intel 16-bit x86) port of GNU compilers — added preliminary far pointer support” * https://blogs.mentor.com/embedded/blog/2017/04/01/announcing-sourcer… * https://gcc.gnu.org/wiki/cauldron2017#IA16 * https://fosdem.org/2018/schedule/event/dosemu_and_freedos_past_prese… Not totally finalized yet, but it’s a start. 2018-02-22 2:21 am Darkmage You guys do realise that this guy is Ryan C Gordon. Of Icculus.org fame. The guy who has single handedly ported more games to Linux than anyone else has. He started out at Lokigames.com and worked on Heroes of Might and Magic 3 and Descent 3. This guy is a total legend in Linux/cross platform game development. He and Sam Lantinga (they collaborated on libSDL’s creation) are 99% of the reason why Linux can even run games now. A lot of his written works are brilliant. He has some really good write ups of what porting an MFC application to GTK/Linux is like. Highly recommended reading for cross platform developers, especially in games. Edited 2018-02-22 02:24 UTC 2018-02-22 10:03 am theuserbl The nice thing is: With WINE we have Windows-programs on Linux. With Darling (https://www.darlinghq.org/) we have hopefully macOS-programs on Linux. and now with 2ine we have hopefully OS/2 programs on Linux. 2018-02-22 2:53 pm tingo Quick, name five of the top OS/2 programs you desperately want to get running again! No, I couldn’t remember any either. 2018-02-22 3:06 pm M.Onty That one banks use in their worryingly insecure ATMs..? 2018-02-22 5:19 pm evilbastard I think I still have my Avarice OS/2 game that I would like to try again. 2018-02-23 7:33 pm grat Presentation Manager. Of course, that requires a lot of backend stuff that will almost certainly never get ported. 2018-02-22 8:28 pm cjcox There was a time for this. That time has passed. 2018-02-22 9:17 pm Vanders Still cool though. Also I wonder how much of the core API (things like WinDefWindowProc) could be mapped onto Wine? 2018-02-22 9:20 pm vocivus It’s always the time for an interesting article. Agree that people aren’t going shout from the rooftops about how they can now run Lotus Improv, but the process of getting something old working on something new will always be relevant. No snark intended. 2018-02-23 2:10 am Rugxulo There was a time for this. That time has passed. Seriously? They still sell OS/2, so how is this worse than dead? To me, this is some kind of software archaeology, preserving history. Maybe we won’t get full compatibility, but anything is better than nothing. As a FreeDOS fan, I welcome our new 2ine overlords! 😉 2018-02-22 9:48 pm FlyingJester A great read. Although I find it a little funny that he calls X11 annoying to call directly, and yet wrote a native OS/2 application to test things with. 2018-02-22 10:38 pm Darkmage I’m actually more intrigued by the idea of using SDL as a rendering target rather than X11, maybe that can fix some of wine’s more annoying behaviours with window management in 3D applications. Child window rendering problems etc. It’s annoying having to use one set of settings for 3D Studio Max in wine and another set for Caligari Truespace. Edited 2018-02-22 22:39 UTC 2018-02-22 11:41 pm FlyingJester I very much doubt it will. Child windows in OpenGL or DirectX windows on Windows, X11, or Cocoa tend not to work properly (for output, they usually still work for display). SDL2 is not emulating OpenGL/DirectX, it relies on the underlying windowing system. You would need to also force the use of Mesa, likely with OSMesa to get something better. 2018-02-23 12:10 am Darkmage It’s not the actual rendering of the 3D content that’s the problem, it’s the ordering of the Microsoft GUI components within the Display Manager that’s the issue. 2018-02-23 12:56 pm The123king Wouldn’t that have the added bonus of increased portability? One of my personal gripes with WINE is it’s dependecy on X11, which can stymie porting attempts to non-UNIX systems, such as Haiku or AROS. 2018-02-23 7:04 pm FlyingJester Wine itself doesn’t depend on X11, it runs on OS X without X11. 2018-02-26 10:21 am The123king I was under the assumption that WINE on macOS still used X11, or have they got an native quartz interface now? And surely the Windows port uses X11. I can’t imagine it’s easy integrating WINE win32 calls with actual Windows Win32 calls. I know ReactOS sort of does this, but that has no underlying Windows components to “replace” 2018-02-24 8:10 am jpkx1984 WINE has no hard dependency on X11, there is even an experimental wine build running on… Windows. However, there is one catch on Linux: WINE does not work on Wayland due to limitations of the latter. The Wayland protocol as such does not provide ability to introspect window positions or access the display (they want to keep it simple; extras are supposed to be implemented at the compositor level); that’s why it breaks all the apps requiring such information: remote desktop apps, redshift, WINE etc. It could be some day Wayland compositors (such as Gnome’s Mutter or KDE’s KWin) will develop interfaces to share that information with apps but at this point we have to rely on Xorg.