Wine

Ubuntu Open Week - Wine - Scott Ritchie - Thu, Nov 6th, 2008

(12:00:55 PM) YokoZar: Hey everyone, thanks for sticking around.  I promise to be even more interesting than Mark Shuttleworth.
(12:01:21 PM) YokoZar: So, I'm the Wine guy.  I maintain both the "official" Ubuntu Wine packages and the "unofficial" ones over at WineHQ (or the Wine Team PPA -- same bits).
(12:01:42 PM) YokoZar: I'm also a Wine developer.  About a month ago I was at the Wine developer conference, where I got way more involved than I expected to be.
(12:02:05 PM) YokoZar: Feel free to ask questions in #ubuntu-classroom-chat at any time, by the way.
(12:02:22 PM) YokoZar: I found myself leading an hour-long discussion about all the ultimate usability goals we (downstream) needed to integrate Wine well into the desktop.
(12:02:51 PM) YokoZar: In practical terms these translate into feature requests across multiple projects -- to make it easy to configure a Windows Application by right clicking on it and selecting Properties, for instance, we need new code from both Wine and Gnome (or KDE).
(12:03:24 PM) YokoZar: Such a feature would be useful to a human being who wanted to have a "full screen" Windows application run in only a Window.  While the other Wine developers were definitely interested in seeing such an eventual thing happen, none of them wanted to write code outside Wine to handle it.
(12:03:50 PM) YokoZar: They were glad, however, to meet halfway and write the code for other software to interface with Wine via command line or D-Bus message.  So, I volunteered to make the appropriate Gnome interface and actually see that it gets out there to end users.
(12:04:12 PM) YokoZar: So, now I'm going to become a Gnome developer.  It's exciting, although I'm currently unemployed and am desperately trying to find more time to work on Ubuntu-related projects -- the desktop integration projects alone could take me months of full time work.
(12:04:45 PM) YokoZar: johnflux: QUESTION: What is the current programming focus of wine?
(12:05:43 PM) YokoZar: Wine isn't specifically "focused" on any particular thing.  There are many developers working on many different applications.
(12:06:15 PM) YokoZar: But you don't write a patch to "make program x work", you write a patch to "make windows function foo needed by program x work the way it's supposed to"
(12:06:39 PM) YokoZar: Eventually when you do enough of that applications just start working, especially if you implemented the windows function correctly.
(12:07:16 PM) YokoZar: Wine developers do focus on particular applications, of course, but there's also a lot of "collateral damage" -- apps that just start working on accident, since development was done the right way.
(12:07:40 PM) YokoZar: Related: johnflux: QUESTION: what are the main current hurdles left?
(12:08:14 PM) YokoZar: There are many.  Many applications don't work, even more don't work perfectly.  Some whole areas are unimplemented, like Direct3D 10
(12:08:53 PM) YokoZar: Wine is nowhere near "almost done", yet we're quite near 95% of applications being useful enough to run
(12:09:44 PM) YokoZar: Wine development was frustrating for many years, because any one thing left broken or unimplemented could keep an application from working entirely.  Wine's finally getting "enough" such that many applications are starting to actually work
(12:10:06 PM) YokoZar: sudobash: question: Is it true that Wine is built around Windows 3.11 for its emultaor like abilites?
(12:10:25 PM) YokoZar: No
(12:11:02 PM) YokoZar: Wine is 100% microsoft-free.  There is no "built around" a version of Windows
(12:11:27 PM) ChanServ!ChanServ@services.: ChanServ has changed the topic to: /cs topic Current Session: Wine | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
(12:11:30 PM) YokoZar: However we do try and make certain windows functions behave like Windows (which version depends on how you've configured Wine), so that applications work
(12:11:38 PM) ChanServ!ChanServ@services.: ChanServ has changed the topic to: Current Session: Wine | Welcome to Openweek, questions in #ubuntu-classroom-chat please || Session details here: https://wiki.ubuntu.com/UbuntuOpenWeek
(12:11:44 PM) YokoZar: Wine got started over 15 years ago in the Windows 3.1 days, and that code's still there
(12:12:12 PM) YokoZar: In fact there are quite a few applications that work well in Wine but refuse to run in Vista, especially old 16-bit apps.
(12:12:39 PM) YokoZar: Milyardo: QUESTION: What is the WINE Team's relation with Microsoft? Does the WINE team get help from Microsoft? Has the WINE team even given Microsoft any insight into their own product?
(12:13:36 PM) YokoZar: The closest the Wine team's interaction with Microsoft ever gets is reading MSDN documentation to figure out how to implement a function
(12:14:19 PM) YokoZar: Unlike SAMBA, Microsoft doesn't help Wine in any way.  Often times that MSDN documentation is flat-out wrong as well.
(12:15:16 PM) YokoZar: We suspect that many Wine developers know the internals of how Windows functions behave better than most Microsoft developers, though Wine developers are prohibited from seeing any Microsoft code (and if you ever have, eg downloading the stolen source code on the internet a while back, you can't ever contribute to Wine)
(12:15:43 PM) YokoZar: Microsoft is also rumored to prohibit their employees from even looking at GPL/LGPL'ed code, so it's likely they don't look at Wine either.
(12:16:39 PM) YokoZar: So Wine is way different from Mono and Samba - Microsoft basically ignores us, and in so doing they hope their customers ignore us too.
(12:17:01 PM) YokoZar: johnflux: QUESTION: have you tried to get a job to work on wine with Canonical? :)  worth a shot
(12:17:46 PM) YokoZar: Yes.  I'd really like to.  I'm gonna try hobknobbing some more at the next Ubuntu Developer Summit.  Hopefully I'll have some UI work done to show off, as Canonical has recently started employing Gnome people.
(12:18:19 PM) YokoZar: I'm also a part time teacher, and doing Ubuntu training work has also fascinated me.  I live in the US, however, and the closest Ubuntu-certified training partner is all the way in Canada ;)
(12:19:13 PM) YokoZar: I'm also considering doing a community fundraiser as an experiment, in part to replenish the Wine developer fund that we used up sponsoring people like me to the last Wine conference
(12:19:18 PM) YokoZar: joemoe: QUESTION: Will Wine ever be able to match like, Windows XP software compatibility?
(12:20:41 PM) YokoZar: Yeah.  It's a very feasible goal.  Wine development has been quickening, for much the same reason Wikipedia began growing faster; the more useful Wine and Ubuntu get, the more people use us, and then the more developers we get
(12:21:55 PM) YokoZar: That said, focus will still be on applications rather than targeting the API as a whole.  There's little need to implement foox.dll if only Windows-internal applications use it
(12:22:38 PM) YokoZar: QUESTION: aren't there any 'big' general areas currently being worked on?  e.g. directx 10  or something
(12:22:57 PM) YokoZar: Yes, that was one of the "major features" outlined by Alexandre for the next release
(12:23:07 PM) YokoZar: Basically there are 5 major features that will take forever to do
(12:23:14 PM) YokoZar: Any one of them would trigger a new release freeze
(12:23:55 PM) YokoZar: They were: Direct 3D 10, Win-64 bit support, a Quartz display driver for Mac, USB support (eg for newer iPods), and one other I can't remember off the top of my head
(12:24:07 PM) YokoZar: Of those the most likely to happen within the next 6 months is the USB support
(12:24:22 PM) YokoZar: GFORGX: QUESTION: will there be something like Qt's QGtkStyle for Wine? It'd be great if Windows apps'll look native in GTK environment.
(12:25:05 PM) YokoZar: Unfortunately, it's impossible to render Wine in GTK.  Windows widgets don't map neatly to GTK, and Wine needs to control it with it's own drawing code
(12:25:13 PM) YokoZar: However, it is possible to theme Wine itself
(12:25:52 PM) YokoZar: Getting Wine to read the system theme and generate it's own theme on the fly is theoretically possible, but really hard (and if you do it wrong it often looks very ugly)
(12:26:13 PM) YokoZar: Google tried that with Picassa for a bit before ultimately giving up and just going with the default Wine blue-boring-windows theme
(12:26:53 PM) YokoZar: The proposal I gave at Wineconf, however, seems like the way forward: we make a Windows-style .theme file for each of the default themes, and then have Wine read this whenever we set the system theme.
(12:27:18 PM) YokoZar: This way you set Ubuntu to use Human and then Wine reads the (otherwise ignored) Human-for-Windows theme included with it, and then renders that way.
(12:27:29 PM) YokoZar: I'm happy to say work on this has now started
(12:28:01 PM) YokoZar: johnflux: QUESTION:  Is wine being developed faster or slower than new windows code is being added?
(12:29:17 PM) YokoZar: I'd say faster, much faster.  The worry is that Microsoft will keep changing the API so much that Wine can't keep up.  But Microsoft are very limited in how they can do that, as they have to maintain backwards compatibility so your old applications work.
(12:29:56 PM) YokoZar: This is why, for instance, many programs still worked on Windows 95 even as late as 2001.  Being "Windows-95 compatible" would have made most applications work on Wine that late as well
(12:31:09 PM) YokoZar: Microsoft has to focus on developers, and developers don't like changing the APIs they use for no reason, especially if it means their application can only be used on the latest version of Windows.  I suspect it'll be a few years before we even start seeing a substantial amount of "Vista or later" applications
(12:31:33 PM) YokoZar: KDesk: QUESTION: What is the difference between Wine, Cedega and CrossOver?
(12:32:51 PM) YokoZar: Cedega is unrelated at this point.  It is a proprietary fork of a very old version of Wine.  From what I read on the forums, free Wine works better than Cedega in almost all cases, even on applications that Cedega specifically "supports"
(12:33:33 PM) YokoZar: Every now and again Transgaming (makers of Cedega) likes to claim that they are "sending code to Wine" but their contributions have been largely worthless
(12:34:05 PM) YokoZar: Crossover is based on free, LGPL Wine.  It's basically a tested version of Wine with a few small proprietary UI enhancements in front of it
(12:34:33 PM) YokoZar: Codeweavers makes Crossover, and they've been good patrons of the project.  They pay most of the development staff, and everything gets pushed into Wine
(12:35:14 PM) YokoZar: Sometimes Crossover will work better than Wine for it's specific supported application (say, Office), but this is mainly because they put some ugly specific-workaround that might isn't suitable for Wine as a whole as it could break other applications
(12:35:45 PM) YokoZar: mbt: QUESTION:  16-bit apps don't run on 64-bit systems.  Does Wine intend on providing some sort of real emulation layer to support old Windows/DOS applications that depend on real-mode?
(12:35:59 PM) YokoZar: Well, there's libx86 for one
(12:36:20 PM) YokoZar: Which Wine does link against and use
(12:36:43 PM) YokoZar: Although that did break with Wine 1.1.7, but that's being fixed
(12:37:43 PM) YokoZar: But yes, that is something done, although it's obviously not a huge priority
(12:37:45 PM) YokoZar: joemoe: QUESTION: Do you know if Linux will ever get native support for running PE libraries and executables?
(12:37:54 PM) YokoZar: That's exactly what Wine is
(12:38:26 PM) YokoZar: Wine is a native program for loading PE libraries and executables.
(12:38:54 PM) YokoZar: joemoe: QUESTION: Is there any way someone with moderate development skills can make Wine better?
(12:39:08 PM) YokoZar: Yes.  Quite a few ways
(12:39:15 PM) YokoZar: You can help me with the UI stuff if you like
(12:39:27 PM) YokoZar: But if you're a C hacker, you can do a lot for Wine
(12:39:41 PM) YokoZar: There's tons of areas of the code that are basically "todo, someone please just implement me"
(12:40:05 PM) YokoZar: The best thing you can do is just send an email to wine-devel and say "hey I'd like to help point me to something"
(12:40:22 PM) YokoZar: Laney: QUESTION: Do you have stairs in your house?
(12:40:25 PM) YokoZar: Yes, I am protected.
(12:40:37 PM) YokoZar: johnflux: QUESTION: Can you explain what you mean by 'USB support' a bit more?  what does this mean for wine to support USB?
(12:41:03 PM) YokoZar: So, when you plug your iPod touch in it's not just a generic mass storage device
(12:41:08 PM) YokoZar: it loads it's own special driver
(12:41:15 PM) YokoZar: Wine can't understand that driver yet
(12:41:46 PM) YokoZar: That's basically it - we need code to understand the special instructions devices like that are saying.
(12:42:14 PM) YokoZar: Interestingly, with support like that it's possible that arbitrary USB devices can be made to work on Linux, like key fobs
(12:42:26 PM) YokoZar: Or, more relevantly, printers
(12:42:43 PM) YokoZar: There might come a time in the future where you'd be able to make a printer work on Linux by running the driver through Wine.
(12:43:00 PM) YokoZar: This is something you can't do with most drivers since Wine has to be a user-level process, but printers is an interesting exception
(12:43:25 PM) YokoZar: sudobash: Question: Do you have a list of software that you have tested and feel confident that it can be used by intermediate to advanced users with no problem?
(12:43:33 PM) YokoZar: Check out appdb.winehq.org
(12:43:43 PM) YokoZar: That's basically our best guess at what works
(12:44:16 PM) YokoZar: Even working applications can run into issues if you have bad (especially ATI) drivers though
(12:44:50 PM) YokoZar: I will say that I recently put Ubuntu on my girlfriend's EeePC, and installing iTunes 7 was a matter of double clicking
(12:45:17 PM) YokoZar: Works fine for her, even with her purchased music
(12:45:19 PM) YokoZar:  (iTunes 8 can't install though)
(12:45:36 PM) YokoZar: And she's a complete newbie.  But now she's becoming more in to the Ubuntu thing
(12:45:40 PM) YokoZar: Wine was her gateway drug
(12:45:59 PM) YokoZar: robin0800: Question: Where can I find a list of applications that definatly work 100% in wine?
(12:46:18 PM) YokoZar: Appdb is your best bet still
(12:46:24 PM) YokoZar: We always need help with AppDB
(12:46:41 PM) YokoZar: It's very easy to become a "maintainer" and just test your application with the latest Wine version
(12:46:52 PM) YokoZar: So please do that if you care about an app and it doesn't have a maintainer
(12:47:06 PM) YokoZar: alucardni: QUESTION: Do you think there will be a day when we won't need WINE anymore??
(12:47:07 PM) YokoZar: No
(12:47:18 PM) YokoZar: There will always be legacy Windows applications that people won't rewrite
(12:47:31 PM) YokoZar: In many cases they might not even have the code
(12:47:49 PM) YokoZar: Especially old games
(12:48:15 PM) YokoZar: Warcraft 3 will never get a Linux port, for instance.  But it runs great in Wine, and it will continue to do so 10 years from now
(12:48:31 PM) YokoZar: rzr: QUESTION: i know this is outtopic but are there similar project that aims to support macosx/cocoa binaries over gnu/linux ?
(12:48:37 PM) YokoZar: I'm pretty sure there isn't
(12:48:44 PM) YokoZar: at least not one that's gotten anywhere near off the ground
(12:48:58 PM) YokoZar: lordnoid: QUESTION: Are virtualisation apps like VirtualBox and VMWare competition for Wine?
(12:49:06 PM) YokoZar: Yes, since they share a similar goal - running Windows applications
(12:49:38 PM) YokoZar: But virtualization has inherent limitations, especially the need to purchase and run a copy of Windows
(12:50:18 PM) YokoZar: Wine might actually help virtualization technology.  If you have a Windows application that works in Wine, for instance, you can easily redistribute it for free as a Virtual Appliance
(12:50:43 PM) YokoZar: If Wine didn't work, such an application would require a license for Vista Ultimate with every distribution
(12:52:23 PM) YokoZar: Also keep in mind that some virtualization solutions actually use Wine
(12:52:55 PM) YokoZar: For instance Parallels has "Direct3D 8 support" because it's actually using Wine's Direct3D 8 code to translate Direct3D into OpenGL
(12:53:17 PM) YokoZar: mirza: QUESTION: How goes cooperation with ReactOS project if there is any ?
(12:53:23 PM) YokoZar: ReactOS uses Wine code
(12:53:45 PM) YokoZar: The Wine project itself is careful to not use any ReactOS code that might have been tainted, however
(12:54:35 PM) YokoZar: Some parts of Wine are directly from reactOS, for instance the Wine task manager
(12:55:32 PM) YokoZar: If I skipped any questions on accident, please feel free to reask
(12:55:35 PM) YokoZar: Or follow up :)
(12:55:39 PM) YokoZar: We've got a couple of minutes left
(12:56:32 PM) YokoZar: I'd like to make an announcement too.  I'm making a video detailing the current state of Wine, and where it can be improved in terms of user experience
(12:57:13 PM) YokoZar: If you double click an exe file in Intrepid without having Wine installed, for instance, it acts like it's an archive and spits out some completely useless error message
(12:57:41 PM) YokoZar: samgee: QUESTION: I thought ReactOS had cleared up all their 'tainted' issues?
(12:58:07 PM) YokoZar: I believe they have, but most of the ReactOS developers work these days seems to be on the ReactOS specific parts (rather than the Wine parts), eg their kernel
(12:58:24 PM) YokoZar: MadsRH: QUESTION: Are there any plans for 9.04 to present the user with a "You need to install Wine to run this application" dialog when running a exe file or similar?
(12:58:59 PM) YokoZar: Yes, that's right on my todo list.  You can check my wiki page for other projects https://wiki.ubuntu.com/ScottRitchie
(12:59:15 PM) YokoZar: Hopefully I'll find time (or employment) to complete them all before 9.04
(12:59:34 PM) YokoZar: Some of those projects are over a year old when I went to the Ubuntu Developer Summit for Hardy
(01:00:17 PM) YokoZar: I do still need to clean that wiki page up a bit.  It kind of looks like the pen board I have on my wall - large todo list

MeetingLogs/openweekintrepid/Wine (last edited 2008-11-06 19:50:31 by pool-70-16-60-167)