From Fedora Project Wiki

(Add a Roadmap)
 
(17 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Fedora Mobility =
''Some parts of this wiki may not be up to date. We are working on updating it.''


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].
'''We are looking for people to [[#Getting Involved|join the SIG]].'''


== Mission ==
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].


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.
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 irc.freenode.net on the second Monday of each month. See: [https://meetbot.fedoraproject.org/sresults/?group_id=fedora_mobility_sig&type=team]


== Communication ==
== Communication ==


We communicate in the usual [[Communicate| Fedora channels]].
We communicate in the usual [[Communicate| Fedora channels]].
* [irc://chat.freenode.net/#fedora-phone #fedora-phone] on Freenode - It's also bridged to [https://t.me/fedoraphone Telegram] and [https://matrix.to/#/#fedora-mobile:matrix.org Matrix]).
* [https://matrix.to/#/#mobility:fedoraproject.org Matrix] is the preferred channel currently.
* {{fpchat|#fedora-mobility}} on Libera.chat
* [https://t.me/fedoraphone Telegram]
* We use the arm mailing list [https://admin.fedoraproject.org/mailman/listinfo/arm subscribe to here].
* We use the arm mailing list [https://admin.fedoraproject.org/mailman/listinfo/arm subscribe to here].


== Getting Help and Getting Involved ==
There currently is no bridge set up between matrix and the other channels.
 
== Getting help ==
 
In case you are having trouble running Fedora on a mobile device. Join one of the communication channels to see if anyone can help.
 
== 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:
If you are interested in this SIG and want to help out, join one of the communication channels and express your interest. Some examples of ways you can 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.
* '''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].
* '''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].
Line 26: Line 30:
* '''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.
* '''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.
* '''Software Develment:''' Fixes, features, mobile applications, improvement to existing Fedora applications to better run on phones and tablets.
* '''Documentation:''' Keeping Wiki pages and documentation up to date.


== Current Status ==
There are no skill requirements to join the SIG, interest is the most important.


Fedora Mobility has a reasonable amount of mobile focused packages available in Fedora Rawhide. Packages groups include:
== Getting started ==
* A functional touch desktop environment, phosh.
* A compatible touchscreen keyboard, squeekboard.
* 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.
=== Supported devices ===
 
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:
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/PinePhone Pine64 Pinephone]
* [https://fedoraproject.org/wiki/Architectures/ARM/PinePhonePro Pine64 PinePhone Pro]
* [https://fedoraproject.org/wiki/Architectures/ARM/PineTab Pine64 Pinetab]
* [https://fedoraproject.org/wiki/Architectures/ARM/PineTab Pine64 Pinetab]
* [https://fedoraproject.org/wiki/Architectures/ARM/Librem5 Purism Librem 5]
* [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.
We will review other devices as opportunity and interest arises, if you are 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 ==
=== Where to get Images ===
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 ==
Nightly builds can be found on [ftp://pine.warpspeed.dk/nightly/pinephone FTP] which are released and rebuilt every night. These are currently based on Minimal images of (usually) the latest release of Fedora. Upon a new release of Fedora, it may take some time to get these changes into the nightly.


* The [[Architectures/ARM|ARM]] architecture project.
Due to the nature of the nightly builds, there is no guarantee about expected system stability.


There are images for both Phosh and Plasma-Mobile in the Nightlies repo.


= Where to get Images =
=== Current Status ===


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.
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, [https://source.puri.sm/Librem5/calls Calls]
* Numerous other Fedora applications such as Calendar, Maps, Contacts etc


Note that while both builds somewhat deviate in terms of features and ''goodies'', both provide at least basic functionality.
Plasma-Mobile is now also available for the PinePhone, with all Gear apps ported.


== [https://github.com/nikhiljha/pp-fedora-sdsetup Github] ==
Fedora recently added support for building aarch64 FlatPaks so we will be looking at what applications can be packaged as FlatPaks to make them easily consumable.


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.
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]].
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.
=== Reporting Bugs ===


== [ftp://pine.warpspeed.dk/nightly/pinephone FTP] ==
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].
 
== Desktop environments ==
 
Several option are available for mobile capable desktop environments. Phosh is the default environment for and most well supported. Plasma mobile images are also available on the FTP server. For Gnome-mobile-shell there is a copr repository included but is currently out dated.


The builds on [ftp://pine.warpspeed.dk/nightly/pinephone FTP] are released and rebuilt every night (hence the "nightly"). These are based on F34 Workstation images.
=== Phosh Environment DNF Group ===


Due to the nature of the nightly builds, there is no guarantee about expected system stability. In general these images should break less often as they are based on Fedora Workstation.
Just like there are [https://docs.fedoraproject.org/en-US/fedora/f40/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.


[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.


== Future plans ==


= Roadmap to Fedora Spin =
=== Roadmap to Fedora Spin ===


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.
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.


=== Official Kernel with Networking ===


== Official Kernel with Networking ==
The builds are currently reliant on a custom kernel built by [https://megous.com/git/linux/log/?h=pp-5.17 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 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.


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.
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.


 
=== Official Image Infrastructure ===
== Phosh Environment DNF Group ==
 
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.
 
[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.
 
 
== 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, [https://imgfac.org/ Image Factory] will be used to generate the PinePhone images.
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.
Line 103: Line 101:
Currently there is no Mobility-specific kickstart file to use with Image Factory yet.
Currently there is no Mobility-specific kickstart file to use with Image Factory yet.


== Repositories ==


Available code is being worked on and linked to on [https://gitlab.com/fedora/sigs/mobility/ Fedora Mobility Special Interest Group Gitlab].


== Related Fedora projects ==


* The [[Architectures/ARM|ARM]] architecture project.


== Members ==


* Leigh Griffin - @lgriffin
* Eric Curtin - @ecurtin
* Justin - @Justinzobel
* Kevin Fenzi - @nirik
* Markus Rathgeb - @maggu2810
* Niko - @nikodunk
* Tor - @Torbuntu
* alho2 - @alho2
* Tomi Lähteenmäki - @lihis


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

Latest revision as of 12:30, 1 May 2024

Some parts of this wiki may not be up to date. We are working on updating it.

We are looking for people to join the SIG.

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.

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.

Communication

We communicate in the usual Fedora channels.

There currently is no bridge set up between matrix and the other channels.

Getting help

In case you are having trouble running Fedora on a mobile device. Join one of the communication channels to see if anyone can help.

Getting Involved

If you are interested in this SIG and want to help out, join one of the communication channels and express your interest. Some examples of ways you can 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.
  • Documentation: Keeping Wiki pages and documentation up to date.

There are no skill requirements to join the SIG, interest is the most important.

Getting started

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 are 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.

Where to get Images

Nightly builds can be found on FTP which are released and rebuilt every night. These are currently based on Minimal images of (usually) the latest release of Fedora. Upon a new release of Fedora, it may take some time to get these changes into the nightly.

Due to the nature of the nightly builds, there is no guarantee about expected system stability.

There are images for both Phosh and Plasma-Mobile in the Nightlies repo.

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

Plasma-Mobile is now also available for the PinePhone, with all Gear apps ported.

Fedora recently added support for building aarch64 FlatPaks so we will 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.

Reporting Bugs

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

Desktop environments

Several option are available for mobile capable desktop environments. Phosh is the default environment for and most well supported. Plasma mobile images are also available on the FTP server. For Gnome-mobile-shell there is a copr repository included but is currently out dated.

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.

Future plans

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.

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.

Repositories

Available code is being worked on and linked to on Fedora Mobility Special Interest Group Gitlab.

Related Fedora projects

  • The ARM architecture project.

Members

  • Leigh Griffin - @lgriffin
  • Eric Curtin - @ecurtin
  • Justin - @Justinzobel
  • Kevin Fenzi - @nirik
  • Markus Rathgeb - @maggu2810
  • Niko - @nikodunk
  • Tor - @Torbuntu
  • alho2 - @alho2
  • Tomi Lähteenmäki - @lihis