helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.3k stars 57 forks source link

Consider doing an ARM64 build as well #190

Open bmentink opened 3 years ago

bmentink commented 3 years ago

More and more computers are going to arm64, including Macos M1, Windows, single board computers like RaspberryPi 4 etc

The linux arm64 kernel already has support for Macos M1, so it won't be too long before Linux is able to run on that hardware. I would love to see, in the long term, hellosystem running on the M1, but at the moment I would be happy to have a play with hello on the Raspberry Pi 4, oron my Rock64 board.

I have seen the build instructions for the Pi 4, so I could manually do it, but it means a lot of work to upgrade .. how hard is it to add build for arm64 to the build script?

probonopd commented 3 years ago

Once https://github.com/cirruslabs/ supports it. Maybe @fkorotkov knows?

fkorotkov commented 3 years ago

Expect some news in the next couple of weeks 😉

bmentink commented 3 years ago

Cool 😎😎

On Tue, 6 Jul 2021, 11:24 am Fedor Korotkov, @.***> wrote:

Expect some news in the next couple of weeks 😉

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/helloSystem/hello/issues/190#issuecomment-874366551, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNHVBY2RT72375IZCFW25TTWI5LDANCNFSM47TF73MA .

bmentink commented 3 years ago

@fkorotkov @probonopd Hi Guys,

I have just received a Khadas Edge-V board https://docs.khadas.com/edge/#Edge-V Rockchip RK3399 (Has a nice bonus of an M.2 NVME slot, which can be booted from)

I have installed a FreeBSD image that has support for sound over HDMI, custom UBoot etc and a few other tweaks. This was provided a member on the Khadas forum, handle Sleepwalker

I have attempted to do the manual raspberrypi style installation of hellosystem as per https://hellosystem.github.io/docs/developer/rpi.html but am having some issues.

When I "startx" it complains of missing /System/Kwin.app and also /System/Filer.AppDir and /System/Menu.AppDir. I did not see any reference to these in the instructions. Error is:

Pre-launching the desktop for a smooth transition Traceback (most recent call last): File "/System/Welcome.app/Welcome", line 39, in __init__ subprocess.Popen(["/System/Filer.AppDir/AppRun", "--desktop"], start_new_session=True) # FIXME Remove the need for this File "/usr/local/lib/python3.7/subprocess.py", line 800, in __init__ restore_signals, start_new_session) File "/usr/local/lib/python3.7/subprocess.py", line 1551, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '/System/Filer.AppDir/AppRun': '/System/Filer.AppDir/AppRun' Abort trap /usr/local/bin/start-hello: /System/Menu.AppDir/usr/bin/menubar: not found /usr/local/bin/start-hello: gmenudbusmenuproxy: not found /usr/local/bin/start-hello: /System/Filer.AppDir/AppRun: not found

I had a look at the "start-hello" script and found those items and installed them in /System, but I suspect that they contain x86 binaries ...

Can someone help with getting these items for ARM64 ..

I think if we can combine Sleepwalkers efforts on the base FreeBSD system and the work to be done on hellosystem here, then we could have a great piece of hardware for hello on ARM64, I would like to see if there is graphics 3D accel.

Cheers

probonopd commented 3 years ago

You need to write your own minimal /usr/local/bin/start-hello.

bmentink commented 3 years ago

So, I am a bit confused. The instructions showing how to bring hello up on a raspberrypi show it actually running. So I am assuming someone has an ARM64 version of Filer.AppDir, Menu.AppDir and KWin.app somewhere. Knowing where these are would be a start. Also, there needs to be an arm version of gmenudbusmenuproxy it seems ..

@probonopd I am happy to test images, but don't have enough skills to create the missing parts. I.E I tried to build KWin, but it failed miserably .. Also, I don't see Filer.AppDir or Menu.AppDir in github, so I can't build them. I am missing a lot of in-house knowledge that I can't fine anywhere on-line ..

Cheers

kettle-7 commented 3 years ago

They're in /System. You have to compile them yourself, see the CI/CD scripts.

kettle-7 commented 3 years ago

We use Cirrus, don't we?

bmentink commented 3 years ago

@linuxkettle I am not a developer, and therefor have no idea what a CI/CD script is. I am just helping by testing images.

I will wait for @fkorotkov to make his announcement ... hoping that he has RK3399 support ;)

kettle-7 commented 3 years ago

Each of these repositories (except Utilities) has been compiled for x86, not arm. So somebody needs to compile them for arm manually, which is no easy task.

We could use multi arch app bundles...

bmentink commented 3 years ago

@linuxkettle Agree, multi arch app is a good solution. Especially as ARM64 and Risc-V will be the mainstream CPU's in the not so distant future, x86 is on the way out, Intel can never recover ... my 2c. :)

kettle-7 commented 3 years ago

I have made multi-arch AppImages before, you could apply the same logic to app bundles...

robertoandrade commented 2 years ago

any news on this? trying to run this in a VM on a M1 mac, sure could run the x86 version instead but wanted to get the performance boost.

probonopd commented 2 years ago

Depends on: