[Wiki] How to contribute to Manjaro ARM

This is awesome. Thanks @Strit.

However, thinking in terms of packages, this guidance mostly seems to relate to ‘helping me to help me’, rather than ‘helping me to contribute to Manjaro’. It would be good if you could include some stuff relating to what influences the decision making process at Manjaro ARM for things like adopting a new PKGBUILD, e.g. licensing, whether or not it matters if the PKGBUILD rebundles binaries (such as those suffixed by -bin in the AUR or must start from the package source, etc. Some PKGBUILDs might be dead on arrival for one or other reasons. In such circumstances, it might be good to point people to alternatives in the event that their package can’t be hosted on the Manjaro repos, such as Arch guidance on how to upload a PKGBUILD to the AUR.

1 Like

Regarding packages that get into the repo, it’s up to the Manjaro ARM maintainer if he wants to maintain it.
It requires a license that allows us to redistribute it, ofcourse, but in general it depends if a team member wants to maintain the package and maybe even use it in one of the edition he/she maintains.

Uploading packages to AUR, is not directly contributing to Manjaro ARM, but rather to Arch Linux eco-system in general and thus does not belong in a guide on how to contribute to us.

So, say hypothetically that I’d created a PKGBUILD that works on Manjaro ARM that I’d like to be considered for hosting in the Manjaro ARM repos (which actually happens to be the case). What do I do next? Also, who would be the “Manjaro ARM maintainer” in this context; me or one of the Manjaro ARM team, i.e. one of the Manjaro ARM team adopt it, or do I maintain it in a git repo, which the Manjaro ARM team fork?

I’m good with the building the package bit. I just don’t know what the next steps are. Currently, I don’t know what the process is to ask someone about hosting a package in here.

It would be one of our team members.
The team member would copy and maintain the PKGBUILD in our gitlab.

Thanks! my pine phone came two days ago, and I will be looking into exactly what you have posted, I just need to get some bug reporting done first.

My pine phone worked with only a few glitches the fist day, so I downloaded updates the second day and now almost every app is crashing and I get lots of black screen with a blinking cursor in the upper right I am still trying to learn “the way of the Linux”. Since there are not any stack traces or dumps as far as i can see I may need to take debugging to a deeper level just to report where and what bugs are going on.

Thanks again!

Hello and welcome to the forum,

You should post issues here

Hey, so I’m considering buying the Pro¹ X from F(x)tec, but I first wanted to get an idea of if it’s possible to install Manjaro ARM with Phosh on the device. Also, if it is, is it possible to make a bootable micro SD card?

If none of this is presently possible where can I start to contribute? I know next to nothing at the moment.

As far as I know, the device does not have mainline linux support or uboot support.

1 Like

Currently we have been testing ways to boot Manjaro arm on Android devices over halium so far we were able to boot but no gui is available atm as we need hwcomposer which will take time.

It will work but it is a slow process as we dont have enough resource and time for testing and development.

I would love to recieve sample devices first as currently someone from halium team is helping test on his test device.

Thanks for asking.

1 Like

Sadly, the best I have that I could afford to part with is a sentimental, cracked S8 that would cost about as much to repair as a refurbished one would cost.

I would definitely reach out to F(x)tec to see about getting a sample device, if you think it would help development for their device. I imagine that having some help on supporting a popular Distro like Manjaro would be something that they’d be interested in, since they seem to be leaning into the community and Linux angles of their phone with the newest revision.

Sure if you have any contacts there then do talk to them.

Yes that’s true.

Let me know if you get any response from them.

Good luck.

Does the recent news of Plasma-Mobile dropping halium support affect this?

https://www.phoronix.com/scan.php?page=news_item&px=Plasma-Mobile-Drops-Halium&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Phoronix+(Phoronix)

No.

We don’t use halium yet but it is being tested for Android devices.
Maybe we can get lomiri to work with halium.

Could these packages below be added to the ARM repo as these are in the x64 gnome profile and are architecture independent as far as I can determine.

manjaro-gnome-assets 
manjaro-gdm-theme
manjaro-gnome-extension-settings
manjaro-gnome-postinstall    
manjaro-gnome-settings

We don’t do profiles the same way as x86 does. :slight_smile:

They also probably has other dependencies that do not exist on ARM.

I’ve checked the dependencies, they all seem to be present in the ARM repo and according to the .BUILDINFO the above packages have pkgarch = any and seem to set some variables and setups that are present in the official Gnome edition.

Is there a way to manualy add them so I could test run this?

I’ve also found these two: gnome-layout-switcher & manjaro-gnome-tour are specific for X64, and can not be added, and I seem to recall a post from a team member about not building these for ARM.

These are built by x86 maintainer and we do not have their signature in arm keyring.
These will have to be maintained by someone for arm side and as gnome is very sluggish on arm devices due to no proper gpu support while gtk still making using of cpu is most cases and arm soc are not that powerful to handle such heavy load on cpu. Some reasons why we don’t take interest in gnome yet.

Yes download them manually from the x86 repo and then install it using
sudo pacman -U PKGNAMES
It will install it only if the pkgarch=any for all the pkgs and when all their deps are available in the arm repo.

Try this and let us know.

Good Luck.

1 Like

The theme for GDM is applied correctly :slight_smile: that makes me happy. some succes today!

Summary
$ sudo pacman -U manjaro-gdm-theme-20201005-1-any.pkg.tar.zst 
loading packages...
resolving dependencies...
looking for conflicting packages...
Packages (1) manjaro-gdm-theme-20201005-1
Total Installed Size:  0.93 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) installing manjaro-gdm-theme                 [######################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Manjaro GDM theme install

manjaro-gnome-assets : dependency issues that cannot be solved by me tonight and i’m not that commited.

Summary
$ sudo pacman -U manjaro-gnome-assets-20201017-1-any.pkg.tar.zst 
loading packages...
resolving dependencies...
warning: cannot resolve "manjaro-gnome-settings", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "manjaro-gnome-extension-settings", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-arcmenu", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-dash-to-dock", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-appindicator", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-dash-to-panel", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-pop-shell", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-material-shell", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-gsconnect", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-desktop-icons-ng", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-unite", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-shell-extension-gamemode", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "gnome-wallpapers", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "manjaro-base-skel", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "qgnomeplatform", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "illyria-wallpaper", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "manjaro-wallpapers-18.0", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "manjaro-gdm-branding", a dependency of "manjaro-gnome-assets"
warning: cannot resolve "nerd-fonts-noto-sans-mono", a dependency of "manjaro-gnome-assets"
:: The following package cannot be upgraded due to unresolvable dependencies:
      manjaro-gnome-assets

:: Do you want to skip the above package for this upgrade? [y/N] n

Manjaro-gnome-extention-settings has no extention files to edit since they are not installed.

Summary
$ sudo pacman -U manjaro-gnome-extension-settings-20201121-1-any.pkg.tar.zst 
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) manjaro-gnome-extension-settings-20201121-1

Total Installed Size:  0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                      [##########################################################] 100%
(1/1) checking package integrity                                                                    [##########################################################] 100%
(1/1) loading package files                                                                         [##########################################################] 100%
(1/1) checking for file conflicts                                                                   [##########################################################] 100%
(1/1) checking available disk space                                                                 [##########################################################] 100%
:: Processing package changes...
(1/1) installing manjaro-gnome-extension-settings                                                   [##########################################################] 100%
Optional dependencies for manjaro-gnome-extension-settings
    manjaro-gnome-settings-20.2
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Compiling Community GSettings XML schema files...
No schema files found: doing nothing.
No schema files found: doing nothing.
No schema files found: doing nothing.

manjaro-gnome- postinstall wil regenerate all locales, killed the install, will try on fresh image tomorow

manjaro-gnome-settings has a file conflict.

Summary
$ sudo pacman -U manjaro-gnome-settings-20201121-1-any.pkg.tar.zst 
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) manjaro-gnome-settings-20201121-1

Total Installed Size:  0.04 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                      [##########################################################] 100%
(1/1) checking package integrity                                                                    [##########################################################] 100%
(1/1) loading package files                                                                         [##########################################################] 100%
(1/1) checking for file conflicts                                                                   [##########################################################] 100%
error: failed to commit transaction (conflicting files)
manjaro-gnome-settings: /etc/skel/.config/mimeapps.list exists in filesystem
Errors occurred, no packages were upgraded.

I’m learning alot about making a working image, thank you for the tips, the tools and patience answering my questions, where would I start to read when i want to know more about profiles, overlay, skel directories and how it all ties together? I’ve been looking at the wiki and assumed the process was roughly similar

Gnome does seem slowish, but running from a sd card. once I am happy enough with my settings (and unable to further adjust because I lack the knowledge/time) I’ll run with it and see how it goes. So far I’m enjoying myself immensely with this :slight_smile:

2 Likes

People don’t give sd cards enough credit. Sure, they top out in the 45MB/s range for unbuffered read/write on my RPI4, but their 4k random read speed is upwards of 10+ TIMES the speed of a HDD’s assuming you got a good card. The random read speed is what really affects the feel of a system. Combine that with the fact that you can do cached writes and re-reads of common files in the GB/s range until you fill buffers, and you’ve got a pretty darn good experience. Don’t do 4k video editing on them, sure, or run large databases, or a file server and expect speeds faster than the sd card can read, but for just an OS, web browser, all that jazz, the SD card isn’t slowing you down most likely.

Gnome is just… SLOW on arm. It’s GPU intensive, demands composition, and isn’t light weight compared to plasma and most of the other environments. That’s not to say it’s a fat pig, but arm in the SBC SoC ream is really good at showing you which pig is indeed larger :wink:

1 Like