From Fedora Project Wiki

< Workstation

Revision as of 01:02, 30 July 2015 by Zbyszek (talk | contribs) (→‎Future ideas: rpm triggers are here!)

Fedora Workstation Tasklist

This document aims to outline the tasks planned for the workstation as derived from the Workstation/Workstation_PRD and Workstation/Technical_Specification. Also some general information on how to get involved.

How to get involved

There are two good steps to take to get involved. First you should decide where you think you would want to get involved. Are you a Coder? Web developer? Tester? Designer? Marketing? The tables beneath show some of the tasks we are currently looking at. We would love your help with any of them. If you are interested in joining one of these efforts send an email to the desktop@lists.fedoraproject.org introducing yourself to the project. Follow that up with either contacting the people listed directly or contact one of the working group leaders, for instance through the Fedora Workstation IRC channel, who will help put you in touch. Some of these tasks will also require you to get involved with various upstream communities.

Older tasks

Previous task lists are maintained in this archive page.

Fedora Workstation 23

Project Name Developer/Owner Status Justification
Ambient backlight handling Bastien Nocera + Richard Hughes Mostly done Make sure we have ambient backlight drivers for important modules in the kernel, add support to gnome-settings-daemon.
Optimus support Bastien Nocera hardware shipped Better support for dual-GPU (intel+nvidia) systems. Also important for a long range of power users and developers. Mode switch UI - https://bugzilla.gnome.org/show_bug.cgi?id=704387, https://bugzilla.gnome.org/show_bug.cgi?id=734346 also relevant. Note that this is about supporting it with the nouveau driver ("Prime"). Better support with the proprietary nvidida driver depends on vendor-neutral dispatch for libGL
Wayland - mixed HiDPI display support for Wayland clients Jonas Ådahl done We want perfect support for HiDPI displays with Wayland as going forward those are probably going to end up being the default displays on any new system. https://bugzilla.gnome.org/show_bug.cgi?id=728902
Wayland - mouse accessibility GNOME a11y team Feature parity with X
Wayland - input device information Jonas Ådahl Feature parity with X
Wayland - Wacom support Peter Hutterer, Carlos Garnacho in progress This is a crucial tool for animators and graphics artists wanting to use our platform. Working closely with Wacom on this. feature partity with X
Wayland - IBUS Rui Matos Wayland protocol needs defining, sync with Daiki Ueno from the IBus side IBUS is the input system we rely in in Fedora for a large range of languages. We need IBUS support to be to notch in order not have switching to Wayland be a regression for our international userbase
Wayland On-screen keyboard Rui Matos Not yet begun, needs to be synced with IBUS support. A protocol needs to be defined Important for especially non-desktop use of Wayland
Wayland pointer locking and confinement - protocol Jonas Ådahl in progress, targeting 1.9 needed for many games, see here: http://lists.freedesktop.org/archives/wayland-devel/2015-May/022315.html
Wayland pointer locking and confinement - compositor implementations Jonas Ådahl in progress, targeting 1.9 needed for many games
Wayland pointer locking and confinement - SDL support Jonas Ådahl in progress needed for many games
Software Installer - hosting + generation of app data for Fedora Fedora Rel. Engineering q.v. https://fedorahosted.org/rel-eng/ticket/5721
Software Installer - hosting + generation of app data for coprs Fedora Rel. Engineering
Software Installer - Chrome/firefox webapps Tomas Popela A lot of desktop development these days actually come in the form of webapps. We need to integrate these apps into out platform so that they help drive people to our platform and not away from it. Checkmark.png
Software Installer - Integrate distro upgrade Richard Hughes early design ideas here gnome-software should inform the user when an upgrade of the OS is available, and offer to start it. https://bugzilla.gnome.org/show_bug.cgi?id=712149 https://fedorahosted.org/rel-eng/ticket/6081
Software Installer - Third-party repo (chrome, etc) under discussion in FESCO https://fedoraproject.org/wiki/Workstation/3rdPartyApps#Third-Party_Software_in_Fedora_Workstation https://bugzilla.redhat.com/show_bug.cgi?id=1229395
Software Installer - Offer a way to override 'metered' connection heuristics Network Manager team In progress The idea is for !NetworkManager to offer this information on a per-connection basis, then we can offer a user override for it in the network panel https://bugzilla.gnome.org/show_bug.cgi?id=741725
Software Installer - Integrate Bios/Firmware updates Richard Hughes, Peter Jones in progress
kdbus Systemd team proposed, but not merged in 4.1, kernel-playground COPR has it Important in order to have an efficient way to do data transport between containers.
kbus glib support David King in progress Needed to benefit from kdbus in the desktop
Multimonitor - edge resistance Florian Muellner Florian has an unfinished patch A lot of developers and sysadmins use multimonitor setups. We need to have best of class handling of these kind of setups.
Move apps to desktop file name == bus id Part of the move to systemd user sessions, and isolated applications. Suitable for crowd sourcing
Prefer D-Bus activation in gnome-session Ray Strode Part of the move to systemd user sessions
Make X launching code paths similar to Wayland in gdm Ray Strode Done Move towards socket activation for X and Wayland
Define 'portals' policy David King need to do some experimental prototyping more than for server containers, desktop containers need to be able to access various system services, like online accounts.
Abrt - improve crash collection Bastien Nocera, Abrt team in progress https://github.com/abrt/abrt/milestones/Fedora%2022, https://github.com/abrt/abrt/issues/891, https://github.com/abrt/abrt/issues/887
Abrt - improve desktop client Bastien Nocera, Abrt team in progress https://github.com/abrt/gnome-abrt/issues
Port libgdata to newer Google apis Debarshi Ray done The api used in the Google Drive backend will stop working April 2015 https://bugzilla.gnome.org/show_bug.cgi?id=684920
nautilus - Google Drive support Debarshi Ray in progress Will be implemented as a gvfs module, https://bugzilla.gnome.org/show_bug.cgi?id=739008
Chromium screensaver inhibition Tomas Popela done
Caldav support for general IMAP connector in Online accounts Milan Crha and Debarshi Ray the generic IMAP connector should be suplemented by a general caldav one as most email servers using IMAP would be used with a caldav server. Tasks: write a goacaldavprovider.c and glue it into evo/eds
Boxes - OVF/OVA import/export of vms Kalev Lember in progress https://bugzilla.gnome.org/show_bug.cgi?id=723008
Boxes - file transfers from/to vm Zeeshan Ali https://bugzilla.gnome.org/show_bug.cgi?id=730259
Boxes GPU passthrough Zeeshan Ali in progress Being able to assign a separate GPU to a virtual machine is a crucial feature for a lot of developers, for instance game developers and animators https://bugzilla.gnome.org/show_bug.cgi?id=746345
Eclipse port to GTK3 Red Hat Tools team in progress We want this premier IDE to look and feel native on the desktop
Qt - High Contrast theme Martin Briza Accessibility is important for us and should work without a hitch accross toolkits
Qt application menu Dan Vrátil needs work status: Qt apps can export their menus via the com.canonical.dbusmenu interface. They export the complete menubar though so we should probably just utilize the first submenu or the complete menu in one button (it's possible, yet the menus are quite complex)
Qt - test Qt/KDE apps under XWayland Dan Vrátil
Qt - hi-dpi support Dan Vrátil in progress Make sure Qt applications support hi-dpi scaling when running on high resolution displays (experimental patches to land soon in qt5/rawhide). The topic explained here: http://doc.qt.io/qt-5/highdpi.html
Qt/KDE - ensure mouse and other input settings transfer accross when running Qt/KDE apps Jan Grulich verify mbriza: Will test when the configuration dialog works in F22 GNOME. Anyway, since there are virtually no settings there, it will be fun. Also: regarding keyboard layout, GNOME doesn't use ibus-setup so it's not likely anything will be transferred.
gnome-shell - bring weather and music notifications back Summer of Code project
GTK+ - application keybinding overview Summer of Code project https://wiki.gnome.org/Design/OS/HelpOverlay#System_Shortcuts
liveusb-creator - visual refresh Martin Briza/Jakub Steiner in progress mockups This is the 'first point of contact' with Fedora - it should look polished and modern Checkmark.png https://fedoraproject.org/wiki/Changes/LiveUsbCreatorFacelift
battery life monitoring Owen Taylor research underway Put a system in place that allows us to evaluate power consumption under well-defined scenarios on an ongoing basis Checkmark.png
integrate alpm fixes in kernel and enable them Josh Boyer See mjg's post here: http://mjg59.dreamwidth.org/34868.html
power tunables research underway Some of the kernel tunables such as SATA link power management and USB autosuspend can make a difference of multiple watts. These need to be investigated and udev/kernel configuration adjusted as appropriate.
Polari IRC client SoC project Already somewhat done, need community involvement to take to production level
Fleet Commander Alberto Ruiz Proof of concept under development We want our systems to be deployed in large software engineering organizations. Providing good tools for managing such deployments could be an important differentiator for us.
Remote Windows Apps Ondrej Holy and Debarshi Ray GOA account handling for Windows terminal server and remote windows applications
LibreOffice GTK3 port - testing version Caolan McNamara in progress Testing version of LibreOffice GTK3 port which is also a prerequisite for running on Wayland, the default still will be GTK2 version, but it will be very easy for users to switch to GTK3 version and test it
Wayland support in Firefox Martin Stransky in progress The main prerequisite - GTK3-port - is pretty much finished. If Firefox is not stable enough on Wayland by F23, we will use XWayland and keep Wayland backend experimental for early adopters
Introduce xdg-app in Fedora David King, Alexander Larsson available in a copr Make xdg-app available for building, installing and running app bundles
Initial setup - skip timezone Matthias Clasen Anaconda will add a way for us to learn if the user configured the timezone during installation (or if it was detected by geoip). In that case, we don't want to ask the user again, but skip that step.
Easier langpack installation for Libreoffice Parag Nemade Currently langpacks for Libreoffice and KDE etc are not installed by default after a Workstation installation - ideally they should be installed more or less semi-automatically (maybe via gnome-initial-setup or gnome-software say?)

Future ideas

Terminal -automatic title updates Debarshi Ray working patch posted This feature will make working with a large quantity of terminals easier as identifying each one will be a lot easier. Feature parity with other OS's. https://bugzilla.gnome.org/show_bug.cgi?id=711060
Terminal - Allow to search selected text on Web Allan Day Under discussion: https://bugzilla.gnome.org/show_bug.cgi?id=723088
Terminal - Allow to send selected text to a pastebin Allan Day Under discussion: https://bugzilla.gnome.org/show_bug.cgi?id=723089
gnome-shell - Better tiling Florian Muellner in progress upstream patches here: https://bugzilla.gnome.org/show_bug.cgi?id=751857 Another crucial feature for developers working with a lot of terminals.
gnome-boxes hi-dpi support Zeeshan Ali The details are described here: https://bugzilla.gnome.org/show_bug.cgi?id=726743
Fedora account integration Checkmark.png
Pidgin integration With 3.16, gnome-shell is much less entangled with empathy. We should look at making pidgin work nicely in GNOME
Chrome Apps integration Tomas Popela No api to do this integration
Software Installer - user feedback Richard Hughes blocked on Fedora account integration deferred until post
Software Installer - Install alternative desktops Allan Day little interest from KDE side While the product aims at a strongly integrated vertical system we do want to allow those users who want it to install other options even if that means they lose out on a big part of the value proposition we are trying to bring to the table with the Workstation product. Need to take care to figure out how to do it in a way that is actually useful to users yet also not introducing risk of breaking core workstation experience through for instance library incompatibilities and similar.
Software Installer - support developer tools Allan Day needs design A lot of developer tools are command line and thus might not be a great fit for the application installer. Could be that for instance the Developer assistance is a better home for installing such tools. Or maybe a 3rd separate tool.
Desktop log viewer - per-application logs David King unfinished patch exists The desktop log viewer is meant to be a good debug tool for developers and a bit easier to interact with for such purposes than the log viewer included in cockpit.
Desktop log viewer - hook up GLib logging to the journal David King
Desktop log viewer - move log-triggered actions (eg SMART, abrt) from gsd and abrt David King needs discussion with abrt team
Desktop log viewer - add support for activate-by-message id to journal David King needs discussion with systemd guys
Desktop log viewer - clean up logs suitable for crowdsourcing
Mylyn support added to Online accounts Mylyn can be a portal for enabling developers easy access to a lot of developer resources
Qt - CSD under wayland Dan Vrátil/Jan Grulich unlikely to materialize status: Qt Wayland apps don't run in Rawhide at all. There is support for CSDs in QtWayland but there is no application utilizing it. Upstream KDE (Martin Graesslin) is strongly against using CSDs, see http://blog.martin-graesslin.com/blog/2013/02/client-side-window-decorations-and-wayland/
eclipse-jbosstools integration? talk to jboss team about linuxapps and their needs
btrfs Kernel team/Jon McCann Design user interface for rollback feature - https://blogs.oracle.com/erwann/entry/zfs_on_the_desktop_zfs The rollback feature that btrfs will give us can improve system robustness and upgrade pains significantly. btrfs has unfortunately taken a long time to mature, but hopefully with Facebook investing heavily in it, that will quickly change.
improve git GUI tool more like sourcetree? Great tooling is a big part of the issue we need to address. Especially as we try to lure developers away from MacOS making sure our development tools like gitg are top notch is crucial.
Wayland - xsettings replacement for Wayland not a short-term priority If we ever want be be able to run the desktop without requiring some form of X Window support, then this needs to be resolved.
EGL Work on Nvidia enabling technologies in the graphics stack (basically try to help move some of their proposal forward to help encourage their Wayland support quicker) People like game developers, animation artists and similar require the binary Nvidia driver for their work, we need to work with NVidia to make sure it works really well with Wayland.
Screencasting with audio Need community member involvement We been getting requests for better screencasting support in the desktop, needs review of current status and what can be done to improve performance and features. https://wiki.gnome.org/Design/Apps/Potential/Recorder
gnome-shell - system keybinding overview https://wiki.gnome.org/Design/OS/HelpOverlay#System_Shortcuts
Docking station teardown behaviour Design team/Jon McCann design needed A lot of developers, sysadmins and other power users use a docking station at the office and then bring their laptops home in the evening to continue working. Currently we don't have a great behaviour for dealing with the external monitor appearing/disappearing, with all apps just migrating to the internal screen on disconnect.
Application grouping support Design team/Jon McCann design needed Developers and devops are task oriented more than application oriented and we want to have a way to group a large set of application/windows together and be able to deal with them as a group. So that you can have for instance 5 terminals and a browser with 10 tabs set to specific pages associated with one project and another set of applications and terminals for another project.

Scriptless RPMS for desktop

None assigned in progress File triggers are enabled in F24 rawhide. Need to actually use this functionality now. We want to avoid requiring scripts to be called from RPMS as far as possible as any such manual steps increase the risk for bugs and issues happening during upgrades. Working on removing the need for such things will increase overall system robustness and make upgrades less of a challenge. It also makes our updates more alike to image based installations.
  • gsettings schemas
  • gconf schemas
  • im modules - this cache doesn't add much value, could make it optional
  • gio modules – make optional
  • pixbuf loaders – make optional
  • systemd unit - not a cache – just annoying post scripts
  • desktop file validation
  • app data validation

The rpm team is working on 'file triggers' that will enable this. File triggers have been presented at Flock 2014. See also https://bugzilla.redhat.com/show_bug.cgi?id=1149141

Virtual 3D for SPICE David Arlie Need more community involvement to move forward
Make liveusb-creator work on OS X Martin Briza
Drop hard xwayland dependency from mutter Jonas Adahl
Windows network integration - Printers Make sure assigned printers from AD show up in the print dialog when the machine is enrolled in a domain
Windows network integration - Shares Make sure assigned file shares from AD show up in the file chooser and nautilus when the machine is enrolled in a domain
Deal better with binary NVidia driver Peter Jones Change the behaviour of grubby so that using the NVidia driver with Fedora becomes a smoother experience
Make Optimus setup work smoothly Adam Jackson Once the GL Dispatch works land, ensure that setting up a system to use Optimus becomes simple