From Fedora Project Wiki

(Change IRC references to libera.chat)
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Fedora Mobility =
= Fedora Mobility =


Fedora Mobility is a group of Fedora contributors that are interested in Fedora on small devices. Initially aimed at supporting NetBooks, Mobile Internet Devices (MIDs) and tablets, it could over time be expanded to also cover things such as Set Top Boxes (STBs), connected TVs and other devices.
Fedora Mobility SIG is a group of contributors that are interested in running Fedora on portable devices such as phones and tablets. The revitalised SIG relaunched when open phone and tablet devices started to become available such as the  [https://fedoraproject.org/wiki/Architectures/ARM/PinePhone Pine64 Pinephone].


== Mission ==
== Mission ==


Fedora Mobility is a group of Fedora contributors that are interested in Fedora on small devices. Initially aimed at ensuring that the hardware used in devices such as Netbooks and Mobile Internet Devices (MIDs) work out of the box with Fedora. It could also be used to produce various spins for Gnome Mobile development, the MeeGo™ project, KDE Plasma etc
Fedora Mobility is aiming to eventually create an official Fedora spin to run on mobile phones, tablets and other similar portable battery powered devices. Initial focus is on the PinePhone, but we hope to support other smartphones such as the Librem 5. The aim is to get a stable, open source Phone platform that can be used as a daily driver, with full upstream software.
 
== Meetings ==
 
Meetings are 16:30 UTC on {{fpchat|#fedora-meeting}} on Libera.chat on the second Monday of each month. See: [https://meetbot.fedoraproject.org/sresults/?group_id=fedora_mobility_sig&type=team]
 
== Communication ==
 
We communicate in the usual [[Communicate| Fedora channels]].
* {{fpchat|#fedora-phone}} on Libera.chat - It's also bridged to [https://t.me/fedoraphone Telegram] and [https://matrix.to/#/#fedora-mobile:matrix.org Matrix]).
* We use the arm mailing list [https://admin.fedoraproject.org/mailman/listinfo/arm subscribe to here].
 
== Getting Help and Getting Involved ==
 
The effort is still quite early on, quite a bit of the phosh desktop is in place and we're working to get a Fedora Remix for Fedora 34 which will have a regular image generated soon. There's a number of ways you can get involved and help out:
* '''Packagers:''' There are so many interesting packages that are not yet packaged for Fedora. You can find a list of things we need to package on [https://pagure.io/fedora-mobility/issues Fedora Mobility issue tracker]. Or of course you can contribute by packaging them yourself.
* '''Reviewers:''' People able to do [[Packaging/ReviewGuidelines| package reviews]] can find a list of packages currently needing review in the [https://bugzilla.redhat.com/show_bug.cgi?id=1817424 Tracker Bug].
* '''Testers:''' If you have a small device and use Fedora on it, file bugs and add them as a blocker for the Fedora Mobility [https://bugzilla.redhat.com/show_bug.cgi?id=1817424 Tracker Bug].
* '''Bugs:''' Become a [[BugZappers| BugZapper]] and help us with Fedora Mobility related bugs.
* '''Hardware Enablement:''' If you have the skills to work with low level early firmware, kernel and related components there's a need for assistance for device bring up, kernel development, debug and fixes to get support upstream and fix issues with hardware.
* '''Software Develment:''' Fixes, features, mobile applications, improvement to existing Fedora applications to better run on phones and tablets.


== Current Status ==
== Current Status ==


Fedora Mobility is moving forward. We now incorporate the MeeGo™ NetBook UX and Sugar user interfaces in two official Fedora Spins.  
Fedora Mobility has a reasonable amount of mobile focused packages available in Fedora Rawhide. Packages groups include:
* The stock Fedora works well on most netbooks
* A functional touch desktop environment, phosh.
* Fedora 13 includes two official Fedora Mobility Spins
* A compatible touchscreen keyboard, squeekboard.
* The dependency reduction is an ongoing project and always will be.
* A Calling application for making/receiving phone calls, [https://source.puri.sm/Librem5/calls Calls]
* Numerous other Fedora applications such as Calendar, Maps, Contacts etc
 
Fedora recently added support for building aarch64 FlatPaks so we'll be looking at what applications can be packaged as FlatPaks to make them easily consumable.
 
As of currently, some core packages are maintained in [https://copr.fedorainfracloud.org/coprs/njha/mobile/ Copr]. Work is done to get all patches upstreamed. You can find an overview of packages that use downstream patches (and what they patch) [[Mobility/patched_applications|here]].
 
== Supported devices ==
The list of devices we're planning to initially support are as follows:
* [https://fedoraproject.org/wiki/Architectures/ARM/PinePhone Pine64 Pinephone]
* [https://fedoraproject.org/wiki/Architectures/ARM/PineTab Pine64 Pinetab]
* [https://fedoraproject.org/wiki/Architectures/ARM/Librem5 Purism Librem 5]
 
We will review other devices as opportunity and interest arises, if you're capable and interested in adding support for other devices do reach out or file a RFE in the [https://pagure.io/fedora-mobility/issues Fedora Mobility issue tracker] with details of how you can assist in adding support for the new device.
 
== Reporting Bugs ==
We have a few different places to report bugs and request features:
* For bugs in packages we use the [https://bugzilla.redhat.com/enter_bug.cgi?classification=Fedora Fedora package bugzilla]. Please add the [https://bugzilla.redhat.com/show_bug.cgi?id=1817424 Tracker Bug] as a blocking bug to the bug report so we're aware the issue relates to Mobility.
* For issues with the images, new package requests or RFEs we use the [https://pagure.io/fedora-mobility/issues Fedora Mobility issue tracker].
 
== Related Fedora projects ==
 
* The [[Architectures/ARM|ARM]] architecture project.
 
 
= Where to get Images =
 
As mentioned above, the effort is still quite early on and thus we have no official build infrastructure yet. Currently two different builds are maintained, see below for details.
 
Note that while both builds somewhat deviate in terms of features and ''goodies'', both provide at least basic functionality.
 
== [https://github.com/nikhiljha/pp-fedora-sdsetup Github] ==
 
Builds on [https://github.com/nikhiljha/pp-fedora-sdsetup Github] are released on an irregular basis. However, in the repository you will find a collection of shell scripts that will allow you to perform your own builds.
These images are based on [[Releases/Rawhide|Rawhide]] Minimal and add various components needed to provide a decent user experience on mobile devices. As there is no strict documentation on what's included, it's best to consult the scripts.
 
'''Tagged and published releases''' have undergone at least some testing by the community. As the images are based on [[Releases/Rawhide|Rawhide]] you will receive updates very frequently, which may break things in unexpected ways. If you plan to daily-drive your phone via rawhide, reach out to us on [[Mobility#Communication|any of our channels]] to get some valuable tips on the current state.


== Official Fedora Mobility Spins for Fedora 13 ==
== [ftp://pine.warpspeed.dk/nightly/pinephone Nightlies] ==


* [http://spins.fedoraproject.org/moblin/ Moblin 2.1]
The builds on [ftp://pine.warpspeed.dk/nightly/pinephone FTP] are released and rebuilt every night (hence the "nightly"). These are currently based on Minimal images, and are built for both F34 and F35(Rawhide).
* [http://spins.fedoraproject.org/soas/ Sugar on a Stick]


== Approved Fedora Mobility Spins for Fedora 14 ==
Due to the nature of the nightly builds, there is no guarantee about expected system stability.
In general the F34 images should break less often as they are based on stable F34 branch, where the
F35 (Rawhide) branch are more bleeding edge - you get lots more updates every day, and failures happens.


* [http://spins.fedoraproject.org/netbook/ Fedora NetBook spin]
= Roadmap to Fedora Spin =
* [http://spins.fedoraproject.org/soas/ Sugar on a Stick]


== To the future and beyond ==
The group is currently working on getting an official [https://spins.fedoraproject.org/ Fedora Spin] going. There is no strict schedule at the moment, as the situation is evolving dynamically. This section tracks the progress and what needs to be done towards this goal.


Moving forward Fedora Mobility will continue to support and run the latest Sugar interface. We have some OLPC XO-1s and XO-1.5s and are working to see what is required to get the XO-1 and the XO 1.5 fully supported in vanilla Fedora.


We're reviewing the MeeGo™ NetBook UX with the intention of including the MeeGo™ NetBook UX into a future release of Fedora replacing the current Moblin™ UX. This should be initially completed for Fedora 14.
== Official Kernel with Networking ==


The KDE team are working with Fedora Mobility to support the KDE Plasma NetBook interface for Fedora 14.
The builds are currently reliant on a custom kernel built by [https://megous.com/git/linux/log/?h=pp-5.12 megous] that includes a variety of patches. The patches are slowly accepted by the upstream kernel devs, which is required for them to land in the official Fedora kernel.


ARM platform support is also on the agenda but that needs more investigation. With the introduction of ARM based SmartBooks and Tablets it will become and important platform for Fedora Mobility and Fedora in general.
The biggest missing part as of currently is a working WiFi/BT driver for the Realtek RTL8723CS chip in the Pinephone, as well as some bits regarding GPS in the ModemManager.


Other ideas for the Fedora Mobility project include support for more embedded architectures as well as Spins or Remixes for MIDS or Set Top Boxes such as a Moovida Media Centre spin.


== Getting help and getting involved ==
== Phosh Environment DNF Group ==


At the moment Fedora Mobility is primarily maintained by two people. They are [[User:Pbrobinson|Peter Robinson]] and [[User:Sdz|Sebastian Dziallas]]. We need more help!
Just like there are [https://docs.fedoraproject.org/en-US/fedora/f34/system-administrators-guide/package-management/DNF/#sec-Packages_and_Package_Groups Package Groups] for *Workstation*, *KDE* or *Development Tools* that pull in bundles of packages related to each other, a Package Group for Phosh is required.


We have a couple of communications channels as well as the usual [[Communicate| Fedora channels]]. We have a mailing list which you can [https://admin.fedoraproject.org/mailman/listinfo/mini subscribe to here] and there's a dedicated IRC channel on Freenode: [irc://chat.freenode.net/#fedora-mobility #fedora-mobility].
[https://developer.puri.sm/Librem5/Software_Reference/Environments/Phosh.html Phosh] is a '''Pho'''ne '''Sh'''ell developed by [https://puri.sm/ Purism]. It is based on [https://en.wikipedia.org/wiki/GNOME GNOME] and currently provides the default desktop for all Mobility images based on Fedora. Phosh is required because the default GNOME doesn't work well on devices with form factors as small as Smartphones and isn't optimized for touch inputs.


If you have no idea how to help us, here are some proposals where we need help:
* '''Packagers:''' There are so many interesting packages that are not yet packaged for Fedora. Package it to improve the user experience.
* '''Reviewers:''' Only a few people are doing reviews. [[Packaging/ReviewGuidelines| Help us with reviews]] so that more packages could be included.
* '''Testers:''' If you have a small device and use Fedora on it file bugs and add them as a blocker for the Fedora Mobility [https://bugzilla.redhat.com/show_bug.cgi?id=462851 Tracker Bug]
* '''Bugs:''' Become a [[BugZappers| BugZapper]] and help us with Fedora Mobility related bugs.


== Related Fedora projects ==
== Official Image Infrastructure ==


* The [[Architectures/ARM|ARM]] secondary architecture project.
Images are currently generated by collections of shell scripts (see above). In order to become an official spin, the images must be generated with more official tooling. As it isn't intended for the user to boot a live .iso on the phone, [https://imgfac.org/ Image Factory] will be used to generate the PinePhone images.


== Devices ==
Currently there is no Mobility-specific kickstart file to use with Image Factory yet.


An overview of the hardware found in the various Netbook/Nettop devices can be found on the [[SIGs/FedoraMini/Hardware| Hardware]] page.


Some of the devices include:
* [[Netbooks]]
** [[Acer Aspire One]]
** [[Dell Inspiron Mini 9]]
** [[Eee PC]]
* [[Fit-PC]]
* [[OLPC]] XO


== Links ==


The upstream projects of interest to Fedora Mobility include<br>
The upstream sugar related projects:
* [http://www.sugarlabs.org/ Sugar Labs]
* [http://www.laptop.org/ One Laptop Per Child]


Netbook releated projects:
* [http://www.moblin.org Moblin website]
* [http://www.meego.com MeeGo website]


Other related projects:
* [http://www.gnome.org/mobile/ GNOME Mobile]


[[Category:SIGs]]
[[Category:SIGs]]
[[Category:Fedora special-interest groups]]
[[Category:Fedora special-interest groups]]

Revision as of 19:45, 14 June 2021

Fedora Mobility

Fedora Mobility SIG is a group of contributors that are interested in running Fedora on portable devices such as phones and tablets. The revitalised SIG relaunched when open phone and tablet devices started to become available such as the Pine64 Pinephone.

Mission

Fedora Mobility is aiming to eventually create an official Fedora spin to run on mobile phones, tablets and other similar portable battery powered devices. Initial focus is on the PinePhone, but we hope to support other smartphones such as the Librem 5. The aim is to get a stable, open source Phone platform that can be used as a daily driver, with full upstream software.

Meetings

Meetings are 16:30 UTC on #fedora-meeting[?] on Libera.chat on the second Monday of each month. See: [1]

Communication

We communicate in the usual Fedora channels.

Getting Help and Getting Involved

The effort is still quite early on, quite a bit of the phosh desktop is in place and we're working to get a Fedora Remix for Fedora 34 which will have a regular image generated soon. There's a number of ways you can get involved and help out:

  • Packagers: There are so many interesting packages that are not yet packaged for Fedora. You can find a list of things we need to package on Fedora Mobility issue tracker. Or of course you can contribute by packaging them yourself.
  • Reviewers: People able to do package reviews can find a list of packages currently needing review in the Tracker Bug.
  • Testers: If you have a small device and use Fedora on it, file bugs and add them as a blocker for the Fedora Mobility Tracker Bug.
  • Bugs: Become a BugZapper and help us with Fedora Mobility related bugs.
  • Hardware Enablement: If you have the skills to work with low level early firmware, kernel and related components there's a need for assistance for device bring up, kernel development, debug and fixes to get support upstream and fix issues with hardware.
  • Software Develment: Fixes, features, mobile applications, improvement to existing Fedora applications to better run on phones and tablets.

Current Status

Fedora Mobility has a reasonable amount of mobile focused packages available in Fedora Rawhide. Packages groups include:

  • A functional touch desktop environment, phosh.
  • A compatible touchscreen keyboard, squeekboard.
  • A Calling application for making/receiving phone calls, Calls
  • Numerous other Fedora applications such as Calendar, Maps, Contacts etc

Fedora recently added support for building aarch64 FlatPaks so we'll be looking at what applications can be packaged as FlatPaks to make them easily consumable.

As of currently, some core packages are maintained in Copr. Work is done to get all patches upstreamed. You can find an overview of packages that use downstream patches (and what they patch) here.

Supported devices

The list of devices we're planning to initially support are as follows:

We will review other devices as opportunity and interest arises, if you're capable and interested in adding support for other devices do reach out or file a RFE in the Fedora Mobility issue tracker with details of how you can assist in adding support for the new device.

Reporting Bugs

We have a few different places to report bugs and request features:

Related Fedora projects

  • The ARM architecture project.


Where to get Images

As mentioned above, the effort is still quite early on and thus we have no official build infrastructure yet. Currently two different builds are maintained, see below for details.

Note that while both builds somewhat deviate in terms of features and goodies, both provide at least basic functionality.

Github

Builds on Github are released on an irregular basis. However, in the repository you will find a collection of shell scripts that will allow you to perform your own builds. These images are based on Rawhide Minimal and add various components needed to provide a decent user experience on mobile devices. As there is no strict documentation on what's included, it's best to consult the scripts.

Tagged and published releases have undergone at least some testing by the community. As the images are based on Rawhide you will receive updates very frequently, which may break things in unexpected ways. If you plan to daily-drive your phone via rawhide, reach out to us on any of our channels to get some valuable tips on the current state.

Nightlies

The builds on FTP are released and rebuilt every night (hence the "nightly"). These are currently based on Minimal images, and are built for both F34 and F35(Rawhide).

Due to the nature of the nightly builds, there is no guarantee about expected system stability. In general the F34 images should break less often as they are based on stable F34 branch, where the F35 (Rawhide) branch are more bleeding edge - you get lots more updates every day, and failures happens.

Roadmap to Fedora Spin

The group is currently working on getting an official Fedora Spin going. There is no strict schedule at the moment, as the situation is evolving dynamically. This section tracks the progress and what needs to be done towards this goal.


Official Kernel with Networking

The builds are currently reliant on a custom kernel built by megous that includes a variety of patches. The patches are slowly accepted by the upstream kernel devs, which is required for them to land in the official Fedora kernel.

The biggest missing part as of currently is a working WiFi/BT driver for the Realtek RTL8723CS chip in the Pinephone, as well as some bits regarding GPS in the ModemManager.


Phosh Environment DNF Group

Just like there are Package Groups for *Workstation*, *KDE* or *Development Tools* that pull in bundles of packages related to each other, a Package Group for Phosh is required.

Phosh is a Phone Shell developed by Purism. It is based on GNOME and currently provides the default desktop for all Mobility images based on Fedora. Phosh is required because the default GNOME doesn't work well on devices with form factors as small as Smartphones and isn't optimized for touch inputs.


Official Image Infrastructure

Images are currently generated by collections of shell scripts (see above). In order to become an official spin, the images must be generated with more official tooling. As it isn't intended for the user to boot a live .iso on the phone, Image Factory will be used to generate the PinePhone images.

Currently there is no Mobility-specific kickstart file to use with Image Factory yet.