BinaryDriverEducation

Differences between revisions 7 and 8
Revision 7 as of 2006-11-08 01:08:34
Size: 9422
Editor: 207
Comment: begins cleaning up Design section
Revision 8 as of 2006-11-08 01:32:54
Size: 6943
Editor: 207
Comment: + Launchpad metadata; addresses comment; - IssueNotificationServiceSpecification
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
 * '''Launchpad entry''': https://launchpad.net/distros/ubuntu/+spec/binary-driver-education
 * '''Contributors''': JackVasey, MichaelVogt, MatthewPaulThomas
 * '''Packages affected''': `hal-device-manager`
Line 12: Line 16:
In most cases there is alternative hardware with Free drivers, such as Intel onboard graphics cards, but those lag in performance behind the ATI/Nvidia cards (and aren't available as separate components). In most cases there is alternative hardware with Free drivers available. In the case of graphics cards, Intel onboard cards are available, but their performance isn't as good (lagging behind the ATI/Nvidia cards), and they aren't available as separate components.
Line 27: Line 31:
  - Do we want this for ndiswrapper as well?
    - Yes, because there may be better alternatives
    - But this is a future extension of this framework
Line 34: Line 35:
 * video
 - fglrx
  -
nvidia
 * Modems
 - fritz isdn/dsl modules
  -
lt-modem
 * video (fglrx, nvidia)
 * Modems (fritz isdn/dsl modules, lt-modem)
Line 45: Line 42:

Other modules:
* ndiswrapper:
Line 58: Line 52:
 * If you are an administrator who is logging in to an Ubuntu installation for the ''second'' time, or three months have passed since you were last notified, or you are using a live CD, Ubuntu should notify you about the problem with the non-Free drivers.  * If you are an administrator who is logging in to an Ubuntu installation for the ''second'' time, ''or'' three months have passed since you were last notified, ''or'' you are using a live CD, ''or'' you launch the Device Manager, Ubuntu should notify you about the problem with the non-Free drivers.
Line 60: Line 54:
The notification should take the form of an alert, which reads: The notification should take the form of an info alert, which reads:
Line 66: Line 60:
  ` ` ( More Information ) (( OK ))   To learn about this later, open the Device Manager. ` ` ( More Information ) ((` `OK` `))
Line 70: Line 64:
Clicking "More Information" should open your default Web browser to a page that explains the problem in more detail -- including information on the particular device (or devices) that is the problem in your case, along with an explanation of the problem in general. Clicking "More Information" should open your default Web browser to a page that explains the problem in more detail -- including information on the particular device that is (or devices that are) the problem in your case, along with an explanation of the problem in general.
Line 72: Line 66:
XXX how to access this information on demand?

The live CD needs to provide the notification as well so people can test hardware in a shop with it. This information about free/non-free drivers should also be presented in the hwdb-client.

The notification should not be shown over and over again because then it becomes nagware. But it should be persistant to a certain extend (maybe showing it 2-3 times with a option to opt-out). The initial notification should be very short (two sentences) with a link to a website with more information. This website should contain additional and links to vendors of hardware with Free drivers. We need to be careful though to not scare the user off ("problems with my hardware, oh no!").
This website should contain additional and links to vendors of hardware with Free drivers. We need to be careful though to not scare the user off ("problems with my hardware, oh no!").
Line 115: Line 105:
 * Canonical support staff are writing whitepapers; mneptok's first will be about the pitfalls of binary drivers.  * Canonical support staff are writing whitepapers; Karl Tilbury's (mneptok's) first will be about the pitfalls of binary drivers.
Line 117: Line 107:
 * Could this be expanded to become an 'Ubuntu Notification Service'
   * We could add messages for different situations after release via a web service
    * What kind of situations?
    * Things like the battery recall power-manager notification
      * gnome-power-manager already does this, no?
      * Sure, but needed a new release to do it. This would be a flexible way
        of reacting to situations affecting user hardware between releases
      * Common misconfigurations could be detected, user could be referred to
        the wiki for proper fix (rather than trolling the forum for hackish scripts)
   * provide a unified interface/queue for the user
    * Are you reinventing notification-daemon? :-)
    * No, this would use notification-daemon to handle real notification, but
      would pull "situation tests" and appropriate notification messages from a web service
   * unified stats gathering a la popularity-contest
   * this kind of thing might have security implications, since we'd be running
     'situation check' code on the user's system outside of the packaging framework
     * Code would have to be run with no write permissions, with only specific
       elements of /proc etc. available to it for reading
   * privacy considerations
     * user must opt in
   * Potential use cases
     * user installs binary nvidia driver.
       * next time the notification service runs test code, the
         'detect nvidia nonfree' script pops a notification referring user to explanation of issues with nonfree.
     * user installs hardware that is known not to work with Ubuntu
       * one of the test scripts pushed out by the web service detects the hardware
       * 'Sorry, your [HP Foomatic 19283d] is not supported by Ubuntu.'
       * provide link to a project working on support
     * ati p
Line 148: Line 108:
Line 154: Line 113:
=== Comments ===
- Is there really a high performance video card that can be used, say for instance to play World of Warcraft (seems to be my case) that has open drivers? The goal is noble, but are we alienating the user that wants a full MS Windows replacement? - GHexsel

See also: EthicalInfo
''See also'' EthicalInfo, IssueNotificationServiceSpecification.

We include several proprietary drivers in Ubuntu by default (it is possible to install without them). We would like to do more to educate users to avoid hardware that requires such drivers in order to work with Linux. We propose a notification on login which will lead users to further information, including recommending certified hardware that does not have this problem.

Rationale

A large proportion of people using Ubuntu -- including 70%-80% of people with new computers -- need a non-Free driver for reasonable performance from their graphics card, wireless card, or modem, because there is no Free driver available. This is a problem, because:

  • we are completely dependent on the hardware vendor for bug fixes, even for security bugs
  • security fixes need careful testing, because we don't know what changed in the update
  • we don't know the vendor's roadmap for updates
  • we don't have any service-level agreement
  • any problems with the "tainted" kernel will not get attention from upstream kernel developers.

In most cases there is alternative hardware with Free drivers available. In the case of graphics cards, Intel onboard cards are available, but their performance isn't as good (lagging behind the ATI/Nvidia cards), and they aren't available as separate components.

We need to convey the implications of using non-Free drivers -- presenting this information only once, prominently but not annoyingly. The given reasons will be practical, not religious. This should also include information why we ship non-free drivers at all in the first place and information to educate people about their next hardware choice.

Scope

- What is the scope?

  • - firmware? no, even upstream kernel hackers don't worry about that - modules in linux-restricted-modules ? - just checking for installed packages might not be enough, we
    • should check if those are actually used
    - one notification and then merge the information if there is more
    • than one non-free driver but having one url per driver
    - show the notification once? show it 3-5 times? - different driver should have different messages - What if one big vendor releases a free driver? do we change the
    • notifcation application then.

Modules we have in linux-restricted-modules:

  • video (fglrx, nvidia)
  • Modems (fritz isdn/dsl modules, lt-modem)
  • wifi
    • - ath_hal (aka madwifi) - binary blob supposed to be for FCC compliance
      • - preliminary work exists on a free version, nothing usable yet
      - 3945 (Intel wireless card) - Free driver + binary blob to ensure FCC compliance
      • - Should be replaced by Free version in Feisty

Use cases

  • Harriet had Ubuntu installed on her computer a couple of days ago, by a nephew who has now gone on a camping holiday. Harriet does not know what a "driver" is.

Design

When you log in to Ubuntu on a computer where non-Free drivers are required for acceptable performance:

  • If you are not an administrator, you likely can do nothing about the hardware situation, so nothing special should happen.
  • If you are an administrator who is logging in to an Ubuntu installation for the first time, it is important for your first impression to be of an elegant uncluttered system, so nothing special should happen.
  • If you are an administrator who is logging in to an Ubuntu installation for the second time, or three months have passed since you were last notified, or you are using a live CD, or you launch the Device Manager, Ubuntu should notify you about the problem with the non-Free drivers.

The notification should take the form of an info alert, which reads:

  • To make this computer’s ______ work properly, Ubuntu is using driver software that cannot be supported. You can avoid this problem with your next computer, by choosing hardware from more cooperative manufacturers.

    To learn about this later, open the Device Manager.     ( More Information ) ((    OK    ))

The first sentence should refer to "display", "modem", "wireless connection", or (if multiple devices have the problem) "hardware".

Clicking "More Information" should open your default Web browser to a page that explains the problem in more detail -- including information on the particular device that is (or devices that are) the problem in your case, along with an explanation of the problem in general.

This website should contain additional and links to vendors of hardware with Free drivers. We need to be careful though to not scare the user off ("problems with my hardware, oh no!").

= BRAINDUMP from this point on=

  • This is potentially polarizing, because other companies have made different choices
    • Fedora: "but if you don't care about your freedom or technical excellence, ubuntu is a good choice. ;)"
    • Novell: installs Free software by default, while making it easy to install the non-Free stuff
    • so needs to be very tactful and well-designed
  • Count the number of people who see this information on the Web site
  • Link to discussion forum at the bottom of the Web page.
    • ubuntu_demon : maybe we could do this at ubuntuforums.org
    - One notification per proprietary driver??
    • - One notification with multiple paragraphs? - People will never get more than three - no.
      • - Merged notifications, and CGI page with sections for each driver (approved by mdz)

What happens if a vendor frees their driver?

  • Should we push an update?
    • - See AcceleratedX

Implementation

- mvo: Use existing desktop notification framework, it supports text notifications and has url support.

Small program that runs in the session

- We can tell whether the ATI or Nvidia package is being used

  • - I think something more instrusive for notification would be desired

- Same for eg atheros (grep /proc/modules)

- a webpage needs to be create and maintained with useful information about what the implications of binary drivers are (the points above) and hints what hardware to buy instead. Make clear why we ship non-free drivers in the first place.

  • Canonical support staff are writing whitepapers; Karl Tilbury's (mneptok's) first will be about the pitfalls of binary drivers.
  • The check for non-free modules can be done either at the modprobe level or at the session login level. We probably want to do it at the session level because its easier.

Future work

  • We should extend this to detect use of ndiswrapper, for which Ubuntu will need to determine whether there is a Free equivalent to the Windows driver being used.

See also EthicalInfo, IssueNotificationServiceSpecification.

BinaryDriverEducation (last edited 2012-02-01 12:39:34 by mpt)