This is a living specification for how Debian-style software channels and update settings should be configured in Ubuntu. Your help to implement any of this is welcome.

System Settings should have a “Software & Updates” panel, with tabs for “Channels”, “Updates”, “Livepatch”, and “Drivers”. Alternatively it may be a separate app, in which case launching it when it is already running should focus the existing instance (bug 1402298).

“Software Channels”

As with most settings, any change to channel settings should take effect without any further interaction. But because regenerating the apt cache takes some time, a change should take effect only once it has been five seconds since you last interacted with the Channels tab, so that quick successive changes can be batched.


The scrolling list should contain three sections: “Official channels”, “Other channels”, and “Authentication keys”.

The “Official channels” header should have a radio menu for choosing the download server. If mirrorbrainz has been implemented yet, the menu should begin with a “Fastest detected server” item (the default), then a separator. Regardless, the menu should then have a “Main server” item, an item for whatever custom server you have chosen (if any), a separator, and an “Other…” item which opens the dialog for choosing a different server.

The “–” and “Edit…” buttons should be disabled whenever no list item is selected, or whenever one of the “Official channels” is selected (since you can’t edit/remove those).

Adding a channel or authentication keys


Choosing “+” should open the “Add Software Channel/Key” dialog.

The dependent controls for each radio button should be disabled when the radio button is not chosen. (In this dialog, understandability is more important than speed of use.)

The “Install software from removable media” menu should contain “None detected” if none are, or else an item with the icon and name of each relevant volume detected.

“Add” should be disabled whenever:

  • “Install software from a CD/DVD/volume” is chosen, but the menu’s value is “None detected”; or
  • “Add APT source” is chosen, but the text field’s value is not a valid APT line; or
  • “Add an authentication key file” is chosen, but no valid key file is currently selected.

Removing a channel


If you choose to remove a channel, and no software is installed from that channel (bug 1091228), the channel should be removed immediately.

If any software is installed from that channel, a “Remove Channel” alert should appear (bug 625628), with primary text ‘This computer has software installed from “{Display Name of Channel}”. Do you want to remove that software too?’ This should be followed by a list of the installed items, each with a menu containing “Leave installed” (the default), “Downgrade” (only if this is possible), and “Remove”.

If the list contains more than one item, it should be preceded by a “For all items:” menu that contains the same options. Whenever the individual menus are set to multiple choices, the “For all items:” menu should begin with, and be set to, a temporary “—” item. And conversely, if you change the “For all items:” menu from “—” to any of the other choices, the individual menus should change to echo that choice.



The Updates tab is described in detail at SoftwareUpdates. (If there is any difference between this sketch and that one, believe that one.)


The “Livepatch” tab is described in detail at SoftwareUpdates.



The “Drivers” tab should begin with a listbox containing a progress bar (bug 1466479) and the text “Searching for available drivers…” until the search is complete.


Once the search is complete, the listbox should list each device for which proprietary drivers could be installed — for example, “Graphics card: ATI Radeon HD 6210” or “Printer: Canon XFI-2400”.

Each item in the list should have an indicator light (bug 1025562): green if a driver tested with that Ubuntu release is being used, yellow if any other driver is being used, or red if no driver is being used.

As a special case, if there are multiple applicable graphics drivers, “Graphics:” should be the first item in the list, followed by a comma-separated list of graphics cards (usually one or two). These should be followed by radio buttons for whichever options are applicable, in order:

  • ‘Intel graphics with Intel driver’
  • ‘Nvidia graphics with Nouveau driver’
  • ‘Nvidia graphics with Nvidia “Long Lived” driver’, with version number in small print below
  • ‘Nvidia graphics with Nvidia “Short Lived” driver’, with version number in small print below
  • any other drivers for the cards present.

For any other device, below the device name should be a caption reflecting this state: “This device is using the recommended driver.”, “This device is using a manually-installed driver.”, “This device is using an alternative driver.”, or “This device is not working.”. The following radio buttons should be, in order, of this form:

  • “Use {driver name} (tested)”
  • “Use {driver name}”
  • “Continue using {driver name} (manually installed)”
  • “Do not use the device”

For any kind of device, each driver should have the license type — “Open source” or “Proprietary” — in grey text at the far end of the row.

The listbox should not scroll horizontally; each radio button label should wrap to multiple lines if necessary (bug 1069285).

If a manually-installed driver is being used, so that it is not possible to switch to any of the other drivers for that device, the radio buttons and labels for those other drivers should be insensitive.

Whenever no drivers are being installed or removed, or waiting for a restart, below the leading side of the listbox should be text of the form “No proprietary drivers in use” or “1 proprietary driver in use”, and at the trailing side “Revert” and “Apply Changes” buttons. Both buttons should be sensitive only if you have made no changes.


If you choose “Apply Changes”:

  1. If you are choosing to install any drivers that have end user license agreements, a dialog should appear sequentially for each, with the name of the driver as its title, the EULA in a scrolling text field, the text “Do you accept the license agreement?”, and “Decline” and “Accept” buttons.
  2. The “proprietary drivers in use” text should change to the status text for the operations (for example, “Waiting for other tasks to complete…”, or “Downloaded 716 KB of 2.4 MB”) (bug 1076832), and the buttons should change to a progress bar and a “Cancel” button (insensitive once it’s too late to cancel).

  3. The driver should be installed or removed, as appropriate, without separate progress UI.

  4. Once installation or removal is finished, the text and buttons should revert to their normal state (except as specified below).
  5. If the changes required a restart, the “Software & Updates” panel is still open, and the “Additional Drivers” tab is still frontmost, the System Settings window should request attention.

  6. If the changes required a restart, but you have since navigated away from the “Additional Drivers” tab or closed System Settings altogether, a parent-less alert box should appear with the title “Additional Drivers”, the “Software & Updates” icon, the text “ Warning /!\ You need to restart the computer to complete the driver changes.”, and “Restart Later” and “Restart Now” buttons.


If there are changes waiting for a restart to complete, even if you close and reopen System Settings:

  • The text below the leading side of the listbox should be “Restart the computer to complete these changes.”
  • There should be an extra “Restart…” button before the “Revert” button. (“Restart…” should open the standard Restart dialog.)

At the bottom of the tab should be this small print: “Proprietary drivers have private code that Ubuntu developers can’t review or improve. Security and other updates are dependent on the driver vendor.”

Prompting to install additional drivers


Ubuntu should not try to use an indicator menu or notification bubble to prompt about hardware drivers (fixing bug 617392).

Instead it should open an alert box, to suggest that you install proprietary drivers, whenever all of these are true:

  • There are any devices for which proprietary drivers could be installed but currently are not.
  • Software Updater is not open.

  • You have never previously responded “Not Interested” or “Choose…” to the prompt.
  • You have not chosen “Ask Me Later” to the prompt in the past week.

“Choose…” should open System Settings to the “Additional Drivers” tab of the “Software & Updates” panel.

SoftwareAndUpdatesSettings (last edited 2019-11-15 15:20:00 by mpt)