karmic-wine-integration
Launchpad Entry: https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-wine-integration
Created: May 15, 2009
Contributors: ScottRitchie
Packages affected: wine, gnome-app-install, nautilus, gnome-control-center (sort of), new package wine-support, new package ttf-tahoma-replacement, ttf-symbol-replacement
Summary
This blueprint covers the coming changes needed for proper Wine integration in Karmic.
- wine-support package consisting of a few python libraries for detecting/handling Wine installations
- a nautilus thumbnailer based on icoutils for showing embedded icons in .exe apps
- changes to gnome-app-install for uninstalling Wine applications
- a gnome control panel for wine applications
Release Note
For users who have installed Wine, the Applications->Wine menu has been streamlined. Applications->Wine-Uninstall Wine Applications can now be done directly through Applications->Add/Remove, Applications->Wine->Browse C:\ Drive is now in the Places menu, and Applications->Wine->Configure Wine has been replaced with the new Wine control panel at System->Preferences->Wine Applications
Rationale
Popcon says that about 50% of our users have installed Wine, however it very much feels like it's not a proper part of the desktop. At the same time, it can be difficult to manage expectations about how Wine functions, how likely it is to work, and where applications and data go compared with the rest of the system.
User stories
Assumptions
Design
You can have subsections that better describe specific parts of the issue.
Implementation
Wine package will have its Symbol and Tahoma replacement fonts split off into separate packages. These can become part of the default install, as they are free and provide functionality to users who don't run windows applications since they appear in documents and web pages.
Wine-support package will contain python scripts with all the other code.
UI Changes
- Wine package itself:
Applications->Wine becomes condensed to what used to be in Applications->Wine->Programs
New System->Preferences->Wine after Wine is installed
- Gnome-App-Install will show Wine apps if they're installed (otherwise remain the same)
Places->Browse C:\ Drive if Wine has been setup for that user
- Wine-support package (installed by default without Wine, affects all users):
- Double clicking a .exe will display a new dialog offering to install Wine
- .exe applications will have a new icon consisting of their built-in icon embedded into a generic "Windows Program" icon with a Wine logo. This simultaneously tells the user it's a program, it's a wine program, and also what program it is.
Code Changes
- Gnome-App-Install will be extended by Scott Ritchie.
- Wine-support will be authored/packaged by Scott Ritchie (already about 75% complete), with some community help already provided
- thumbnailer is mostly done (icon may change though)
- wine python module for applications to call Wine functionality (eg Gnome-App-Install), almost done
Migration
Include:
- data migration, if any
- redirects from old URLs to new ones, if any
- how users will be pointed to the new way of doing things, if necessary.
Test/Demo Plan
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.
This need not be added or completed until the specification is nearing beta.
Unresolved issues
If/when Gnome-App-Install is replaced, we'll need to put Wine functionality there too.
BoF agenda and discussion
https://wiki.ubuntu.com/karmic-wine-integration https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-wine-integration
Packages affected: wine, gnome-app-install, nautilus, gnome-control-center (sort of), new package wine-support, new package ttf-tahoma-replacement, ttf-symbol-replacement
Discussion
System->Preferences->Wine Applications or Windows Applications?
- Makes it clear it's Wine (and not, say, Crossover) - icon can do this as can words
- on the other hand user needs to know about Wine and such (although we are reminding them with the Wine menu and icons and dialogs now).
- Dialogs need a look-over
- when user double clicks .exe without Wine
- when user double clicks .exe with Wine but without u+x permission
- Wine team (or rather the lack of it)
Basically it's just ScottRitchie but there may be no need for a formal "team"
- Will be removed (currently open team)
Not clear what should happen if a user uninstalls Wine while still having Wine applications installed. Should Applications->Wine menu be hidden, should the user be prompted to remove them? We have to have Wine installed in order to remove Wine applications properly (by running their uninstallers), and this can get complicated if someone tries to remove a wine application after Wine is uninstalled.
- What about different users?
- ClamD takes a few seconds to start, need to start it before we want to scan new Wine program. Rely on execute bit for clamscan.
- ClamFS + ciopFS FUSE systems for Wine folder. Example: game starts (20min.) because all case checks, 3secs on cipfs. Case insensitive complete .wine folder (mount goes with the .desktop file)
By design: downloads are not executable (can create issues in combination with wine, since you need to chmod -> that's a good thing). We just need a well defined message that explains why it just fails. The UI therefore is not finalized. Maybe also warn for dependencies that are needed for this file (for example .exe, which could require wine)
Uninstalling windows applications using add/remove will first run the uninstallers of the applications and then wine?
* icoutils (70kb, thumbnailerscript for GNOME) -> 'nice' icons for "wine" executables -> Include it
- - check how to do this for dolphin
* Fonts * Information dialog
MIME needs to differentiate between self extracting archives and actual setups
wine-config/control: Compatability mode / Wine type mode -> inside GNOME/Nautilus (select which type of OS to emulate). Example: gnome-mount/nautilus-share.
wine c-drive in the places menu. Use bookmarks (if bookmark is faulty, it won't be displayed)
applications 'moved' with migration assistant can't be guaranteed to work. You also risk registry corruption.