Prototypes available in October 2021

15.07.2021 An evening on the theme of POWER & PowerPC

In less than 3 days, Roberto Innocenti, president of the PowerProgressCommunity, will speak at the Open Source Specialist Group’s July Virtual Event on the POWER ISA and PowerPC based hardware, discussing details of our project. The talk will be co-hosted by Ganesan Narayanasamy, one of the leading figures in OpenPOWER and IBM researcher, and by Arjun Nag, who will comment on the concept of Silicon Tape out using OpenPOWER cores.

The event is scheduled to take place between 6:30pm and 9:00pm, CEDT, on the 15th of July. No registration is required. You can join the event using this link.

For more information, please consult the event web page.

It’s time to vote on the name of our motherboard!

We’ve reached 259 and more votes ( 12-07-2021) out of our target of 1000. Your contribution to the future of open computing is very important! Let your friends know and join our warm and welcoming community. Everyone can contribute to our multidisciplinary teams.

Vote the best names for our PowerPC Notebook motherboard
877 votes · 1018 answers

For more information on the origin of the current candidates, go to our previous post.

Prototypes available in October 2021

Thanks to 72 donors we just reached 64% of the current donation campaign for the prototypes that corresponds to about 8000 euros, and we still have to collect 4500 euros to reach the final goal of 12500 euros.

ACube Systems have selected the assembly line for the production of the prototypes.

We have more than 2000 electronic components in our motherboard, and due to the current global shortages of electronic components it was quite a difficult task to order all of them so that they could be delivered in time for production of the prototypes that is fixed for October 2021. After  tireless work of the guys at ACube the 98% of the components is now secured and will be delivered on time. The hunting is still ongoing for the remaining forty components left, and finding them is crucial not to miss the October deadline.

Design new Heatsink pipes

We have started to address the design and production of the new modified heatsink pipes which are different from the original pipes provided with the Slimbook Eclipse. A proper passive heat exchanger is vital as our PowerPC Motherboard is mounting an MXM video card that is quite different in shape from the original x86 motherboard that had the video chips mounted directly on the board.

Three AMD MXM-A video card needed for prototypes

We are still investigating how we could collect the additional funding required to pay for three MXM-A 3.0 type A (82 mm x 70 mm) that have a maximum power consumption of 55W. These video cards are fundamentals and we must get them by October as we must carry out the mechanical tests to check to find out that they properly fit inside the prototypes.

FabMaster PCB export for Kicad

As suggested by the guys at KiCad, we requested the PCB Designer to export the PCB design from the native Mentor Expedition format to the FabMaster format, as such a format should be supported natively by KiCad.

This is an alternative approach with respect to the previous process we followed to generate the KiCad files that we published in our repository, a process that consisted in a double passage conversion, first loading and exporting the files in Altium, and then loading and exporting them using Kicad. 

In fact, KiCad has an importer module dedicated to FabMaster meant for the board only, and the result of this module is quite important as it should be useful to analyze and check the level of the import accuracy and reliability of the Altium importer module. We are being told by the KiCad developers that the result produced by the Altium import module should generate better results with respect to the FabMaster importer as it is a more recently developed component.

The PCB Designer is currently carefully checking the FabMaster export generated by Mentor Expedition and as soon as he provides us this format, we will publish it and then proceed to import it in Kicad and publish the final result in our repository.

PCB Dummy board for exposition

We produced three dummy versions of the PCB motherboard in order to perform an extensive check of the PCB design. These boards were fundamental as they allowed us to identify a few minor issues that are now solved and were related to the positions of the holes in the PCB used for the screws for attaching the board on the chassis. Now that all mechanical aspects are solved, we asked to get one of these PCB dummy boards so that we can show it on various occasions, hopefully during a physical event, if the pandemic gives us a break.

Are you willing to help?

Being part of a challenging project like this one for building an open hardware motherboard for a laptop is an amazing experience, you understand the underlying complexity of every step, you will meet new people, volunteers from other projects, and discover how much passion people working in companies devoted to open source ar putting in the effort, and everyone involved is willing to help to progress the work. You may consider joining too and contribute your actual skills and may focus on those activities that interest you the most.

The Best PowerPC distros in 2021

Diego Asturias, from pcwdld.com, posted an article on the best Linux distros for the PowerPC, covering everything from old Debian releases to MintPPC and Fienix, and bits and pieces of history. The list is very extensive and will surely help you keep your old (and new, for the lucky ones) PowerPC workstations and laptops productive and useful until our laptop is out.

Check also the linked interview with Casey Cullen, the developer of Fienix and a very active supporter of our community.

Troubleshooting QEMU on Book3e e6500

Nowadays virtualization is key in multiple activities both in a development and a production working and hobbyist environment. QEMU is one of the most widely adopted tools when it comes to emulating a completely different architecture, and moreover, it does support the PowerPC architecture.

We wanted to test QEMU in order to recreate a system having precisely the same CPU as the one selected for our PowerPC notebook, the NXP T2080.

Before diving on the issues we encountered with QEMU, we should first explain that the PowerPC architecture is subdivided in two families: Book3s, where the “s” stands for “server”, and Book3e, where the “e” stands for “embedded”. IBM and Freescale (now NXP) made their own lines of Book3s and Book3e chips, but each company introduced some peculiar characteristics, so our CPU falls in the Freescale branch of the Book3e implementation.

To make things even more complicated, each company built multiple generations of these chips, and introduced new features in each new generation. As a reference, Apple used in all of their PowerPC line of computers Book3s CPUs only, whereas Book3e were mostly used by embedded manufacturers, as these CPUS were especially good for networking and avionics appliances. Despite Book3e being meant for the embedded market, some personal computers ended up on the market based on these CPUs and some of the computers are still made today and you can actually buy these systems now. There are two companies making these computers, A-Eon that sells the AmigaOne X5000 which is based on the Cyrus+ motherboard mounting the NXP P5020, and the other company is ACube Systems that sells the AmigaOne 500, a system based on the Sam460ex motherboard mounting the AMCC 460ex.

The NXP T2080 contains the last and most advanced Book3e core ever designed by Freescale, a 64bit CPU based on the Power ISA v.2.07 specifications. The core was named “e6500” by Freescale and with respect to the previous generation named “e5500”, it introduced the multithread, so that each physical core corresponds to two logical cores, and re-introduced Altivec, a single-precision floating point and integer SIMD instruction, that was lacking in their previous generations.

A clear overview of all PowerPC families and their corresponding cores variants is available at https://www.kernel.org/doc/html/latest/powerpc/cpu_families.html

The latest available QEMU version is 6.0 and it does support the emulation of the Book3e CPU family, named “ppce500 platform” in the documentation, and it does support e6500 cores as well.

To test QEMU we compiled a recent Linux kernel (5.12.10) that works just fine on a real computer based on the NXP T2080RDB that we use for testing this platform (https://www.powerprogress.org/en/diy/t2080rdb-desktop-user-guide/). The kernel is available here (https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic_kernels.zip).

As the T2080 has 4 of these e6500 multithreaded cores, there is a total number of 8 logical cores, so to create a similar configuration using QEMU with 1GB of RAM, no graphical output and the provided already compiled kernel we launched QEMU with the following command

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -nographic -kernel book3e_e6500_kernel_5.12.10

Up to this point the emulation seems OK and it works as expected.

Unfortunately it all ends here, because once you enable a graphical output and try to mount a real linux partition, QEMU suddenly crashes.

In the example below we use the 64bit ISO provided by Debian found at https://cdimage.debian.org/cdimage/ports/10.0/ppc64/iso-cd/

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -device VGA -serial stdio -kernel book3e_e6500_kernel_5.12.10 -append "root=/dev/vda1" -drive file=debian-10.0-ppc64-NETINST-1.iso,media=cdrom,if=virtio

For those of you that want to try launching an hdd image with Debian already installed, first download the qcow2 hdd image file (1.2GB) from https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic.qcow2 and then the kernel from https://repo.powerprogress.org/t2080rdb/hdd_debian_sid_ppc64_basic_kernels.zip then launch QEMU with

qemu-system-ppc64 -M ppce500 -cpu e6500 -smp cores=4,threads=8,sockets=1 -m 1G -device VGA -serial stdio -kernel book3e_e6500_kernel_5.12.10 -append "root=/dev/vda1" -drive file=hdd_debian_sid_ppc64_basic.qcow2,media=disk,if=virtio

QEMU doesn’t go very far, and is unable to end up with a usable system.

In order to investigate if the situation could be solved we submitted the problem to the QEMU-PowerPC development mailing list, and thanks to the kind support of Zoltan BALATON (https://lists.gnu.org/archive/html/qemu-ppc/2021-06/msg00222.html) we did had an answer explaining the problems that must be solved and that someone has to implement in QEMU.

Thanks to other contributors to that mailing list the issues were later on more investigated. Sadly there is no company left actively (financially) supporting programmers developing and fixing software for these PowerPC CPUs, so we are in the hands of volunteers that kindly spend their spare time to support the platform, very much like what we actually do with the hardware parts.

In addition, we explored the possibility to enable KVM emulation on a real e6500 CPU using our NXP T2080RDB, as this could lead to a nearly native emulation speed. Sadly, once QEMU is launched in KVM mode, it ends up hanging and eating up all CPU in an endless loop of kernel exceptions, making the entire system unresponsive, and forcing the user to physically reset the system. After contacting the QEMU PowerC mailing list again, we were told that such a behaviour comes as no surprise, as KVM on Book3e is poorly and only partially implemented (source Zoltan BALATON). Luckily enough, after posting this other issue on the QEMU PowerPC development mailing list (https://lists.gnu.org/archive/html/qemu-ppc/2021-07/msg00012.html) Fabiano Rosas answered trying to explain what could be wrong in QEMU, and offered to post on the KVM PowerPC development list (https://www.spinics.net/lists/kvm-ppc/) the issue.

We really hope that a viable solution enabling both full emulation (slow) and KVM emulation (much faster) could be found soon, so please, if you are able to provide some help on the matter do not hesitate contributing to the above mentioned mailing list.

Dummy board being finalized

It is with great joy that we present you the first tangible result after years of spending time on planning, ideas, projects and schematics. Below you see pictures of the dummy board, a non-working prototype that was printed with a two-layers PCB that was paid thanks to the ongoing donation campaign.

Top side of the dummy board.
Bottom side of the dummy board.

The primary use of this dummy board is to perform mechanical checks in conjunction with the Slimbook notebook chassis. The board is not finished yet, the PCB designer still has to mount additional mechanical components such as connectors to ensure the final working prototypes will fit perfectly in the Slimbook Eclipse chassis.

The PCB designer in charge of the job is carefully working to fine tune the gerber design files and already adjusted some minor details, proving that a preliminary dummy board was very much needed.

We would like to thank Gerard Schneider that kindly offered us a ATI Radeon 7970 MXM card, it will surely help us testing the working prototypes that will be produced later on. We welcome anybody else willing to send us other Radeon MXM cards that may lay unused in a corner, we would like to start as soon as possible to test various GPUs in the upcoming working hardware.
[UPDATE 2021-04-22] Unfortunately our notebook board is set to work exclusively with MXM-A 3.0 (type A) with a size of 82mm x 70 mm and with a maximum power consumption of 55W, whereas the MXM card provided by that Gerard Schneider is an MXM-B (type B) with a size of 82mm x 105mm and a maximum power of 200W. Thank you anyway Gerard, your card will be useful to check and eventually fix the video drivers but it will not be used inside the prototypes.

ATI Radeon 7970 MXM card.

Even if it is “just” a dummy board, this is a great milestone, and we are really happy about it because we can finally touch something with our hands. We would like to thank all the people that made it possible to reach this point, and we really hope that the donation campaign financing the final prototypes will speed up because now we all want to see more!!

Are you willing to help?

Being part of a project like this could be an amazing experience, you meet new people, volunteers of other projects, companies devoted to open source and everyone is willing to help. We are continuously giving examples of this in our blog posts but, in the last weeks, we are especially grateful about the support received from KiCad developers and Slimbook.

Two additional enclosures for our prototypes.

Slimbook is a company making a huge effort in promoting an Open Source environment. They produce notebooks, mini-PCs and desktop computers targeting mainly Linux users. As an example of their commitment to the open source community, they have a very have a good relationship with the KDE project and together they collaborate on the creation of laptops meant to use primarily KDE. Despite being a small company, they are having success selling their products worldwide and these are very appreciated by the Linux community.
As you may know, we started our collaboration with Slimbook more than two years ago and they have been always quite helpful promptly responding to our requests and providing information about the enclosure design or the related components that will be also used in our notebook (screen, keyboard, dissipation devices, etc.). All their support and time was kindly offered for free. Besides that support, we have received two Slimbook Eclipse enclosures to continue our tests. This will make possible to assemble three prototypes of our PPC Notebook. Again, they did it for free. We have no words.

A Slimbook Eclipse enclosure kindly donated by Slimbook.

Export our PCB to KiCad, a difficult journey

At the very beginning of this adventure, we were trying to find hardware experts to design the motherboard but the level of expertise required for such type of hardware made this challenge unachievable for us. Of course, we have experts on that field but the complexity of this design demands quite a lot of time, impossible to carry out solely using the volunteers spare time. So we opted to look for a company experienced in motherboard design and even more difficult, a company that was experienced with the PowerPC architecture.

We were lucky enough to meet ACube Systems and its circle of collaborators. However, as most for-profit companies do, the ACube System subcontractor company had its own proprietary software tools which generates file encoded using non-open outputs formats. In our case we end up with files created using Mentor Xpedition, a software that cannot exporting to KiCad. To convert our Mentor Xpedition source files we were told to import them into Altium, and import the converted Altium files into KiCad.

Unfortunately, the KiCad importer for Altium files is still heavily under development, and it is far from being complete. We contacted the KiCad developers and they kindly accepted to perform some testing with our Altium PCB files and that helped spotting various errors in the conversion procedure. These error were identified by the developer in charge of the Altium import module for KiCad and he is currently addressing the encountered issues. Regarding the BOM (Bill Of Materials) the guys at KiCad recommended to import the Altium schematics to KiCad, and generate the BOM from there.

Obtaining an open source format for publishing our motherboard PCB is very important for us, as it allow anyone to easily access the result of our efforts to deliver a truly and fully compliant Open Hardware design.

After a few attempts, the guys at KiCad suggested another option: instead of converting the original Mentor Xpedition files to Altium, they suggested to load them using FabMaster. In fact, KiCad has another importer dedicated to FabMaster (for the board only) and the result of this import module should be useful to understand the level of accuracy of the Altium importer. In theory, the Altium import should produce better results with respects to the FabMaster importer as it is a newer. We are currently investigating if we can follow this path, as it seems to require a full Xpedition license, therefore we are in the process of contacting the subcontractor engineer to explore this solution.

An AmigaOS4 AHI driver for our sound chipset

Our notebook motherboard is open to any operating system supporting PowerPC. Among the operating system that could possibly work, there is AmigaOS 4, a closed-source system that already works on the E-AON AmigaOne X5000 that mount either a NXP P5020 or a P5040, which are both PowerPC Book3e e5500 CPUs. These CPUs can be considered the previous generation CPUs with respect to our T2080 (PowerPC Book3e e6500), one of the main differences is that they lack the Altivec unit, which the T2080 has.

On the April 1st the Dutch developer H. Kanning (nickname “geen_naam”) announced the availability of an AHI sound driver supporting HD Audio compliant chips, and explicitly supporting the C-MEDIA C8828 that we selected for our motherboard. At first we though it was an April fool, but then it was confirmed to actually exists and work, meaning that another operating system is one step closer to being supported. Great job!

Another success: PCB completely financed! It’s time for the prototypes campaign!

Thanks to the kind contribution of the donors, we just reached the goal of the campaign for financing Phase 1B “Fast simulation bus”.

The PCB (Printed Circuit Board) design is currently being finalized, as soon as we have reviewed it, we will publish it in our GitLab repository. This last phase was of fundamental importance as we could test the correctness of the design, paving the way for the next campaign.

We got through the hardest parts with regards to the Research and Development choices. We past the uncertain ground with its many open challenges and many solutions have been explored. We also past the economical goal of previous campaigns that were quite heavy, and thanks to many people we have managed to get this far, again, thank you all!

We are now ready to launch Phase 2 “Production and delivery of five working prototypes” with a goal of 10500 Euros (around 12720 USD).

  1. Slimbook Eclipse Notebook

    Donation Campaign for Production of three working Prototypes

    €10,706.00 donated of €12,500.00 goal

Our target is to complete this new campaign by Spring 2021, and we are working again with the patient guys at ACube Systems that will assist us in making the five prototypes.

printed circuit check

These prototypes will be very important as they will be used to

  • put the PCB design to the test
  • learn how to correctly initialize the hardware
  • fine-tune the configuration of U-Boot
  • fit the motherboard in the Eclipse Slimbook body

So far, we worked with U-Boot on the NXP T2080 RDB Devkit but that is quite different to our motherboard, which is quite more complex. We have to fine-tune U-Boot directly on the final hardware, and the prototypes will be essential for this. In addition, work on U-Uoot is still required even with the Devkit in order to correctly set up the framebuffer. Right now we can access the U-Boot console in serial mode only. ACube Systems will assist us on this task.

The motherboard is designed (screw and ports positions) to fit inside the Eclipse Notebook body that the prototypes should be mounted on.

Moreover, we need to redesign the dissipation heat pipes that will be slightly different from what was originally in place for the Eclipse Notebook.

Maybe some of you didn’t even think it was possible but we are progressing. The journey is still not finished. We need you to tell about this project all around you as we need more interested people, more donations.

2021 is our year! Let’s make this project a reality!

PCB Design nearly complete, preparing for the next campaign aimed at working prototypes

The campaign aimed at the “Fast simulations bus” is nearly complete, and we will receive the resulting PCB design before the end of 2020. As soon as we have reviewed it, we will publish it in our GitLab repository. Here a screenshot with the PCB design currently being finalized.

our PowerPC Notebook Motherboard design screenshot from Mentor Xpedition

Similarly to what we did for the current campaign, the next donation campaign for financing the “Production of five working prototypes” will start as soon as the current campaign will reach its end. In coordination with ACube Systems, we fixed the cost of the five prototypes to 10.500 euros, and we aim at delivering them during late Spring 2021.

Freedesktop-sdk for PPC64 Big Endian Compiled!

We have patched freedeskop-sdk to compile perfectly on PPC64 so now we are preparing, according with Freedesktop-sdk teams, the merge requests to send to the mainline repository.

So we have successfully compiled 432 packages that it involves even the last version of go lang.

We thanks OSU Open Source Lab and OpenPower Foundation to provide us a Power9 VM with 8 cores and 16GB of RAM that permit us to compile Freedesktop-sdk for PPC64.

Now thanks to [email protected] we have a Power8 VM to recompile freedesktop-sdk for PPC64 in Continuous Integration for gitlab freedesktop-sdk pipeline.

As Flatpak binary is running on Debian 10 PPC64 Big Endian and need the Freedesktop-dsk layer to prepare the flatpak packages starting from hundreds of manifests, now we are a step closer to see flatpak packages prepared for PPC64 .