Direct3D on Linux?
An Anonymous Coward writes: "Newsforge [?] has a story about TransGaming
Technologies releasing a patch to support the
Direct 3D gaming API to Linux. It sounds like this
could have the potential to greatly improve gaming
in Linux." We've done a story about this already, but it looks like they're starting to make progress. It would be very impressive indeed to be able to run all new-release Windows games without Windows...
They can't do everything at once - give them a chance!
People like you piss me off... If you think that is such a pressing problem, why don't YOU work on it?!!
Stop your fuckin whining!!
Game manufacturers may assess this scenario as "OpenGL for compatibility, DirectX for performance". Both APIs seem to do pretty well at this time on my Voodoo 3 under Windows 98 when I'm given a choice between the two in a game, but how well will they compare in Windows XP with an nVidia card a year or so from now?
John Carmack's influence didn't hurt the OpenGL cause any, though; I remember 3DFX releasing special OpenGL minidrivers just for running Quake.
I'll bet the most important factor in DirectX's success is the one you've mentioned: DirectX is an all-in-one solution. Not only can you get graphics, sound, a force-feedback steering wheel, netplay, etc. done with the same library, but Microsoft gives you a reasonable assurance that this API is going to be compatible with most graphics hardware, sound hardware, force-feedback steering wheels... well, you get the point. Mixing libraries that weren't designed to go together can be a trying experience as well (I'm experiencing this firsthand).
I'm not too big on Wine, either, but I'm not going to knock ANYTHING that might bring games to Linux even if it runs them at 12MHz. It'll remind me of the great fun I had on the 286.
wouldnt it have been better if MS just supported opengl to start with, rather than playing catch up all these years
they may be comparable now but think how much farther ahead opengl could be if MS started improving opengl instead of rewriting essentially the same thing from scratch for all these years
I hope the work to make it work correctly rather than making it work well. OS/2 tried to be a better Windows than Windows and better DOS than DOS. Why port to OS/2? It already runs your app better than the official platform (YMMV!)... Linux can not break into many home desktops without games. If games were able to simply run this would be a boon! I knew so many students dual booting to windows to play games. They all would ditch Windows if they could. All they needed was for their games to work. Even at half speed of windows for just about every game other than QuakeX (which id has a Linux version for...) that would be good enough. On the other hand if say just Black and White worked, but worked even faster than Windows there would be no reason for Lionhead to make a Linux port. Nor would Linux users even bother asking for one. Why would game companies spend time porting their games? The "open source community" just proved if they really want a game they can get it to run just fine.. Give me 99% of the games with DX running at 25% of MS's speed instead of 50% of the games running 99% of MS speed any day!
> It would be very impressive indeed to be able to run all new-release Windows games without Windows...
'Impressive' maybe, but I'd still rather buy titles from a company like Loki, and support native applications. Since Microsoft loves its undocumented and ever-changing APIs, I'd rather not rely on emulation of their libraries for all my games.
Direct3D in Linux would be neat, maybe it'd aid in porting, but we all know what happened with OS/2... a better Windows than Windows... *cough*
With DRI and XFree4 continuing to improve, Linux has just about everything game makers need. What needs to happen is for ALSA(advanced linux sound architecture) to get integrated into the kernel and for OpenAL to make some good progress. Then we should have one amazing game platfrom.
But I would add 3 more requirements to the Linux world domination goal
1. A single, easy-to-use method of handling fonts (for display, printing, tex, mozilla...)
2. A really good Free office suite
3. A Mozilla at version 1.2
Superiority of OpenGL?
Ah I sense we're in the lair of OpenGL worshippers.
Listen, MS was incensed that game developers chose to write their games to OpenGL (and Glide) rather than their earlier versions of D3D.
So, Microsoft tried to squash 'em, threaten 'em, and cajole 'em. They bought the rights to the OpenGL ICD win32 source code. They "partnered" with SGI to come up with "Fahrenheit"...the "successor" to OpenGL.
Finally, they threw money, effort and programmers into making D3D better...and they've SUCCEEDED!
Direct3D has out-evolved OpenGL. Now, after years of development, it's a much better 3D API. It has effects that OpenGL simply cant be made to do.
Tim Sweeney of Epic Megagames (Unreal, UT), has said as much..."OpenGL...blahblahblah...is obsolete"
Note that ATI, and NVIDIA design their cards around the DirectX/D3D spec, not OpenGL.
Carmack continues to plug away at OpenGL, but I suspect it's because he has a soft spot for Macs, and (to a lesser extent) Unix workstations. He wants portability, but in all reality, in any business sense, the Windows market is all there is.
Microsoft did the same for D3D as they did for MSIE. They started with a poor, nonstandard product and through years of effort, have made it the true standard...the best implementation there is.
Hate microsoft if you like, but it's the truth.
Regarding the fonts...
I'm not sure if this will go into KDE 2.2, but one of the KDE developers is integrating a module to put fonts just like in Windows - a very simple way..
See the mailing lists for details
Hetz (Heunique)
Well, if our dear friend arQon was just browsing the transgaming web page, he would have seen that they are making a module for the Linux kernel, that combined with it - you'll get your FPS in games under WineX at the same speed as Windows 2000, which doesn't seems to me that bad..
True, SDL isn't a replacement for Direct3D, but it's getting used by loki for their new games releases - which means, you'll find there most of your functionality that you need for writing games. It's not perfect, but it's not that bad either..
Hetz (Heunique)
(Disclaimer: I'm not a 3D stuff developer, just an user...)
I'm not slightly more interested in seeing DX/D3D on Linux - OpenGL is out there and works. I certainly wish game companies would use OpenGL more.
Why? Well, I have had most of my problems with DX anyway. OpenGL has never caused me any problems. (I have used only two graphics cards though - Voodoo 1 and Ati Rage128...)
Sure, OpenGL may be slow on accepting all new extensions, but at least they look at those extensions and try not to break things. I have had severe problems trying to make old DX games to run under recent DirectX versions. (I hope I didn't mess up Windows settings totally with my most recent misadventure with DX5 game...)
DX is nice when it works - but when it doesn't work, it's a nightmare. (Well, same can be said about all other MS software as well =)
Diablo II runs perfectly under Wine as well. Anyone had any success with Black&White?
So, it may very well be that the best gaming solution for the hardcore gamer may very well be a ported windows game running atop of WINE.
--
Care about electronic freedom? Consider donating to the EFF!
In my opinion this can only help Linux gaming.
They will have a direct income with a known number of subscribers. Instead of what we have now with Wine, there will actually be numbers that show how many people are interested in gaming in Linux.
I for one will sign up as a subscriber, and have already filled out their subscription survey and I urge anyone else that loves games and Linux to do the same. I've decided to back my loving words for Linux and Linux gaming with my money. And I'm doing this because I'll be helping Linux, Linux gaming, and a good company that is going to release everything back to the Wine project.
Use the Z-modem protocol between Information Superhighway routers to compress the plaintext. ~LordOfYourPants
come off crisp and play up to the cynic
clean and schooled right down to the minute
SEO Copywriter. Just Say ON
Just my $0.02.
------
For one thing, OpenGL puts most of the code in the driver. That means that the vendor has to write a good bit of the driver whereas with Direct3D you use Microsoft's implementation and hook it into your hardware.
This has the nice benefit of making new drivers pretty fast right off the bat (see ATi's troubles getting decent RagePro GL drivers), but everybody's gotten mature enough OpenGL drivers that this doesn't matter much any more. Not to mention with the consolidation of the graphics market, no one will be writing new GL drivers, just revising their existing versions.
No, you should download the fonts for free from wherever they are on microsoft.com.
Or "apt-get install msttcorefonts" on Debian. Believe it or not, they CAN offer this on Debian, since the package doesn't contain the fonts themselves - it contains a script which downloads them.
--
Win dain a lotica, en vai tu ri silota
Have everyone forgotten, why we switched from Atari and Amiga(*) to PC? What was the reason learning DOS, learning to configure interrupts, loading drivers into HighMemory areas, learning to install Soundcards? We all bitched and moaned, but we did it!
It was because of the games. The PC had cool games and we couldn't get those for our old Home-Computer.
Everybody of our friends were switching to PC too. We had lot's of trouble learning all those things we didn't need to know before. But we were able to ask a friend. We were a community of people who switched to PC and after half a year we knew most of the things we need to know to get things run smoothly.
We need the same thing for Linux. Make Linux a gaming OS and people will happily learn all those quirks of this wonderful OS.
(*)Yes, there is a reason why I mention Atari first ;)
So... it seems that you disagreed with everything I said. Disagreement != troll.
:)
don't you think it would have been better to bash my points as you've done above, so that others would read that instead and become informed?
--
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
Does OpenGL have one foot in the grave?
I have not worked with either (DX or OpenGL) toolkit, but I have seen their syntax differences and code conventions. I know also that DX gives you a slew of interfaces to all parts of a video game's design (sound, joystick, graphics, network) while OpenGL is only for 3d graphics (I know about OpenAL, but as long as they are not in the same package, the same downloadable, it does not matter). Obviously, a developer would rather deal with one library than half a dozen. Does this make DX more popular? (Is it more popular/used?) Is/has opengl losing/lost all of its early momentum? Has DX fixed the problems so many people complained about in it's early incarnations?
There is part of me that thinks that OpenGL would not even exist today (ie, it would not have been supported by card makers) had it not been for Id and Carmack's insistance on using it for the quake* series. How accurate is this?
As far as this announcement is concerned: if it works, great. If it gains acceptance, great. If installing/running games on linux will one day be as easy as it is on windows, great. But this is Wine-based... and how long have we been waiting for Wine to run things slightly more complex than notepad.exe at a decent clip? (No Wine flames, please. I will NOT download it for the billionth time)
--
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
Someone please mod the above as flamebait, because this is very much false. OS/2 had and still has a community. It may be smaller today than it was 5 years ago, but it's still a strong community.
In fact, all you need to do is read comparison stories of newbies going to Linux user group meetings vs. OS/2 user group meetings today, and you might even think that OS/2's community is stronger than Linux's. I've heard from a number of my OS/2-using friends that whenever they try to go to a Linux user group and get help, they're ignored because they're newbies, and so they stick with OS/2.
--
Lord Nimon
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
OS/2 did so have a community. It was even more militant than the Mac one. What's left of it is bitter and cynical. I meet a lot of Linux users who used to be Team OS/2 members.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
They finally got it on their web site! Cool :-)
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Of course, Draeker doesn't seem particularly interested in doing business with me, seeing as how I can't find anyone who wants to sell me his port of Tribes 2...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
This is pretty inaccurate. You have to keep in mind that wine is not an emulator. It translates windows code into native linux code, so once the debugging code is removed from wine, it *SHOULD* run windows apps as fast as Windows itself does. This can only help linux. One of the most important factors in what OS is most popular is an app base. Linux already has it's own app base, and wine is going to add all of those windows games/apps to Linux as well. Then the killer apps will be available for windows and linux with no extra effort from vendors.
Id didn't choose OpenGL because it was cross-platform.
Id wanted to port Quake to the Voodoo chip, which was an exciting new and powerful 3D graphics processor. However, they had already done VQuake, and part of the contract was that they couldn't port the game to another graphics chip.
This meant they couldn't do another card specific port. They started doing Direct3D Quake, but D3D 3.0 was a total disaster, so he switched over to OpenGL and created the GLQuake we know and love.
As a result, MS made efforts to improve D3D (to the point that my understanding is that it is pretty powerful and not impossible to learn), but Id continued with Quake on OpenGL because everyone was supporting OpenGL for Quake, Carmack likes Linux and cross-platform, so if they can sell the copies, why switch.
However, OpenGL on Windows is ONLY because of Id. WinNT had OpenGL support because of the 3D Modelling, etc. WinNT needed OpenGL. The only game for OpenGL was Quake, and MS wanted to kill OpenGL gaming, refused to release the OpenGL subsystem for Win98 that was seen as a beta, forcing everyone to write either the Quake mini-GL drivers, or write a full ICD. The plugable OpenGL subsystem for NT was killed for Win98 to kill OpenGL gaming.
blah blah slow blah blah evil Bill blah blah OS/2 blah blah slow blah blah OpenGL blah blah
All kings is mostly rapscallions. -Mark Twain, The Adventures of Huckleberry Finn
Uh, what about OpenGL? It meets all of these requirements, while Direct3D does not. I don't get it, what technical advantages does Direct3D have over OpenGL? As far as I can see, it has only disadvantages.
If that is not a testament to cross-platform gaming, I don't know what is.
.oO0Oo.
MAME
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Consoles have much better performance than comptuers because the hardware is dedicated and static. A console with the same hardware as a computer will end up having much better graphics because game developers can write games specifically for the hardware and push it to the max. Right now, you could buy a Geforce 3 but no game is going to take advantage of it. Games are just now starting to take advantage of T & L. An example would be that the playstation, uses a 33 MHz main processor, and the nintendo 64 uses a 90 Mhz. I had a 33 MHz proc once, it didn't even run doom very well at all.
This Wiki Feeds You TV and Anime - vidwiki.org
I was absolutely amazed 6 months ago when I downloaded & compiled wine with no probs, installed Starcraft + Expansion CD and started playing. Since then I've had varying success with Office 97 & 2000. I can't for the life of me install either into a non-windows setup, but parts of Office 97 run OK run a Windows installation. I'm haning out for 3 things ...
1) A freaking configuration utility for a non-windows setup.
2) Office to install into above setup.
3) Something other than Starcraft working. To be fair, I've almost gotten half-life to work, and I had IE 5.5 going too. But no 3dmark 2000, or anything else I throw at it. Maybe it's me.
I like the idea of wine though. I don't think it will impact the development of Linux software. ALl those who were going to write for Linux still are. We're just attracting the attention of those who previously wouldn't have had that option. And if the wine libs prove to be more stable (heh) and faster than Windows - which is quite possible - then we'll really have something to make a noise about.
Crank on wine!
Well you know what, I run both windows and linux, really I would prefer to be in linux all the time. I believe the only thing keeping linux from taking over is crappy linux fonts. It was the first thing my wife noticed, "ewww.. I cant read that" was her first comment when she tryed to us my system.
So, if you want to take over the world and be a real hero, put together a font package and give it to all the distro's!
It doesn't make economic sense to the game manufacturers to write games for many different platforms. Most of the games nowadays use Direct3D, so if the goal is to get more games for Linux, the only right way is to adopt and not to compete with Direct3D.
There are two reasons I dont game in Linux...
1: There are almost no games available (This is what might be fixed in the long run...)
2: There are weak support for gametools, such as Wheels, Joysticks etc.
Unless i cant use my lovely joypin and my lovely wheel, i wont game in linux.. :-/
Probable impossibilities are to be preferred to improbable possibilities.
Aristotele
Windows 2000 has direct support for Direct3D and it still can't play games such as AOE2 and NBA Live. What makes you people think that a patched Linux will run these games?
--
The World is Yours.
Ya know, it's amazing I get any work done with all those games on my system... ;)
--
Scott Robert Ladd
Master of Complexity
Destroyer of Order and Chaos
All about me
Take out all the unnecessary stuff to make it lighter first, then put in some real time features (RTLinux), accelerated frame buffer with OpenGL and Direct3D API and a sound server (OpenAL/DirectSound APIs).
You are correct.
--Giving to trolls for the benefit of us all
I don't see how this is relevent. The idea of a Linux game not selling well doesn't make any sense -- wine runs software that was written for windows. The game sells just as well as it would sell if it were Windows platform only. They only stand to gain customers by having wine work well, otherwise, they just keep selling to Windows as usual, nothing is lost.
I'm really unsure as to the point you've expressed.
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
You're absolutely right that Direct3d is harder to program for than OpenGL (which is why most students learn OpenGL before Direct3d). The thing is, Direct3d is part of DirectX, which, as a package, makes the whole game-development enterprise a bit simpler. Plus, as you said, features get added much quicker to Direct3d because of the more efficient feature-adding environment. What we need is someone with the efficiency of Microsoft (you really can't fault Direct3d too much as a product) to produce an open DirectX-type system. There are open source projects to this direction, but nothing that compares to DirectX yet.
Assuming the X-Box has moderate success, developers will begin to move even further away from open graphics protocals. Like it or not, Direct3d is really easy to program for and has great compatibility with graphics cards in Windows. Look at the OpenGL drivers for ATI cards and you'll see what I'm talking about (apparently this has improved somewhat). Companies always care about the bottom line. Until Linux gets more market share, full on ports will only be done for the biggest games (and this even has yet to be reasonably profitable). I think companies would be willing to make cross-platform games if there were common libraries across the board - also, if there was something universal that was as easy to code for as Direct3d. Making a Direct3d wrapper like this (that can take direct 3d calls and render them with OpenGL or something) is a decent solution. Not perfect, but until someone makes something better than Direct3d companies aren't going to do anything. Now, if the open source community made a well documented, up-to-date, easy to code for, massively supported / cross platform API then we might get somewhere.
Linux won't get commercial games until it has more desktop market share - conversely it probably won't get a lot more desktop market share till it has games. Making it easy for developers to make cross-platform games is the solution.
This is a big step forward. Support in Linux for Direct3D, through Wine is the first step in the obvious progression to establishing Linux native support for direct3D. Support through an emulation layer isn't the conclusion of the development effort. This is a basic tenet of Open Source. The work of TransGaming is a great contribution, but if they choose at some point to conclude their efforts, others will pick up where they left off. Eventually there will be native Linux support for direct3D. This I am certain of.
As for following Microsoft, implementing their API rather than promoting the potentially vary competitive OpenGL; well, open source operates with an entirely different market model than treditional corporate development. Some market segments such as enterprise IT equally receptive to open source as to treditional software. This allows open source solutions to thrive in that market space. Other market segments such as computer gaming, target a customer base which is generally less technically inclined, and in pursuit of entertainment rather than productivity solutions - I maintain that development of efficient solutions to productivity issues is one of the driving forces behind open source development -, anyway, the gaming customer base is seeking entertainment rather than technical solutions to technical problems. As such, the gaming market will always be dominated by the easiest to use OS, with the simplest setup, and the most readily (as percieved by novice customers) available commerecial support.
This is why game consoles are still as popular as they are. There was a time when game consoles were themost advanced and highly customized platforms for video game entertainment. With the advent of extremely high quality video cards, sound cards, and control devices for PCs over the past decade, it would be reasonable to assume that customers might choose to purchase a PC (which can now be priced competitively wihth some game consoles - as amazing as that is, in and of itself), which is more flexible, and by every reasonable measure, more useful, but, alas! - game consoles are still extremely popular. I maintain that this is because the gaming customer seeks simplicity and ease of use that (as much as it pains me to say) linux doesn't yet provide at this point, even with the great efforts of Ximian, and the Gnome Project, among others
The point of this rambling diatribe is that computer game designer will always favor the simplest to use platform, which is inherently, where the majority of gaming customers will be. This means, that regardless of the elogance or superiority OpenGL, the Linux community will need to adopt direct3D because, as others have pointed out, no programmer wants to port code from one platform to another especially when that requires a significant API change. TransGaming has done great work so far and their progress is indicative of great things to come.
--CTH
---
--Got Lists? | Top 95 Star Wars Line
Of course, when MS released Windows 95 and broke backward compatibility with Windows 3.1 for new apps, it was all over for OS/2. If Linux comes to run Windows applications seamlessly without significant problems, then as you point out, there's not likely to be much Linux commerical development.
CEE5210S The signal SIGHUP was received.
Tuxgames or the Lokigames website.
From Zero to Hero... Starbuck Zero
Our goal is to achieve 100% compatibility and full performance for off-the-shelf games. Both applications need to be installed on a Windows partition and transfered over to a Linux partition manually, since Wine currently doesn't work with installers made with the latest version of InstallShield.
Perhaps someone should get cracking on the installer problem, it seems quite like chicken or the egg to me. If the goal is eliminating the windows environment shouldn't some effort be put into creating a method of install that does not rely on one having a windows machine|partition?
Neverwinter Nights will prove to the Gaming Companies that releasing games under multiple platforms is a good thing. I will buy the linux version of the game upon release. My friends will buy the Windows version. If they are not on the same CD? Since Neverwinter Nights is being made in OpenGL they can use the same code base and just modify for the different OS's when problems come up.
I have a feeling Neverwinter Nights will be huge, esp in the Linux crowd since a lot of us are Role-Players. It is being released on Windows, Linux, Mac AND BeOS. If that is not a testament to cross-platform gaming, I don't know what is.
Arathres
I love my iBook. I use it to run Linux!
stainless steel
When I said WINE it I meant use WINElib to port it. WINElib creates a semi-native binary as I understand... The source is Win32 but the binary is Linux. I belive it is linked to WINElib like Gtk+ or Qt, though I'm not certain.
--Volrath50
When I wrote that I was thinking of Corel Office 2000... I haven't tried it yet (I do intend to buy it when I get some money though), but from all the bad reviews I got the impression that it was slow and I figure that games would be worse.
Also I have tried WINE in the past and the only game I ever got running was Starcraft, at about 2 FPS, I wouldn't call that fast. I do realize that WINE will get faster, but because WINE's relying on a non-native API it will propably never get as fast as Windows.
--Volrath50
IMHO if this gets too good it could backfire and we will have no Linux games:
Company Wants to Port to Linux
Company has two options, Port it or WINE it.
Company figure WINEing will be cheaper
WINEd game is released.
It's slow and gets bad reviews
Linux Game doesn't sell well
Company hates Linux.
When an OS relies on the API of anouther OS (paticularily a Microsoft one) it can really be hurt be API changes... Think OS/2. It's DOS & Windows API layer was perfect so no-one wrote native apps for it. M$ releases Win32 OS/2 gets no more new apps. How long until Win64 is released and WINE becomes obsolete?
--Volrath50
Never going to happen.
Bleem! was designed by people who knew all about the tricks that warez groups might try to crack their product, so they use every undocumented trick in the Windows API to try to be unhackable. Plus, the Bleem CD has something like 32 tracks of data and audio both with specific corrupt sectors. The WinASPI layer fails in a very specific way when reading parts of that disc, and Bleem won't start if it doesn't. But because of the way the CD-ROM is abstracted by the kernel, Wine can't properly emulate that behavior.
So it's realy never going to happen.
Who cares if game companies decide to port their propietary products over? Does a free OS get any better when it can run Diablo with Direct X?
Sure, it becomes more marketable in the short run, but free software is more powerful than the market. Our strength is in the community and our ability to create our own products and share them with one another. I would be more excited if we wrote our own Diablo.
Nice temporary measure that screws the long term interests of everyone. The only compromise is where there is a native port please wait a little while for it to come out rather than jumping on the Windows version the second it arrives and send the message to the producers that nobody wants to buy Linux games.
"Don't get mad, get a monkey!"
Companies like Loki should concentrate on new games. If they ask to much money for the port -> transgaming.
I think a REAL gamer wants to play native ports rather than wobbly WINE emulations.
Although older games should run fine in WINE cause the hardware requirements are often lower.
Tim Sweeney of Epic Megagames (Unreal, UT), has said as much..."OpenGL...blahblahblah...is obsolete"
What an incredible misquote. Tim turned around and hired Daniel Vogel, the guy who wrote an amazin OpenGL renderer for UT under Linux. Epic has not abandoned OpenGL specifically because of it's cross platform availability.
Besides, if you've ever run UT using this OpenGL renderer, and compare it to the D3D one, you'll never want to play the game in D3D again.
Dinivin
....than just games, I mean, I'm a Linux newbie myself, and while I would like to jump with both feet into a life of pure-Linux, there are things I just don't know how to do. Plus, there are many things (games included) that I have that don't work in Linux...I mean, I've been an MS drone up until now, so I have a lot of Windows apps. Things like The Sims and B+W that don't run in Linux are enough to keep me dual-booting.
But if I get all my cool games to run in Linux, that's one less reason to keep Windows around, and it's one less BIG reason for other newbies not to make the jump to Linux. I'm sure there are others out there like me that would make the change if they could keep their games and stuff. (I'm not just a gamer, but most everything else has a Linux alternative)
On a more personal (off-topic) note, maybe more people would make the switch, too, if there were less "I am a Linux GOD! Trouble me not, oh ignorant one!" and more actual help...but that's just my personal opinion (not everybody was raised on C++ and Unix). ;)