Fedora 24 on MacBook Pro 11,4 and 11,5 – suspend and brightness fix

I have a great news for those of you with a MacBook Pro 15″ 2015 (MacBook 11,4 and 11,5)!

As you might have noticed, when running Linux on this machine, it can’t be suspended, shut down, and you can’t even control brightness of the display. These issues have been reported a while ago, and yes, there are some patches, but they didn’t make it to the production code.

Suspend and shutdown: https://bugzilla.kernel.org/show_bug.cgi?id=103211#c172
Brightness: https://bugzilla.kernel.org/show_bug.cgi?id=105051#c32

So I took those patches, applied them to the kernel in Fedora and built it in my Copr project.

How to make it running on your machine? First, download and install Fedora 24. Then you just need to enable my Copr project and install the patched kernel:

$ sudo dnf copr enable asamalik/MacBook-kernel
$ sudo dnf install kernel-4.6.6-300.AdamsMacBookSleepBrightness.fc24

Reboot your machine with the patched kernel, and that’s it!

I will try to keep the repo updated, so you will be able to update kernel as usual.

Roles of PDC and BPO in Modularity – please give me feedback

There has been some confusion about the roles of PDC and BPO in Modularity as the roles might seem overlapping. This document will briefly explain the roles of both services and highlight the main differences.

Long story short:

  • PDC is a database that stores module metadata and dependency graphs
  • BPO is a web UI to display module build state and probably to browse some metadata

Main overlaps:

  • BPO has its own database. However, the database acts as a cache only to make the UI fast. All the data can be lost and recovered from other services such as Orchestrator and PDC.
  • PDC has its own web UI. However, browsing and displaying modules has not been implemented. And even if it was, PDC does not/should not store data such as build state.

From my understanding, this design has been already valid on the Modularity Infra wiki page: https://fedoraproject.org/wiki/Modularity/Architecture/Infra?rd=Modularity/Infra

PDC – Product Definition Centre

PDC is the primary database for module metadata such as:

  • Name, stream, release – or however are these going to be called
  • Dependencies and components
  • Koji tags
  • Maybe information such as SLA?

It provides a REST API to access and manipulate this data.

A part of PDC is also a web UI that will not be used in Modularity.

BPO – Build Pipeline Overview

BPO is a single web UI that will watch over the whole pipeline. Its primary function is to show the build state of each module.

Users will be also able to browse module metadata such as:

  • Dependencies
  • Components
  • Install profiles

BPO uses its own database as a cache only to make the UI faster. The database:

  • Will be updated by fedmsg and also queries of other services as reactions to some messages.
  • Can be deleted and recovered from other services.

Flock 2016

Last week, I visited the Flock 2016 conference in the beautiful city of Krakow. And it was brilliant!

If you asked me about three most important things I took from the conference, I would probably tell you the following:

First: I met a lot of interesting people. And I think this is the most important thing about any conference. I finally had a chance to meet people I knew before over email and irc (or at least knew they exist) and had a chance to talk to them personally. From my experience, it was always much easier to work remotely with someone I know or at least met before for a while. It makes conversations much more comfortable, especially over IRC where you can’t express or see emotions of the other side. I would love to do this more often! 🙂

Second: I talked to many people and a lot of them were not from Red Hat! Also, during the keynote on Tuesday morning we saw some statistics including a chart showing that less than 1/3 of contributors to Fedora are Red Hatters. Fedora is a true open source project!

Third: The Modularity project I currently work on seems accepted by people. I didn’t hear anyone to say “no” and people seemed very interested in the topic. Both talk and workshop had full rooms, and there were a lot of questions asked. BTW, there is a demo on YouTube showing how Modularity looks from the user perspective.

Finally, big thanks to the the people who organized the event! You did a really great job. Everything just worked and it was a very nice experience!