

Layers Upon Layers: Plex86 Runs Windows95 287
John Roberts writes, quoting the Web page of Plex86 wildman Kevin Lawton: "
Plex86 now runs Windows95 on my Linux-Mandrake box, in full virtualization mode!!! That adds Windows95 to the plex86 project's previous list of guest operating systems which it can run: MSDOS,
FreeDOS, and Linux.
This is full virtualization mode.
The CVS server already contains my latest source code.
Here's a toast to all the people who have supported plex86
development... [klink, klink, sound of champagne cork popping]
Check out this
screendump." Woo Hoo! The cost of VMWare may have just risen a bit ...
Does this count? (Score:2)
Oh, and Mame in the corner too :)
Re:Will it run Starcraft? (Score:2)
As Sun don't seem to make use of it, perhaps they could open source it ?
As for OS X its good but its still evolutionary NOT revolutionary, the best thing about it is that its based heavily on unix . The GUI is an improvement but it still relies on the WIMP metaphor.
Dammit even Microsoft have experimental 3D user interfaces being tested and are at least trying to design using new metaphors. Its only because Microsoft uses a pale bloated imitation of unix for their OS (NT/2000) that Apple is still in the running.
Re:Whats the Point? (Score:2)
For one, it's a perfect way to debug web pages. I can start up VMware for Linux and preview the things I work on in Netscape/Linux, Netscape/Win98, and IE5 all at the same time. And when I fix the page, no nasty time wasted rebooting to see that the last fix I made broke the way the page appears in one of the above browsers.
I imagine that an OS in an OS is also useful for isolating viruses and buggy software too. Or would you prefer to try out that nasty new bug that flashes your bios and erases your partition table on your real computer?
I suggest that you check out the VMware [vmware.com] site to see their propaganda on the issue. They had some good points the one time I actually read them. Some silly ones too, but that's PR for you.
Stability (Score:2)
And why not... (Score:5)
It's only natural that the same thing be finally done on microcomputers.
Back in (MS-)DOS days, Desqview did it pretty cleanly, too. But Windoze pretty well screwed up the whole scheme with it's hare-brained design.
--
Americans are bred for stupidity.
Will it run Starcraft? (Score:3)
Seriously, one wierd thing about vmware is that it is inflexible with the number of colors. Games that open up screens using DirectX won't work because of how vmware's "video driver" works. Anyone have any idea of this is just a fact of machine emulation, or a vmware-only thing for optimization?
Bizzare project question. (Score:5)
Has anyone tried writing a complete virtual processor/virtual peripheral system that performs dynamic binary translation between instruction sets?
The canonical way of doing this - just running the program on an emulated processor with the desired instruction set - is hideously slow. You can't cross-compile the whole program, as parts of it will be inextricably bound to architecture, but you should be able to translate 99.9% of it to native code on the desired target platform. This would provide a vast speed boost over a purely emulated solution.
You could even design the system to perform cross-compiling and optimization of the new machine code incrementally. Much as with Transmeta's translation technology, you'd perform profiling on the fly to give translation/optimization priority to the sections of code used most frequently.
The advantage to this? I'm not sure, but among other things it would let me run Sparc binaries from the university servers on the x86 machine on the desk in my cubicle, or play MOO on the Sun boxen.
Has anyone tried writing such a monster, with or without the "incremental" bit? What was the end result?
VMWare (Score:2)
Plex will continue to evolve and get better, and this should contribute to _lower_ pricing for VMWare.
Re:Will it run Starcraft? (Score:2)
You may also want to consider X4 instead X3 which is meant to address this windows "advantage." (It isnt an advantage if you need the machine to positively, absolutely always be up, by the way.)
Old!? Dont be an idiot. Its younger than MS windows. Check your computing history. Do you expect the gui codebase for w2k is the same as that of w3.1? So why do you think so for X.
The problem with windows is that it has no decent window manager. I simply cannot get anything done on windows. It is not possible for me to work multiple shells, browsers and compiles at once. And I cant configure it to do so. And its institutional ugly. All these UI advantages Windows or the Mac has over X are median advantages that mean dick in my particular case. I dont care how easy it is for computer illiterates to use windows or a mac. Their ease is my torture.
It took me 3 days to configure x/helix to look, feel and act the way I like but at least it now takes its orders from me, not the other way around. And it looks damn good.
Add to that network transparency (W2K professional doesnt have a terminal server) and its no contest. But hey, its not for everyone. You can use whatever the fuck you want but dont rag on the rest of just because you dont understand the technology. Its too bad X cant change color depth on the fly but I can live with that considering its been ages since I've had to run anything that didnt agree with 24+ bits. If you need to switch between old dos vga games and kde or gnome, I guess X isnt for you then.
--
Re:Stability (Score:4)
That's like wondering about whether your left turn signal will last a long time when you're in a 30 year old fiat in the fast lane of the Autobahn.
Re: (Score:2)
Re:Detachable interface (Score:2)
I start several VNC session from
It wouldn't be hard to fiddle with some settings to the VMware machines get automatically started too.
Re:I don't think virtual machines are the answer.. (Score:2)
Well, windows is not the end-of-everything. Plex86 will give me the possibility to run OPENSTEP. Or the HURD.
But, yes, for runnning windows *applications*, Wine is probably better...
Cheers,
--fred
Re:Plex86 vs Wine for playing The Sims. (Score:2)
Doesn't sound all that different from Linux kernel modules if you ask me. It's even allowable to distribute binary only modules for device drivers and whatnot. The only real difference is that in Linux you can't insert modules into the running kernel unless you are root.
_____________
Re:Will it run Starcraft? [ot] (Score:2)
Can you please list some design flaws?
I'm not an X guru but I can try:
Advantages with current design: network transparency. Current solution to design flaws: make everything (font antialiasing, alpha, bezier, color conversion etc) in prosessor and send result as bitmap. Do you really think this is the solution?
_________________________
Re:Time stamp (Score:2)
If this is a serious question (not just a troll):
I see he posted at 12:29 AM. Trolls don't come out until after 2 AM, so it wasn't a troll.
Re:I don't think virtual machines are the answer.. (Score:2)
Sounds like binfmt_misc to me. From /usr/src/linux-2.2.14/Documentation/Configure.help :
Kernel support for MISC binaries
CONFIG_BINFMT_MISC
If you say Y here, it will be possible to plug wrapper-driven binary formats into the kernel. You will like this especially when you use programs that need an interpreter to run like Java, Python or Emacs-Lisp. It's also useful if you often run DOS executables under the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available in ftp://metalab.unc.edu/pub/Linux/docs/HOWTO). Once you have registered such a binary class with the kernel, you can start one of those programs simply by typing in its name at a shell prompt; Linux will automatically feed it to the correct interpreter.
Re:Lawyers Upon Lawyers, Plex86 runs from Windows9 (Score:4)
Look at related past scenarios: VirtualPC and SoftWindows for the Mac do essentially the same thing (with minor performace issues), and Microsoft doesn't seem to mind them. WMWare hasn't been hassled by Microsoft, to the best of my knowledge, either.
But yeah, I'm sure Plex86, which is probably riddled with bugs and compatibility issues at this point, is going to scare them into litigation. Makes sense to me.
Where can I find a tarball (Score:2)
Re:Will it run Starcraft? (Score:2)
XFree86 4.0 improved things substantially with its modular driver architecture, and combined with the upcoming XFree86 alpha channel stuff shows its these guys who are driving X these days, not TOG.
It is possible to present an X like environment to applications and still use other compression methods to get the app down the wire. Expanding X4s modularity to compression methods would be a wonderful, wonderful thing. Here's what I'm talking about:
Now [XFree86 4.0]
Display architecture which can take regular apps and display them via:
* X protocol
* DGA
However, the way these two systems are implemented is quite static and unmodular. Upcoming developments will require further modifications, and the limits of this system are already becoming apparent [see below]
The Hopeful Future
Rather than XFree86 as both the display server and two transmission methods, I'd prefer a more modular approach for
* X protocol
* Direct Rendering
* X protocol with upcoming XFree86 extensions developed by Peter of XFree86 team [anti aliasing, alpha channels, etc]
* X protocol with SSH compression
* Other remote display protocols, such as VNC, Hextile VNC [around 1/3 the bandwidth in my environment], as well as non-open protocols like RDP [crappy] or ICA if desired.
* Widget level remote display. This is perhaps the cleanest way to display apps remotely, but requires binding between each tool kit and the display server. This is perhaps the cleanest way to doa pps remotely, but hasn't really been explored. Think about it...
Now
You write an app in GTK. Your app tells GTK to draw a drop down list box. The GTK tells X to draw a series of rectangles and other components to create the graphic of a drop down list box on your hosts screen. These are sent down the network individually as a very long list of components, taking a fair quantity of bandwidth.
The Hopeful Future
You write an app in GTK. Your app tells GTK to draw a drop down list box. The GTK tells X to draw drop down list box. The binding between the two transmits `draw GTK list box' down the wire to your host.
While such technologies might not be fully understood today, a more modular yet backward compatible approach allows for :
* Better expansion for future technologies
* Alternate remote display protocols, which are less stagnant then Open Group X protocol.
* The ability to dynamically switch protocols depending on desired compression processing impact and avaliable bandwidth.
* Cleaner implementations of third party [and even closed source] protocols like ICA.
* Lower overhead for devices which do not require remote display capability, such as handhelds and even some desktop PCs [especially low end systems], while maintaining application compatibility with existing toolkits and apps.
Re:Will it run Starcraft? (Score:4)
Re:Will it run Starcraft? (Score:2)
of wine for a long time now and Starcraft has
always been one of the main reasons. No need
for windows just run with wines libs and you
are good to go. If you want to run games,
check out the list that wine runs.
http://www.winehq.com/Apps/query.cgi
Nothing like a nice wine!
Re:Discounted VMWare available until Dec 4th (Score:2)
So far, the only thing it can't do is MS Networking (browse fileshares, access resources, log into domains, and etc.). It also doesn't have Sound, and it can't play DirectX games. It also only supports Win9x.
I'm SUPER impressed with it. (Acutally, McAfee blew me away!
Raw Partitions & Network (Score:2)
Does plex86 support running the guest OS off a raw partition, or is a virtual disk required? There are two reasons I'd like to see raw partition support implemented:
I know Bochs was able to use raw partitions. Has this support been ported over to plex86, or are plans in the works?
Also, does/will plex86 support transparent network translation the way VMWare does. This is absolutely critical for me.
--
Re:Plex86 vs Wine for playing The Sims. (Score:2)
A user program like the Sims should simply not be allowed to execute privileged code. My one year old should not be able to crash my Linux box by banging on the keyboard as long as he is not running as root.
-tim
Stop complaining!! (Score:2)
Why are people so impatient!! I've just read through all the comments and there are so many that seem to be asking for stability and other OS's. One thing at a time! It's only just running Win95 and already everyone wants it to do everything, and be stable to boot (pun not intended). I think we should really hand it to the plex86 guys. Anyone who has read their paper on virtualisation will see it looks like a complete nightmare. I'm hugely impressed they've got this far so fast. Of course we'll all look forward to the day that it runs Win2k/Win* with all the bells and whistles (or perhaps many slashdot readers won't...:), but that is for the future.
For now, congratulations guys!
Re:Bizzare project question. (Score:2)
>processor/virtual peripheral system that
>performs dynamic binary translation between
>instruction sets?
Sure. The authour of Plex86 is also the author of Bochs:
http://www.bochs.com/
"The program bochs is a highly portable open source x86 PC emulator written in C++, and runs on most popular platforms"
Re:Bizzare project question. (Score:5)
One such is HP's Dynamo [arstechnica.com]. It emulates an HP PA-8000 instruction set on, get this, an HP PA-8000. This emulation is faster than the native code, because it can do better optimisation.
Sun's MAJC runs a similar optimising emulator, but it emulates a Java machine.
I would guess that nobody's tried to emulate a complete x86 PC on a non-x86 platform largely because they'd also have to emulate all the features other than the processor: mouse, keyboard, serial, parallel, IDE, USB, etc.
What's up with the WINE logo? (Score:2)
Video accel not simple... (Score:2)
Re:I've been following the project for a while, (Score:2)
I'm somewhat confused about what plex86 actually does. On one hand it's mentioned that Windows and Linux are two of the operating systems that can be run under plex86, but a few other people have mentioned running Windows "under Linux" using plex86. Which is it? Do you run Windows and Linux simultaneously under plex86 (in which case Windows is not running "under Linux" any more than Linux is running "under Windows") or do you run Linux natively and then use plex86 to run Windows under Linux? If so, could you reverse it, running Windows natively and using plex86 to run Linux under Windows?
Re:Will it run Starcraft? (Score:2)
Hrm.. I don't understand what you mean. If you mean that it shouldn't be done this way, and some other way instead, I'm all ears.
I think what he's referring to is the X distinction of "client" and "server." The "X server" is the piece of software that runs on the computer you want to display on, and it renders the data coming from the "X client," which you connect to, and which is actually running the program. This seems like backwards terminology to me (and a lot of people apparently). Wouldn't it be more accurate to describe the rendering portion as a "client," since it connects to another computer, requests data, and renders that data, while the portion which accepts connections, runs programs at request, and sends data out should be more accurately called a "server"?
Re:Reaching for geekdom (Score:2)
I haven't kept up the skill, and my memory has degraded, but I certainly know what I was talking about. Stop being such an asswipe.
Dave
'Round the firewall,
Out the modem,
Through the router,
Down the wire,
Re:Info on Plex86 (Score:2)
Also consider that it ran on Solaris on SPARC.
"If ignorance is bliss, may I never be happy.
Re:Plex86 vs Wine for playing The Sims. (Score:2)
Apart from terminology how is a ring 0 VxD diffrent from a kernel loadable module? Sure you need to be root to load one, but it is putting code into the kernel that gets executed on the bare metal in ring 0...
Re:VMWare (Score:3)
Dear VMware Customer,
When we introduced VMware software, we wanted to allow students and
hobbyists to use our product on a private, non-commercial basis. So
we created a hobbyist/student price and made it available on the
"honor" system. For a single-user electronic license, the discount
price was US$99. And the price for the packaged product was US$129.
We are dedicated to keeping this valuable discount for our academic
customers. However, in the future we will handle these sales through
a distributor who specializes in selling to students and other
academics via educational channels -- such as campus bookstores,
catalogs, and Web sites. (Watch your email for the complete details.)
And we will continue to deal directly with academic institutions that
wish to buy multiple copies of VMware for their classes and
training programs.
If you qualify for the current program, there's still time to act.
The last day for new non-commercial orders is December 4th. To order
a copy, visit our store on the VMware Web site. The hobbyists/student
discount information is located at
http://vmware1.m0.net/m/s.asp?H2458203403X90017
Sincerely,
The VMware Team
Do you want to confuse and anger a user? (Score:4)
Install a Windows app under Windows, and it populates the 'Start' button.
Install a Windows app under Plex86, VMWare, Win4Lin and each time you want to use that app you have to switch to another window or turn on the other operating system just to have the chance to click that damn Start button.
To me, it's no big deal...but to a few non-geeks I've talked to as well as a few Uber-geeks, it's the only concern; is it exactly like running the same app under Windows?
It can be. The good folks at Codeweavers [codeweavers.com] are working on a user interface that automatically populates the KDE and Gnome menus, allowing novices to install thier own software. Very slick -- and a critical safety blanket that can tempt the novices over to Linux let alone to other *NIX.
At this point, the pre-release is available for download [codeweavers.com] but Wine itself isn't yet a 1.0 release...so many apps might be easy to use if they can be installed.
Re:Well... yay.... (Score:2)
VMWare (Score:5)
Still, I'm glad to see a free replacement coming into maturity. I am in programmer-awe of anyone that can achieve what these guys have done.
has anyone tried... (Score:2)
Its official (Score:3)
UAE does this (Score:2)
It works quite well for some applications, but not as well for the Amiga games, which were really exploiting the processor and hardware to begin with and do not lend themselves to easy analysis/translation. I don't suppose I need to mention that this is basically what Transmeta does in hardware....
~wog
Re:Plex86 vs Wine for playing The Sims. (Score:2)
Fortunately there are ways to disable the copy protection, look for 'unsafedisc' or similar on www.gamecopyworld.com. (Heck, it is even legal, since you own a copy
That just leaves us (WINE) to implement enough of DirectX7, but this is not a huge problem.
- Marcus
How far away from Windows 98? (Score:4)
Oh, and congrats Plex86 team! You did one hell of a job.
Discounted VMWare available until Dec 4th (Score:4)
I've been using VMware to "do the windows work I need to do with the stability of Linux" and I'm thoroughly pleased. USB support + some speed improvements would be great, but all in good time.
Re:I've been following the project for a while, (Score:2)
Yes. Plex86 is a Linux-programme. It let's Windows run on your processor (so you'll need a x86) by emulating the parts of the processor which it cannot access because Linux uses those parts. As the guy in the first8 post already pointed out: a simple addition can easily be run but a context switch will have to be emulated because it would fuck up the native OS (Linux) if you could, but you cannot even access such instructions since they're only accessibly from Kernel code (this is in the architecture of the x86).
Win4Lin anyone? (Score:2)
Re:Discounted VMWare available until Dec 4th (Score:2)
Re:Will it run Starcraft? (Score:2)
Think of it as "display server" and it starts making more sense. Especially since you can (and frequently do) have multiple X clients displaying to that same display server simultaneously -- although granted usually they are local rather than remote clients in a typical workstation setup.
Wouldn't it be more accurate to describe the rendering portion as a "client," since it connects to another computer, requests data, and renders that data, while the portion which accepts connections, runs programs at request accurately called a "server"?
You're mixing things up here. The rendering portion (X) doesn't connect to another computer, the other computer connects to it. (The confusion may arise if you're using say a telnet client program within X to initiate the connection to the other computer; but when you start an X client program on that computer it has to request and be granted access to your X server). Further, X doesn't "request data" -- the client sends it data, it's a push process not a pull process.
I've been looking for one of these... (Score:2)
So anyway, if you Plex your muscles whilst drinking WINE, will your machine explode? That's what I've been wondering.
And for those of you who don't speak insane (such as the above): Stability? Anyone? I'll admit, I'm a bit conservative - so if it ain't stable, and I'm not developing (aka bug-testing, I'm no programmer), then I don't want it. Plain and simple... not stable - not on my machine. And, yes, I know that stability can be a rather subjective thing, with many qualifiers - its stable so long as you don't do this, this, this, or especially this.
Just a crazy freak wondering out loud...
Well... yay.... (Score:2)
-Linux can now port Windows apps better, and draw in a larger userbase
Um, no? Linux is just catching up with Windows 95, as most applications are moving either to ME or to 2000. ME is horribly complex (3x size of 98), and 2000 is a completely different kernal. And 2000 seems to be the long term player for Microsoft. Plus, 95 just sucks. No Windows 98 user would go back to 95 just for increased stability (I never thought that I would have the option, though...:).
-Now you can play Windows games under Linux!
No. You can't. Well, you can play some, but slowly. Windows games fall into three catagories: DOS games that Windows runs in dos-boxes, Windows games that do software rendering, and Windows games that use propriety Microsoft stuff in order to run. Now, this can't do the dos-box games (I think..) because they do direct hardware access. It can't do the propriety Microsoft stuff, because that's propriety Microsoft stuff. Finally, it won't be able to do the software rendered games very fast, because the requests are getting filtered on five levels: Game, Windows API, Windows lower-GUI, Plex86, and then the Linux Kernal. Damn, and you thought three layers was slow!
So, with that said, why are we doing this again, instead of concentrating on Win2000?
Re:Wh ywould MS care if people were running window (Score:2)
More importantly, people may be running Windows under Linux strictly as a migration tool. And this is the much larger reason why MS may care.
Is anyone working on a Win32 port? (Score:3)
Re:Whats the Point? (Score:2)
It's already opted how you can make "completely" secured virtual servers with this, use the advantages of Solaris together with those of Linux, etc. Another great use should be Linux advertising: now you could run "Linux for Windows" without even having to leave Windows, or run your favorite games in Linux.
Everyone is entitled the right to have his own projects, whether they're useful or not. Actually I think that every project *does* "make the current OSes better", because every project is the "killer app" for yet another group of people, no matter how select.
So the attractive thing about Linux is not that it has one "killer app", but that it has "for everyone his own killer app", a.k.a. choice and variety. You can't get that better.
It's... It's...
Re:I don't think virtual machines are the answer.. (Score:2)
Actually we have that.
Install wine, and
echo ':windows:M::MZ::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register
echo ':windowsPE:M::PE::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc_register
The wine package in Red Hat Powertools 7 does this automatically.
Re:Fake? (Score:2)
If you had a Windows app that allowed Linux to run within a window (I think there is software out there that already allows this), and the colors looked all strange in KDE, wouldn't you be surprised as well?
I've been following the project for a while, (Score:5)
WINE is replacing all the shared libraries that a regular Windows system would use. So, WINE isn't emulating Windows itself - it's really a compatibility layer.
WINE does a lot more, but that's what it boils down to.
Plex86 is what's loosely called a "virtualizer". You'll need Windows installed(to run Windows), or whatever other operating system plex86 is to use.
When Plex86 runs Windows, Windows is actually runing on the bare metal, for the most part. Plex86 makes it possible to run two operating systems at once by trapping certain instructions that the guest operating system(in this case, Windows) tries to execute. If Windows tries to say, add one plus one, it'll go to the processor without problems; but if Windows tries to get raw access to all available memory, Plex86 will trick Windows into thinking that it has "all" the memory, when it really only has what Plex86 has set aside for it.
This approach has up-sides and down-sides:
Good:
When Plex86 has become more mature, Windows and other guest operating systems will run at near-native speeds.
Since the framework would be in place, you could run a whole slew of other operating systems under Linux, instead of just Windows(great for debugging, since you have total control over what the guest operating system sees and does).
Bad:
Well, you have to have the operating system installed. With WINE, most of the functionality needed will eventually be completely re-written under Linux.
If Plex86 isn't extremely careful about what instructions the guest operating system is allowed to execute, you could end up with a really screwed-up system.
If you think this is all great and good, but you want it NOW, there is a commercial plex86-like program, it's called Win4Lin, and is available at www.win4lin.com . I'm not plugging them - until plex86 is ready, that's what I'm forced to use(and also forced to use an outdated kernel because of it).
Dave
'Round the firewall,
Out the modem,
Through the router,
Down the wire,
Comment removed (Score:5)
Re:Very Sexy (Score:2)
Re:I've been following the project for a while, (Score:2)
Plex86 is wholly a Linux program, although I imagine it wouldn't be impossible to port it to other UNIX-like systems. However, Plex86 is, and will probably always be, X86-specific, meaning you couldn't run it under MacOS.
To make running two completely different operating systems at the same time safe, Plex86 does let the "guest" operating system do anything dangerous(for this example, we'll use Windows as the "guest", which would be running under Linux[the "host"]).
If Windows wants to draw a pixel to the screen, it tries to access the video hardware to draw a pixel to the screen. However, Windows is really running inside a window on our Linux desktop. So, we can't let Windows actually access the hardware - we have to fool it into *thinking* it's accessing the hardware, when in reality, Plex86 has intercepted the instructions which are trying to write that pixel to the screen, and translated them into X11 instructions, to write a pixel into the window in which Windows is running.
Whoa. I think I have a headache. Talk to you later
Dave
'Round the firewall,
Out the modem,
Through the router,
Down the wire,
Re:Well... yay.... (Score:2)
Bullshit.
I'm running Windows 95 on all of my Windows boxen, except for my laptop which runs 98 (because I need the USB support. I'm full aware there's USB support under 95, but I couldn't get it to work.)
I own 95, 98, NT4, and 2000 Pro. Why do I run 95? It's twice as fast as 98, less bugs, and better stability. Anything that *I* would need runs just fine under 95. (Pretty much anything designed for 98 will run BETTER on 95.)
One day, I decided to upgrade my primary box to 98, but I told myself "The first crash I get, I'm going back to Windows 95."
98 crashed during the installation.
Microsoft is trying desperately to get me to upgrade. I was told that there's an update to Windows Media player available. So when I clicked "Upgrade", I got a window that said "Sorry, the new Windows Media Player was not made to run on Windows 95, and no new media player will be made for it." (Even though the new media player will probably run perfectly fine under 95, Microsoft would rather you upgrade. Screw them. The current version of media player works just fine.)
95 sucks, but it sucks a LOT less than 98.
-- Give him Head? Be a Beacon?
Re:Bizzare project question. (Score:2)
> processor/virtual peripheral system that performs
> dynamic binary translation between instruction
> sets?
Doink... You've just reinvented Java (or Smalltalk), including the pre-compiler (this is called a Jitter, a Just-In-Time Compiler). And take a look at Transmeta's Crusoe (OK, I read you did this already), and to the new Amiga (which is to become a mix between Java and the Crusoe).
Good thinking, but these days it's just hard to invent something that is *really* new
It's... It's...
I don't think virtual machines are the answer... (Score:5)
One problem is, virtual machine emulators are generally pretty clunky, slow, and reinvent a lot of hardware access that should otherwise be done directly.
For these reasons, I believe the WINE project is more important than either VMware or Plex86.
Don't get me wrong, I think Plex86 is a great project and virtual machines have many uses...
But if you're a Linux user who wants to run Windows apps for one reason or another, or if you're a Windows user who wants to use Linux but are bound by Windows apps, then you need a better solution. Something smeamless. Something lower in the OS that will make executing Win32 binaries as easy as ELF.
Currently, I don't think this is possible. We've got a long way to go, and it may be a while before Linux users will accept a, say, /lib/win32-xxx.so, for example. What I'm really getting at here is, we need focus on assimilation. We need something that acts like it's native. Putting VMware, Plex86, or even WINE in the process, creates a jarring effect that still is insufficient for mainstream use.
We need: user@foo ~$ ./notepad.exe
Re:Will it run Starcraft? [ot] (Score:2)
Despite the sentiment here, the client/server model is NOT a problem, in fact it is quite good, even for local display. Properly done client/server with a stream-like interface will VASTLY reduce context switches and is far easier to implement on multiprocessors. It should also be much easier to migrate the work to hardware accelerators. Though faster due to the reduced context switches, the client/server model does have a problem with latency, but in my opinion latency is an additive element in speed, while context switches are multiplicative, and thus as machines get faster the pain of latency is reduced far faster than the context switches. Also latency is unavoidable in network applications anyway so we should design systems to allow it.
Where X blows is the horrid rendering model. Your comments are very accurate, the current "solution" that all those graphics libraries use is to render a bitmap locally and send it. This completely destroys the whole point of the client/server and makes the sent data so huge that direct rendering makes a difference and is becoming a design requirement. It is insane that we are forced to link gigantic graphics libraries that are bigger than all that stuff would be if put in the server and that if you run 10 programs you have 10 copies of those libraries and their data, rather than one in the server!
Another problem is the huge number of badly designed X calls that require synchronous communication to the server. This replaces the "zero" context switches needed by a well-designed client/server with *two* context switches, reducing the performance to that of older NT, and reducing it to half that of NT when the graphics are in the kernel. Actually it is far worse than NT as there are *more* synchronous things than Windows has, despite the fact that the designers of original Windows did not lose anything for syncrhonous calls.
I wish people would stop trying to chuck the client/server and attack the real problem: We should scrap the entire rendering system and the current gc's and make a new type of X gc:
The GC would contain the display connection and current window and would be per-thread implied, like OpenGL GC's, so that drawing functions do not need any arguments other than the values actually used by that function.
Scrap colormaps and visuals! When you create a window, you can request any color (as a 32 or 64 bit number) and the server can figure out how to do it on the display. To run old xlib programs there would be an emulator, it would claim the X server provides a single truecolor visual.
Merge OpenGL completely. You should be able to draw OpenGL into any window, in sync with any new drawing operations.
Simple support of multiple buffers and overlays through the same gc. You can set the gc to draw into any layer, and there is a command to flush all changes from one layer into another. The back buffers are created when first used.
Real fonts support. Fonts are selected by a simple text string, ie "Helvetica". Arbitrary 2-d transformations of the font (perhaps 3d perspective too) and antialiasing, and UTF-8 support as the *ONLY* encoding it accepts, and every character ALWAYS draws no matter what the current font is (there is a 16x16 bitmap of every unicode character that is used if the font does not provide anything else).
Easy, programmer-friendly image support. Draw a image of 8-bit/color or 16-bit/color with RGB or RGBA through an arbitrary 3-D transoform. Alpha compositing with correct gamma math above whatever is already in the window.
And tons more. This is not particularily hard to implement. It's not easy either. But we really really need it.
Re:Will it run Starcraft? (Score:2)
This was part of the design of NeWS, incidentally, but it is where I thought NeWS failed. NeWS was a great drawing model, all postscript, and it was a joy to write widgets in NeWS that ran on the server, since I had access to a powerful "rectangle-level" graphics interface. NeWS totally failed to provide a usable interface between the client program and these widgets, however, the result was that NeWS programs tended to be entirely written in PostScript on the server.
In general I am very scared of widget-level interfaces. They are going to be complex and bug prone and will lock out the possibilities to innovate new GUI designs.
I believe that if X had been made with a widget-level interface it would look like Athena and have been locked at that design for a decade. Yes it would be "configurable" but that would be limited to setting it to reverse-video, since that was the only configuration option back then. The fact that X, with all it's flaws, is able to match much more recent designs of GUI is a testament to the power of a low-level interface.
Moderation cha cha cha.. (Score:2)
Also it seems people near the top of the list get moderated a lot more than the people further down, especially for positive points. Would be interesting to see what solutions there could be for that problem.
Good news but... (Score:3)
One of the great (and under-documented) features of VMWare is the vmware-mount.pl script that allows the user to mount a vmware disk image as though it were an ordinary directory on the U*ix filesystem.
I have had great sucess using this scipt and my vmware disk file (nt4.dsk) with the WINE 'emulator'. I have my wine.conf file pointed to where I have mounted the disk image (/mnt/vmware).
I personally feel that emulating Windows under U*nix is a good thing, it allows people like myself, who only have one machine and hesitate to reboot just to use a small application, and additional level of flexibility.
Now, does Plex work with PC-GEOS?
Yeah... (Score:2)
I'll try Windows next, I suppose. I'm pleased with how quickly this project has developed; at least Plex86 seems a lot faster than Bochs. I'll be happy once it's competitive (speed-wise) with DOSEmu, and (compatibility-wise) with VMWare.
But in the meantime, kudos, Kevin; keep up the good work! And thanks, MandrakeSoft, for making Bochs open in the first place!
---
pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
the cost of VMWare ... (Score:2)
I didn't mean the actual price, only relative. I think you're right -- VMWare's price could drop if they want it to compete for home users under those circumstances (of course, running Win95 isn't what most users want nowadays, I'd guess), but until Plex86 can run 98, NT, 2000, Me, or whatever else, VMWare does seem to have a pretty fat corporate target for a while
timothy
Re:Will it run Starcraft? (Score:2)
Re:And why not... (Score:2)
--
Americans are bred for stupidity.
Re:Is anyone working on a Win32 port? (Score:2)
"If ignorance is bliss, may I never be happy.
Re:Plex86 vs Wine for playing The Sims. (Score:2)
MS is never going to have a stable operating system if they allow 3rd parties to insert code into the kernel.
-tim
Re:Point of order (Score:2)
--
Americans are bred for stupidity.
Re:Discounted VMWare available until Dec 4th (Score:2)
...And 3D hardware support!!! That's one of my biggest grips as a VMWare user (since 1.0 - which isn't THAT long ago ;-) If I could get 3D hardware support and full DirectX support, I would probably run Linux excusively as my base OS, and NT & 98 on top of it. Right now I run 98 and multiple instances of NT on top of NT, plus SuSE Linux. Works great (but I recomment dual-processor configurations, and a healthy amount of RAM. But, even on a dual PII/266 it runs great.)
Re:Discounted VMWare available until Dec 4th (Score:2)
You're talking nonsense. plex86 is a Free Software replacement of VMware.
Is it just me, or is Mandrake taking over? (Score:2)
I simply love it. 3D support from the get-go, GLTron and other fun 3D games installed and optimized, and the next version is sure to do the same with Plex86. The only thing wrong with that is that it'll be pretty useless virtualizing Windoze on Mandrake, 'cuz Mandrake will have EVERYTHING you'd ever need or want from an OS. They'll probably end-up with all the FREE web-code pre-configured for you too...
Things like: Drakedot, Drakeshop, DrakePortal, DrakeNet.(-TM?) I just can't wait. BTW, if anyone from Mandrake is reading this. I want a job with you. Even if it's just promoting your product :)
Comment removed (Score:5)
Re:looks a lot like bochs (Score:2)
Re:Not realted at all to Mircrosft being cracked.. (Score:3)
Info on Plex86 (Score:4)
Plex86 starts up Windows, running as a process. All well and good, right? Well, that Windows process is talking directly to the processor most of the time, so it's sort of running next to Linux on the box. HOWEVER, that's only most of the time. Plex86 traps instructions relating to memory, etc.. and keeps Windows contained to a little section of the true memory, etc of the system. Thus, some of the time it's next to Linux, some of the time it's on top of Linux.
As they say on the Plex86 website:
Interestingly enough, one of the first uses of this kind of virtualization was under IBMs OS/370, which is/was used on big mainframes. If you get the chance, Linux can run under (diagonally from) OS/370, so in theory you could get Win95 on a mainframe. (Gasp.. choke..
Re:Well... yay.... (Score:3)
This program dosen't replace windows, it basically makes a virtual machine that the OS can boot into. This means it shouldn't be incrediably hard to make 98/ME/Win2k boot into it. I wouldn't be surprised to see this announced within months.
Besides, this is more of a replacement for VMware. Basically being able to run some windows apps without booting into windows.
I run linux almost exclusively. Sometimes people send me word docs, and it would be nice to be able to open them in word running in windows without a second machine, or requiring a reboot.
As for running windows games, Wine is a better hope for this. I personally prefer supporting game vendors that actually support linux.
Comment removed (Score:5)
Plex86 - Win95 - VMWare - Linux?? (Score:4)
Now THAT is a screenshot I would like to see :)
Lawyers Upon Lawyers, Plex86 runs from Windows95 (Score:5)
BG- Look harder! There has to be something in the EULA that makes this illegal. The damn thing's longer than my arm in small print!
L2-You see, that's the problem, if they've agreed to the EULA, they've paid for the software. They have a right to run it however they want. We are getting paid for those copies.
BG-I want results not excuses.
L2-Calm down, sir...
L3-Wait! I've got it! You're only allowed to run Windows on one COMPUTER at a time, and we've defined COMPUTER as any digital electronic device, not necessarily a hardware device. I think we can convince a judge that it's a seperate computer when they run Linux.
L4-Also, if we can find a handful of people who are running illegal copies of Windows in Plex86, the software authors clearly contributed to copyright infringement.
BG-Excellent. I'm not sure it'll play in court, but it sound legit enough to scare some managers. Start sending threatening letters to the web hosts immediately.
[general maniacal laughter all around]
--------
Re: Stability matters, VMWare price increase (Score:4)
Seriously, though. VMWare is a combination of user level programs and kernel modules. The user level program isn't so interesting, but any bugs in the kernel modules could be devastating. It seems that Plex86 requires at least one special kernel module to be loaded in the host system. Which means stability is a real concern. Laugh when Windows 95 crashes inside the user level Plex86 GUI, but if the plex86.o module crashes your host system, you won't laugh.
I do not in any way mean to suggest that Plex86 is not stable -- I really have no idea, and Kevin has a great reputation. But stability does matter for things like VMWare and Plex86, even if they're being used to host lesser OSes.
From a security perspective, having the source for kernel modules seems a very good thing, and this is an advantage for Plex86 over VMWare.
And the timing for the recent successes (booting Linux, running the full Win95 GUI) couldn't be better, as VMWare is apparently about to discontinue its non-commercial/hobbyist license. If the rumors of VMWare leaching off Kevin to get their start are true, then I won't shed any tears for sales they lose to Plex86.
Thanks, Kevin, and MandrakeSoft!
There aren't secret MS x86 instructions (Score:3)
plex86 is a simulation of an x86 system, so why wouldn't "proprietary microsoft stuff" work? You think they left something out of the driver specs? Such a move would not be to their advantage because you'd have incomplete drivers. . .
the chase begins... (Score:5)
This is stupid. (Score:3)
I'm totally amazed at the success the WINE project has accomplished. I'm quite surprised that anything runs in it at all. Even so, you still really need a copy of Windows to get the DLLs you need.
Personally, I think that Plex86 (and in the long term, Bochs) is the best way to handle it: keep it nicely locked up in its own little corner where it can't hurt anything, running the original software, just like emulating every other old platform. Hmm... how long 'till Mame runs Windows? (now that's a truly amazing project)
--------
Time stamp (Score:3)
The screen grab [plex86.org] posted shows the ungodly hour of 2:13AM. Can we really trust code that was finalized at this time of day? What kinds of mistakes have slipped in due to sleep deprivation?
Comment removed (Score:3)
Wine runs Starcraft, ya know (Score:3)
Plex86 vs Wine for playing The Sims. (Score:5)
Running under Wine you're not actually running windows, just windows programs. You don't need a copy of windows installed, and you don't need a windows partition (loopback or otherwise).
So for things that CAN run under Wine, it's a better solution. They can show up seamlessly on your X desktop as normal X windows, and be launched by the kernel misc binary support straight from the command line or a gnome double-click.
The problem is, Wine can't run The Sims. And it's entirely possible it never WILL be able to run The Sims, because that game insists on loading a VxD in Ring 0 (for no apparent reason). Wine only emulates user mode code, not stuff that needs to run in ring 0 (I.E. wants to be part of the kernel.)
Wine's normal response to this is for the Wine developers to write their own implementation of common VxDs and include them in Wine, and recognize when a VxD is encountered and try to use their implementation instead. This helps with common stuff like DirectX, but doesn't help if the developers of the software actually DID write their own VxD. I don't know what the case is with The Sims, but on a theoretical level Wine can never be a 100% solution when the problem is inherently screwy. Windows allows programs to lobotomize its kernel on a whim via ring 0 VxD's. Linux ain't gonna do that. It's not that we're not actually able to, we're just not stupid enough to WANT to.
Plex86 doesn't care about VxD's. It lets them think they're running in Ring 0, although it's an emulated Ring 0. This means that Plex86 should be able to run The Sims without me having to reboot into a windows partion.
I like this.
Rob
Comment removed (Score:3)
Re:x86 mainframe? (Score:3)
Most mainframes don't use x86, and so x86 virtualization is not an option for them.
No, not x86 virt.. just the virtualization by means of command trapping and direct processor access...
But in the case of running Plex86 on the S/390 (whose hardware, as well as software has explicit support for virtualization, which is unusual), the direct proccessor access would be for the wrong proccessor. To run Windows with Plex86, you need an x86. To even run Plex86, you need an x86.
So yes linux can run on an S/390 (not an S/370), but no you could not run Plex86 on it.
You could run bochs [bochs.com] though (probably) which is a true x86 emulator and then run windows on that, but I don't know why you would.
Re:Bizzare project question. (Score:3)
Every PPC Mac has such a dynamic binary translator too, converting from 68K code to PPC. I'm pretty sure MacOS 9 still has a chunk of 68K code in it that Apple never bothered porting over.
Run an X Server on Windoze (Score:3)
What I have done is set up another box in my home lan with RH7 and run eXceed on my Win2k "Desktop" Machine.
Samba is a little difficult at first with win2k, and win2k Internet Sharing is actually quite good, hence i've made it the internet gateway.
It works really well and EASILY, I export my Display to my Win2k box running exceed from my linux box, e.g.
export DISPLAY=192.168.0.51:0
and run something like: emacs &
This is the best way to get the best from both OSes.
new icon for this plex86 (Score:4)
Re:Will it run Starcraft? (Score:3)
--
Americans are bred for stupidity.
Re:Info on Plex86 (Score:3)
Sun's still selling it, actually.
"If ignorance is bliss, may I never be happy.