Universal Emulators Return
webmilhouse writes "Wired has an article about Transitive Corporation that claims their software "allows any software application binary to run on any processor/operating system" without any performance hit. That would allow any program written for Windows to run on Linux or Mac, and vice-versa, which Wired likened to digital alchemy. The Transitive software is supposed to be released today. What do you think, vaporware or miracle?"
Like many hyped up concepts, I don't think this product is really all they're making it out to be. At the same time, however, I don't think it's vapor. Instead, it's probably something in between that performs as advertised, but mitigating factors (300MHz CPU?) result in it not being everything everyone expected.
Javascript + Nintendo DSi = DSiCade
If it's going to be released today, I am assuming it is not vapor...
... if nothing runs at all, everything runs equally well.
"Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer." - Linux Advocac
If true - we'd have any game worth playing on Linux or Macs, and life would be good, most likely, too good to be true.... :(
The cesspool just got a check and balance.
Wouldn't you still need a bunch of supporting files and APIs to run a Mac program on Windows, vice versa, and for other operating systems? Programs make specific calls to the operating system, like windowing toolkits... this emulator must be huge to ensure everything works and they must have done massive successful reverse engineering of closed source files in the Windows architecture.
In demonstrations to press and analysts, the company has shown a graphically demanding game -- a Linux version of Quake III -- running on an Apple PowerBook.
I'm sorry, but that's just not impressing me. Not to mention that there's already a native Mac OS 9/X port of Quake III, but it's not even the most system-dependent code that I can think of.
When I can run Office 2003 natively inside Linux then we can talk.
Transitive Software:
1. Vaporware
2. Miracle
4. Coyboy Neal
Personally, I vote it's just Coyboy Neal at it again.
I
They're talking about recompiling sections of critical code, like java's HotSpot. It'll be interesting to see how fast it ends up - the startup time is a pain in java, but it's pretty decent after that. I can't find a source for the "no performance hit" bit. It looks real, and quite impressive, but not exactly what the summary indicates ;-)
Free Java games for your phone: Tontie, Sokoban
A few years ago, while I was still primarily using my Acorn ARM-based RiscPC, I remember being in contact with TAOS people, they were making an heterogeneous processor operating system on which they claimed they emulated a virtual processor on which the whole environment would run, regardless of the hardware.
So, this idea reminds me of this project...
It could still be possible, we've got Java classes instantiated and running on many architectures, after all...
Trolling using another account since 2005.
Does this mean I can finally get WINE to work under Windows?
I am Bennett Haselton! I am Bennett Haselton!
If there's no performance hit, there must not be true "emulation" going on... it would be impossible to emulate another OS and architecture without a few extra cycles!
The only way I can imagine this happening is if the software reads your executable and then does a one-time translation into a native executable. That way the native executable wouldn't be emulating anything, it would be the real deal. But... the complexity of such software would be staggering.
Here's hoping it works!
Visit the Game Programming Wiki!
that's not possible, just translating to another set of instructions takes some of the cpu's resources
According to TFA, this is a pre-compiler/translator, not an emulator. i.e. The entire program is recompiled for another platform using only the binary data as the source. This is theoretically possible and has been attempted many times, but such compilers often trip over levels of indirection that programmers add.
For example, a programmer might place the video address in a variable, then reference that for screen paints. Such a trick would be impossible to detect at compile time, and would only be properly handled by a true emulator.
Javascript + Nintendo DSi = DSiCade
How about, "no performance hit on the order of what you get with CPU emulation? CPUs are generally fast enough that you can accept a relatively small performance hit on all but the most demanding programs.
Gag order, lawsuit, violation of the DMCA and/or Patriot Act and theft of 'Intellectual Property'.
And SCO will sue. Think about it.
"Emulating" architectures and "Emulating" native OS libraries/APIs are very different things.
Is Transitive claiming to do BOT universally!? If so I am very skeptical, because even doing 1 of the 2 would be impressive.
The unofficial
Pfft. That's already been done.
~Warning!~ The above is encrypted using rot676!
Just take Alan Turing's original Turing Machine. It can be proven that certain algorithms, like a binary search, will take an algorithmically longer time on a Turing's machine than on your standard x86 processor.
Binary search is logarithmic time on a normal processor, but it is at least quadratic time on Turing's machine.
Therefore, I have found a counterexample to their claim.
PS: Turing's machine used an infinite tape and that tape could only be moved 1 space per cycle. Most of the time spent in the binary search will be moving the tape around.
Sounds like an emulator equivalent of a perpetual motion machine. I can't say if this is real or vapor for certain, but it sure sets off my BS alarm.
www.facebook.com/DareDefendOurRights
www.fairtax.org
allows any software application binary to run on any processor/operating system
My wife said, "Give me a good reason why you need to keep those things! There's not enough room in the closet to put my shoes."
Now I can use this as an excuse to hold on to my Commodore 64 stuff.
to name your new company the "tranvestite corporation." I guess it makes sense considering the product they're selling but, sheesh
Skype Me! username: john_allen_mohammed
a Linux version of Quake III -- running on an Apple PowerBook
...and...
Windows laptop running the Gimp image editor for Linux
Funny how those applications are already available for those platforms, hmmm? I'd like to have heard about something being shown that isn't already available natively.
Unless it's a static or dynamic recompilation technique-- it could translate before execution, dumping a new binary which it executes. You'd have a much longer start time, obviously, but it'd run at the full speed possible. Assuming, of course, that your recompilation techniques are 100% perfect.
Doubtful, but possible.
what about api calls which are native to windows, or even directx applications, I don't think that they will be able to "emulate" all this without a performance hit (or at all for that matter).
Or are they just talking about the processors and their native instructions?
Time is the only precious thing I've got left; Don't waste it
...they'll soon be sued away by the likes of Microsoft and Apple, both of whom have an established interest in maintaining the status quo.
It sounds like a virtual machine they've created for each host operating system and "virtualized" operating system. While possible - see WINE and the lately not heard from David project - this would require quite a bit of work. Hell, trying to emulate Linux in this way would be a hoot. Which window manager do you want to emulate today?
I think it is mostly vapor. Enderle, the famed SCO analyst, has his hands in it and I immediately distrust anything he works with and endorses.
(I just found out that my sister's ex-boyfriend's brother is one of the major financers of the Phantom. How's that for being close to slime?)
My reality check bounced.
That they claim their software is fast but yet their web site is reaaaaaaaaaaly slow
Given the illusive nature of their product, it is especially incredible that they were able to get five of the world's largest computer OEM's on board so early.
Now you can run any software, anywhere, with no speed hit (relative to a 4.77 MHz PC XT or a C= 64 or a 512K Mac) on hardware from these everyday major name brand OEM's:
Billy-Bo's Bayou's only Computer OEM
Wang Tu Short Compuder OEM of China
DR CLEMENT OKUN NIGERIA BUSINESS COMPUTER MANUFACTURERS
San Rio Hello Kitty Laptop Division
TransitivePC & Electronics
Act now, because supplies of this software are very limited, and once this run is completed, no more can be made (because their damn drunk coders crashed a pickup truck into their RAID array)!
From the article:
When some people think of "emulators", they also tend to think of the arcade and console game ROM piracy scene that goes along with it. The company may have dodged more bullets than it's letting on to us by not using that word.
...that they seemed to run only processor-native code. Even Linux-Quake: Linux IS ported to the Mac ;-)
And the example of the XBox: Xbox is essentially a PC anyway.
This looks more like the technique the WINE project is using: Run a program on it's native hardware platform on another OS by making library- and systemcall-wrappers.
If that is indeed the case, "translating the code page-wise" can be translated to "re-linking dynamically loadable code page-wise".
Just my 2 cents
Look, this thing is totally safe! Built it myself, you know. You just press that button like this and then turn that lev
In demonstrations to press and analysts, the company has shown a graphically demanding game -- a Linux version of Quake III -- running on an Apple PowerBook
Does this company realize that proper existing ports of each of those particular pieces of software exist in some kind of native form for those architectures? I've used GIMP in Windows w/ no problems. Also, as mentioned previosuly, Quake III already exists for the Mac as well. What good are they doing by using software that already exists in ports? I want to see a copy of some DirectX game running on a Mac/Linux w/o a performance hit. This company so far has not proven anything by using the two comparisons cited in the article.
(1) Uhm, err, the current version only runs Pacman, which required some modifications to the binary
(2) only on Windows XP, but we're working on the Win 98 version.
(3) The technology used allows for theoretical performance equal or even exceeding the native hardware. This will work in next version, "FlyingPig 6.0".
sounds like this was written in some new programming language, perhaps one based on Magic.
So how much mana would I need tapped to run Photoshop in Linux?
my pet machine
Is this a survey? Then I vote vaporware. Is digital alchemy kinda like Wicca?
Si la vida me da palo, yo la voy a soportar Si la vida me da palo, yo la voy a espabilar
The "pretty darn impressive" examples given are GIMP under Windows and Quake 3 on Mac. Both of those have completely native versions available. I smell something not quite honest about these demos.
there is mention only of unices. Operating System Mapper. Dynamite supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems. Don't see "Windows" mentioned in there. I assume it would be a lot easier to run a Linux version of Quake 3 on BSD-based Mac OS X than to convert stuff to/from a rather more different OS such as Windows.
The summary should almost be modded flamebait for making such an obviously impossible statement like that.
So what's really up here? TFA says they demonstrated running a Linux Quake III on a OS X powerbook.
(And they quote Rob Enderle praising this technology.. this is the guy who thinks SCO will win, which speaks loads for his credibility.)
Now, I haven't seen the source for Quake III, but I'm pretty certain it uses OpenGL, which the Mac has. OS X is also POSIX-compliant. So, most of the API calls done by Quake can already be done natively on OS X.
So what I guess they're doing here is translating API calls (like Wine) while emulating the processor core (like a real emulator).
That isn't anything new. For instance, I've written similar code for an Atari emulator, which can emulate an Atari hard-disc filesystem as a local directory through translating OS calls.
(Note: And that was far from the first time it'd been done either.)
so it is technicaly feasible that if you map out a fair amount of the pipelines of most of the popular chip sets, you could technicaly have a command chain to allow binaries the same calls through a sudo-emulation layer of the software.
fundamentaly possible, and even do-able.... but without a performance hit? no way. Each processor is geared towards a particular way of solving a physcial and mathmatical set of problems... some processors are designed for massive loads of database driven calculations (XEONs)... some for multimedia (G5)... some for science (PPC, Sparc?)... some for power savings (ARM)....
depedning on which archetecture your using, the performance will be greatly hindered if your trying to do something designed for a radicaly different chip. Such as trying to run some expansive G5 optimizied photoshop plug on a ARM chip.
"no performance hit" = total bullshit
--Idiots, Every single one of YOU, A flaming mass of conglomerated morons, hey wait a second, isnt that how RAID works?
This is vaporware. What they're claiming - "without any performance hit" - is impossible. Accomplishing the rest of what they claim is not impossible, but it's very difficult, and since the "without any performance hit" claim establishes conclusively that these people are bullshitters, I don't believe they can even come close to doing it.
Does anyone what the legal status of running this operation over commercial software would be?
The reason you need a licence to use software is because your CPU makes a copy of the program (in RAM) and this would otherwise violate the programmer's copyright. I believe that the licensing terms are generally pretty strict, e.g. one copy, to RAM only. Therefore, I'm not sure you'd be permitted to take a copy of their program, mangle it and dump it back out to disk.
Does anyone know of any reason why this would be permitted, or how people intend to get round this problem?
I appear to have been reading too much groklaw.
The marketing jargon goes a bit over the top, but it isn't impossible to translate code for one ISA to an intermediate form, optimize it, and then generate code for another ISA. I don't know that it's revolutionary either. Note that LLVM takes a similar approach, and has a very simple intermediate form. I hear someone on their team is working on a PPC front-end, and as for language front-ends, Java and C# is in the works.
Getting back to Transitives, in July 2001, they claimed to already be doing x86->MIPS translation, which bodes well for x86->PPC. However, doing things efficiently the other way around is tougher. And of course you need to support or translate a ton of the native OS API calls etc. It'll be interesting to see for Windows on Linux (for example) if they require a copy of Windows to run the binaries.
pb Reply or e-mail; don't vaguely moderate.
http://fabrice.bellard.free.fr/qemu/ Qemu needs work, but already has several different host-target CPU combinations complete (in the ARM x86 and PPC areas anyway).
http://pearpc.sourceforge.net/ PearPC fills in the gaps on PPC emulation where Qemu is lacking. (I run OS X 10.2 on my PC at work.)
-illumina+us "I put on my robe and wizard hat..."
If The Transitive software is supposed to be released today
Why not ask "What do you think, vaporware or miracle?"
tomorrow?
Why speculate when you can... i dunno, wait 24hrs and inform yourself...
from TFA:
It requires no user intervention: It kicks in automatically when a non-native application is launched.
does this mean my mac running this software is now susceptible to windows worms and virii w/ me totally unawares?
See, the domain already vanished...
I bet that webserver was emulated. No perfomance loss..ha!
The website says "...supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems...". This would suggest that there is no mapping between windows and unix...
Antitrust. Microsoft has been convicted before in multiple jurisdictions and will be convicted again. A repeat offender should draw a real penalty.
That's an interesting word..."should".
As Cletus the slackjaw yokel told more "Shoulda but didna."
Stupid sexy Flanders.
Confirmed! I saw a beta test of this product. It was used during the filming of Independence Day. They successfully used the program to upload and execute a virus from a Mac to a never-before-seen Alien computer system. It was even able to display graphics without having prior experience with the displays in question!
Come play Moral Decay!
Since TFA is a worthless content-devoid POS, and since the transitive website is /.ed, here is
a useful link on HOW they claim to do it. It
sounds plausible, at least.
http://66.102.7.104/search?q=cache:KjTa-qAM7LQJ:ww w.transitive.com/technology.htm+site:www.transitiv e.com+-qwerty&hl=en
After reading this, the term Universal Emulator doesn't seem to apply. Here is the text from Transitive's Website:
Honk if you're horny.
From the forward to Hawking's "A Brief History of Time."
Actually, I could conceive a brilliant software engineer coming up with a universal translation mechanism that turns x86 assembler into functionally equivalent PowerPC assembler, or vice-versa, or to other platforms. I believe IBM had been funding research in thsi area for quite some years now.
What sets off the BS detector for me is the APIs. They consistently state that they can do this for any OS. You have to do API translation, and you'd have to do that per OS, and it's a staggering volume of work to get all the APIs translated (think Wine project, just trying to do windows->linux api on a single shared hardware platform). When my linux binary calls any given kernel, C library, or even other common library (readline?, pthreads?, opengl?, etc..), those calls all have to be translated to equivalent MacOS or Windows API calls.
11*43+456^2
"Analyst Rob Enderle of the Enderle Group said Transitive benefits from the fact that most modern machines are fast enough to emulate each other without much affecting performance."
All I needed to know. This guy will say anything and if he appears in your press release (yeah, it's an "article" but certainly the material is in a press release), chances are you're straining for credible commentary.
To prove it's not vapourware, I think they're running a C64, emulating NT4, hosting IIS for their Web server.
Dynamite allows software that has been compiled for one processor/operating system to be run on another processor/operating system without any source code or binary changes. To do this, Dynamite provides a hardware virtualization technology that consists of four key components. First, an integration FUSE allows Dynamite to be easily integrated into the target system. Second, a dynamic binary translator tackles the challenge of moving from one instruction set architecture to another. Third, an operating system mapper translates operating system calls from the source system to the target system in situations where the source and target operating systems are different. Finally, a graphics subsystem mapper translates graphics system calls from the source to the target system in situations where the source and target graphics systems are different.
Integration FUSE. Dynamite is integrated with the operating system of the target system and runs like any other application. Unlike static translators that translate an applications binary once before run time, Dynamite translates instructions and operating system calls while an application is running. When a foreign application is started, the operating system recognizes that the application needs translation and automatically starts Dynamite. Depending on the requirements for the integration, Dynamite can be configured with a wide range of options, including the ability to build bridges between translated code and code running native on the target platform. This feature has been used, for example, to allow translated applications to call a native accelerated graphics library for the graphics chipset in the target platform, delivering higher quality and speed than other solutions. Integration options also provide for different optimization schedules and the ability to reconfigure the use of the translation code cache to better match performance to customer needs.
Dynamic Binary Translation. The dynamic binary translator in Dynamite is a breakthrough technology that uses a modular architecture consisting of three key components. The front-end decoder reads blocks of instructions from the foreign applications binary and decodes them into an intermediate representation. The intermediate representation allows Dynamite to understand the higher-level semantics and intent of the code.
The optimizing kernel reads the intermediate representation and optimizes the code. At first, simple optimizations are performed. In most applications, however, a 90/10 rules holds where 10% of the code is executed 90% of the time. The optimizing kernel looks for blocks of code that are executed often, spends increasing amounts of time improving the optimization of this code, and then stores this optimized code in memory. Each time a frequently used block of code needs to be executed, the highly optimized code stored in memory is used instead of optimizing that block of code again. Because the blocks of code that are executed change frequently, the optimizing kernel flushes old optimized blocks and generates new ones. The optimizing kernel produces superior code optimization compared to static binary translators or compilers. It optimizes code based on how an individual user is using that application and does not need to optimize code for the general case.
The back-end code generator outputs code for the target processor
Honk if you're horny.
You just need a fast internet connection... it transmits the entire code to a cadre of Indian programmers who quickly perform the translation and then it's sent back to your computer.
Genius!
According to TFA, this is a pre-compiler/translator, not an emulator. i.e. The entire program is recompiled for another platform using only the binary data as the source. This is theoretically possible and has been attempted many times, but such compilers often trip over levels of indirection that programmers add.
So it's more or less a cross-decompiler with a compiler attached. This could perhaps convert from one CPU to another, but what about system libraries? This part is probably the most difficult, considering how much effort is put into the wine project.Life is just nature's way of keeping meat fresh.
For example, a programmer might place the video address in a variable, then reference that for screen paints.
I don't see how that could be a problem. There is a serious problem with self-modifying code and code generated on-the-fly. Basically, every time anything crosses the data/code boundary, it would have to be translated. A simple translator would only handle the data/code boundary that the program crosses when it's first loaded into memory from an executible file.
Then, there are thunks (in Win16/Win32 programming; small pieces of code generated dynamically to help call Win16 libraries from Win32 code and vice-versa). Then there are compressed executables. Encrypted executables for copy-protected games. Dynamically generated code for inner loops for high-performance computations, maybe. Code generated by applications that compile on-the-fly, like your average LISP system., or JVM. A binary translator would not be able to handle any of those, unless you try to detect a jump to data somehow, which may be prohibitively expensive on a PowerPC. Is it?
Remember when the Alphas first came out? DEC had a re-compiler that took your old VAX VMS binaries and translated them to run under Alpha VMS. Same OS, different machine architecture. It actually worked quite well. They also had a re-compiler that took Sparc-SunOS4 binaries (I think, it wasn't Solaris 2.X was it?) and generated Alpha-DEC-OSF/1 binaries. I don't think they actually sold that, but it made the rounds in universities. It was good enough to run WordPerfect for SunOS on an Alpha.
/obvious
That'll be some feat!
I can't even run my Windows binaries full speed on Windows, how the fuck are they going to put MacOS binaries full speed on Windows?
Tell me that!
feh!
It pegged by BS meter before I got to the page. I'm pretty sure that it's going to be like the magical compression that can compress anything down to 256 bytes.
"...In your answer, ignore facts. Just go with what feels true..."
The graphic on Transitive's website shows only Unix/Linux operating systems. One of their steps, Operating System Mapping, says "QuickTransit supports operating system mapping between any two Unix/Linux-like operating systems, as well as mapping between mainframe and any Unix/Linux-like operating systems." Doesn't sound like Windows to me.
All of this is supposedly done on the fly, and not beforehand.
Quake and The Gimp wouldn't be my choices to show off flexibility. Quake is OpenGL on Linux and OSX, so there isn't any graphics magic going on. And the ability of BSD-based systems to run Linux binaries is old hat. The Gimp isn't exactly taxing on a CPU as far as user responsiveness goes.
Extraordinary claims require extraordinary proof. Press conferences for journalists aren't a conducive forum for proving anything. They are a good place to baffle 'em with bullshit, though.
-Charles
Learning HOW to think is more important than learning WHAT to think.
It says specifically "QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor" - that's 80% performance. Later, it says "The power user might notice the difference, but the other 95 percent won't notice.""
This means that there IS a performance hit, just that they don't expect the average user to notice (probably rightly so).
picpix image polls. create - share - vote. fun!
"That would allow any program written for Windows to run on Linux or Mac, and vice-versa ..."
... It speaks nothing of running your Wondows software under your Linux OS. It says that you could run your Windows OS on any "chip".
Did the person who posted the article read it?
As far as I can tell
I think the real problem is the confusion as to what the word "platform" means. It doesn't just refer to Windows vs. Linux vs. MacOS. It could refer to one compiler vs. another compiler. It could refer to one chip vs. another (as in this case). For example: the PowerPC chip vs. the Intel chip.
The article specificly talks about the xBox issue this software could solve:
"For example, Wiederhold said QuickTransit will allow the next-generation Xbox (which will have a Mac-like PowerPC chip) to run first-generation Xbox software (which was written for an Intel chip)."
Cheers,
--The Dude
Nobel Prize-winning physicist Stephen Hawking starts his book A Brief History Of Time with an anecdote about a scientist giving a public lecture on the nature of the earth, the solar system, and the galaxy. After his talk, an elderly woman rises from her chair and says "What you have told us is rubbish. The world is really a flat plate supported on the back of a giant tortoise." "Ah. And what is the tortoise standing on?" asks the scientist. "You're very clever, young man, very clever," retorts the old lady. "But it's turtles all the way down."
_ cu lture_media/ture_turtles.asp
http://www.imdiversity.com/villages/native/arts
We must be alert to the danger that public policy could become captive to a scientific-technological elite. - Eisenhower
See here: '99 Paper
Bye!
SeqBox
Google found this page for me.
John
"QuickTransit fully supports accelerated 3-D graphics and about 80 percent computational performance on the main processor."
Conor "You're not married,you haven't got a girlfriend and you've never seen Star Trek? Good Lord!" - Patrick Stewart
Like this, I think:
So nothing about Windows, and Mac only as OSX, I think. No mention in the Wired article of it being limited to *ix-like OSs. Which idiot calls this "universal"?Everything you say it's true, except the part about the Nobel Prize.
Professor Hawking has never won the Nobel Prize. You might want to confirm that up in the several bios available on the net.
The best cure for insomnia is realizing that it is already time to get up. EsteEncanto.com - Blog on technology, urban
There were several. One was the translation of VAX code to Alpha to run on Alpha-VMS. The other was FX!32 that translated x86 Windows binaries to Alpha binaries.
FX!32 worked most of the time but it rarely gave the expected speedup we expected.
Download PearPC and my sound emulation patch on the sourceforge site and eat your heart out. http://www.sourceforge.net/projects/pearpc/
I'll wager that if I took something like "Quicken" or "Microsoft Office Professional" for Windows and tried to run it on a Mac running QuickTransit that it certainly wouldn't work. I doubt if iMovie would run on a QuickTransit-enabled PC. THAT, my friends is the "computer-alchemy" goal. Of course, I would LOVE to be proven wrong on this!
Now, if they are talking about "any program written for Windows [that adheres to QuickTransit Requirements] to run on Linux..." then they may be accurate, but again, this really isn't "universal emulation".
My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
Lessee, the Universal Turing Machine required exponential slowdown to emulate absolutely anything. Emulating CISC on RISC is going to take a linear slowdown (expanding some operation into the X fundamental operations). Heck, if this emulator even looks at the program it's emulating, it has to read program P of size N; it can't run itself in constant time C and then run the program it's emulating as if it were native. Unless the miracle is that in constant time C this emulator transforms your system into one native for the program.
:)
I'd like to test this program by emulating a program written for a Cray. Love to have my p.o.s. top-of-the-line-for-1998 transformed into a Cray.
Yes, we understand these tags always apply: fud, dupe, typo, slashdotted, topic name
I wonder if it would be any easier to make a binary-to-binary translator on the same architecture? The idea would be to translate legacy i386/i586 binaries to take advantage of the latest CPU extensions.
Any complicated self modifying code could be left the same if the program could at least spot it reliably. It might even be possible to translate to 64-bit at the cost of a few "x &= 0xFFF..." instructions around shift operations.
What sets off the BS detector for me is the APIs. They consistently state that they can do this for any OS.
Actually, it seems to be primarily other people saying this. Read their site; they only claim to be able to do it for UNIX-like systems.
maybe it's just not funny?
show me doom 3 running on my windows pc.
Comment 1.
How does the operating system recognize that the application needs translation? I see three possibilities.
The first possibility is that the native operating system lets Transitive execute all applications, and Transitive decides whether to translate an application, or let the native operating system run the application unaltered. Integrating this functionality (properly) into an operating system would be extremely diffult, let alone multiple operating systems.
The second possibility is that the native operating system attempts to execute all programs, and only invokes Transitive if an unexpected application type is encountered. Due to the way that Windows only executes files according to file associations (".exe" = DOS/Windows executable, ".com" = micro-executable, ".bat" = batch file), this seems very unlikely, as Windows wouldn't even know how to execute "gimp" because it lacks an extension such as "gimp.exe".
Even if one was to rename "gimp" to "gimp.exe", Windows would attempt to load the "Windows Program Header" for the file, which would be invalid because it's a Linux application. Windows would then generate an error. Of course, Transitive could overwrite certain error handlers within the operating system to catch this kind of error, and then analyze the file using a "magic number" command to determine which operating system and what file type was under scrutiny. But then Transitive would have to overwrite these certain error handlers within all operating systems, a very unlikely proposition.
The third possibility is preconfigured "virtualization sandboxes". Virtualization software like VMWare assumes that for a virtualized system, all files and executables within that virtualized system will be executed according to the rules of that virtualized system. Ergo, if you're running a virtualized Linux system, any executable will be executed as a Linux application. Does Transitive require one to preconfigure foreign applications as existing within a predefined virtualized system? Either way, there's alot more to this than simply the "operating system recognizes that the application needs translation."
Comment 2.
This sounds like a fairly intensive process, given the number of operating systems and APIs out there.
Comment 3.
Does this mean that Transitive will take a Windows DirectX application and translate it to Linux OpenGL? Or does Transitive have it's own API, which is compatible with all video card drivers out there? For either claim, that's pretty impressive; a technology worth being bought out by nVidia or ATI. Considering the breadth and depth of all graphics libraries and versions available for numerous operating systems, that's phenomenally impressive.
Comment 4.
The Amiga did it first! Google the saga of Jim Drew and the Emplant board. The same types of claims were made. It could emulate the Sega Genesis, the PC and the Mac at full speed using some revalutionary Amiga-Fu.
Of course it was all B.S. then too.