Good afternoon,
A group of computer science undergraduates and I are interested in contributing to the usability of Fedora Linux on the Raspberry Pi 4.
I was a part of this group as an undergrad and we developed a compatibility layer for translating RPi.GPIO syntax into calls to libgpiod. It is currently available on PyPi and under review for inclusion in Fedora: https://github.com/underground-software/RPi.GPIO2 https://pypi.org/project/RPi.GPIO2/
The maintainer of the (broken) RPi.GPIO fedora package agreed to obsolete it in favor of our new package, which is a drop in replacement for RPi.GPIO (hence the 2), however I have not heard from him since September.
Anyway, we are looking for a new project or area of Fedora on the Raspberry Pi to improve over the upcoming semester. Does anyone have any suggestions?
Best, Joel Savitz
On Wed, Jan 13, 2021 at 04:42:54PM -0500, Joel Savitz wrote:
Anyway, we are looking for a new project or area of Fedora on the Raspberry Pi to improve over the upcoming semester. Does anyone have any suggestions?
Hi Joel! I'll let some of the ARM folks answer your specific question about where help is most useful. I just wanted to say welcome and thanks for the offer!
(Removing the google group from CC since I'm not a member.)
Hi,
Welcome!
On 1/13/21 3:42 PM, Joel Savitz wrote:
Good afternoon,
A group of computer science undergraduates and I are interested in contributing to the usability of Fedora Linux on the Raspberry Pi 4.
I was a part of this group as an undergrad and we developed a compatibility layer for translating RPi.GPIO syntax into calls to libgpiod. It is currently available on PyPi and under review for inclusion in Fedora: https://github.com/underground-software/RPi.GPIO2 https://pypi.org/project/RPi.GPIO2/
The maintainer of the (broken) RPi.GPIO fedora package agreed to obsolete it in favor of our new package, which is a drop in replacement for RPi.GPIO (hence the 2), however I have not heard from him since September.
Anyway, we are looking for a new project or area of Fedora on the Raspberry Pi to improve over the upcoming semester. Does anyone have any suggestions?
From my perspective, the main issues with the rpi4 and fedora surround low level firmware/driver problems. That is what keeps it from "just working" as expected with a standard fedora image.
As such you might want to take a look at: https://github.com/lategoodbye/rpi-zero/issues/43 which is the running conversation about upstream kernel features that need work.
On the firmware side you might look at https://github.com/pftf/RPI4/issues which is a mix of bugs and future features required to make the platform behave as expected.
There is probably a uboot related list too, but I don't know where it is. Peter can probably comment.
Finally besides Trusted Firmware, there is a project that seeks to replace the videocore firmware as well https://github.com/librerpi/rpi-open-firmware. If that happens it would remove another longstanding binary blob used to boot the platform.
There are of course others, but that should provide a few starting places.
Welcome again!
Hi Joel,
I've taken the group off as I'm not a member.
A group of computer science undergraduates and I are interested in contributing to the usability of Fedora Linux on the Raspberry Pi 4.
I was a part of this group as an undergrad and we developed a compatibility layer for translating RPi.GPIO syntax into calls to libgpiod. It is currently available on PyPi and under review for inclusion in Fedora: https://github.com/underground-software/RPi.GPIO2 https://pypi.org/project/RPi.GPIO2/
This is a great start but ultimately it needs to be integrated with the upstream RPi.GPIO project because there's literally 1000s of documents, blog posts, paper books that reference that so for it to be able to be used without having to update all of those having the support upstream in the original project is the only easy way without having to go and edit all of those docs.
The maintainer of the (broken) RPi.GPIO fedora package agreed to obsolete it in favor of our new package, which is a drop in replacement for RPi.GPIO (hence the 2), however I have not heard from him since September.
Have you had any engagement with upstream (not Fedora) maintainer of RPi.GPIO?
Anyway, we are looking for a new project or area of Fedora on the Raspberry Pi to improve over the upcoming semester. Does anyone have any suggestions?
I have a number of ideas how high/low end sort of projects are you interested in? Is kernel or other low level stuff of interest? Is there particular areas that the group is interested in?
Peter
Have you had any engagement with upstream (not Fedora) maintainer of RPi.GPIO?
As our project is a total rewrite of RPi.GPIO we have not yet interacted with the original upstream maintainer, but that's a good suggestion. I'll reach out to Ben Croston and see what he thinks of our project.
I have a number of ideas how high/low end sort of projects are you interested in? Is kernel or other low level stuff of interest? Is there particular areas that the group is interested in?
The group is interested in doing something low level such as kernel, but we are still trying to figure out an area of work with an appropriate scope. Do you have any recommendations for a low level area of improvement in which a group of students could reasonably make progress over the next 3-4 months?
Joel
On Mon, Jan 18, 2021 at 6:59 PM Joel Savitz joelsavitz@gmail.com wrote:
Have you had any engagement with upstream (not Fedora) maintainer of RPi.GPIO?
As our project is a total rewrite of RPi.GPIO we have not yet interacted with the original upstream maintainer, but that's a good suggestion. I'll reach out to Ben Croston and see what he thinks of our project.
I have a number of ideas how high/low end sort of projects are you interested in? Is kernel or other low level stuff of interest? Is there particular areas that the group is interested in?
The group is interested in doing something low level such as kernel, but we are still trying to figure out an area of work with an appropriate scope. Do you have any recommendations for a low level area of improvement in which a group of students could reasonably make progress over the next 3-4 months?
So it's going to take me a few days to reply, what I think I'll if that's OK do a theme per reply. Do you have a list of hardware you currently have available? HATs, sensors etc?
So it's going to take me a few days to reply, what I think I'll if that's OK do a theme per reply. Do you have a list of hardware you currently have available? HATs, sensors etc?
We have a couple of senseHATs, some lights, buttons, temperature sensors, and other odds and ends on hand, but are able to acquire additional peripherals for a project as needed.
On Wed, Jan 20, 2021 at 6:53 PM Joel Savitz joelsavitz@gmail.com wrote:
So it's going to take me a few days to reply, what I think I'll if that's OK do a theme per reply. Do you have a list of hardware you currently have available? HATs, sensors etc?
We have a couple of senseHATs, some lights, buttons, temperature sensors, and other odds and ends on hand, but are able to acquire additional peripherals for a project as needed.
So first set of ideas - Sense HAT related:
1) Upstream the display driver The downstream driver is referenced, to go upstream it would likely need to be a tinydrm style driver, there's a number of examples of those in drivers/gpu/drm/tiny/ https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/video/fbdev/rpi...
2) Upstream the joystick/input driver Similar to the display, there's a joystick https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/input/joystick/...
For both of the above there's a dependency on a MFD driver: https://github.com/raspberrypi/linux/blob/rpi-5.10.y/drivers/mfd/rpisense-co...
3) A simple python based weather station The sensors, when enabled using the overlay are available using the kernel IIO framework. There's a library libiio with python bindings so it would be cool to have a little mini weather station project, that could be used with other HATs that have the various environmental sensors. Options to display this data to a screen/leds such as those on the sense HAT or to send them out via MQTT would be cool too.