Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No official build for ARM (aarch64) machines #471

Open
griffinschreiber opened this issue Nov 23, 2024 · 13 comments
Open

No official build for ARM (aarch64) machines #471

griffinschreiber opened this issue Nov 23, 2024 · 13 comments

Comments

@griffinschreiber
Copy link

I only see x86 builds in the releases. Please correct me if I'm wrong.

@focus-editor
Copy link
Owner

It's currently not possible to build the editor for ARM because of some dependencies.

@stillerbenjamin
Copy link

#471 Failed attempt: When you're ready to compile on Apple's silicon, the following error message is returned.

In Workspace 3 ("focus"):

/Users/Shared/Focus/modules/Input/macos.jai:810,13: Error: Too many arguments: Wanted 0, got 3.

jai_context: Context;
push_context jai_context {
    objc_msgSend(self, selector("windowDidResize:"), notification);

/Users/Shared/Focus/modules/Objective_C/bindings/arm64/message.jai:20,17: Info: ... Here is the procedure being called.

objc_msgSend :: () -> void #foreign libobjc;

@griffinschreiber
Copy link
Author

OK. Back to Doom Emacs for now I guess...

@griffinschreiber
Copy link
Author

I'm eagerly watching this project though, it looks really cool.

@focus-editor
Copy link
Owner

focus-editor commented Nov 27, 2024 via email

@griffinschreiber
Copy link
Author

It's an aarch64 chromebook running a Debian VM lol.

@ileonte
Copy link
Collaborator

ileonte commented Dec 22, 2024

I've revived my experimental cross-compile branch and I've updated our nightly builds to generate aarch64 binaries. You can find them here: https://ileonte.dev/focus-builds/Linux/nightly/aarch64/

Caveats:

  • these are HIGHLY experimental and EXTREMELY UNTESTED. The only data-point I have is that I can run these builds my on M2 Macbook running Asahi, so hopefully that means other aarch64 systems will run them too
  • these will update slower than the "regular" nightlies since I have to manually rebase my branch each time something changes on main (which I will 100% lag behind)

@griffinschreiber
Copy link
Author

Wow, thank you so much! I'm running the Debian 12 (Bookworm) sandbox on a Chromebook, so it's fine if something goes wrong. I'll see if I can get it working.

@griffinschreiber
Copy link
Author

OK, so I ran it and here's the terminal output:

>_ ./focus-linux-aarch64-nightly-ba45b42
Could not open file "/home/hackleberry/.local/share/applications/dev.focus-editor.focus.desktop": code 2, No such file or directory
Could not open file "/home/hackleberry/.local/share/applications/dev.focus-editor.focus.desktop": code 2, No such file or directory
xkbcommon: loaded libxkbcommon.so.0
WAYLAND: loaded libwayland-client.so.0
WAYLAND: loaded libwayland-egl.so.1
WAYLAND: loaded libwayland-cursor.so.0
XCB: loaded libxcb.so.1
XCB: loaded libxcb-xkb.so.1
XCB: loaded libxcb-cursor.so.0
xkbcommon: loaded libxkbcommon-x11.so.0
xkbcommon: loaded libxkbcommon.so.0
XCB: initializing with Xlib connection
X11: loaded libX11.so.6
X11: loaded libX11-xcb.so.1
XCB: max_request_length=4194303
XCB: loaded libxcb-xinput.so.0
XCB: xcb-xkb version 1.0
GLX: loaded libGLX.so.0
Started watching external directory '/home/hackleberry/.config/focus-editor'
Could not convert relative path to absolute path: 2 No such file or directory
Couldn't start watching file /home/hackleberry/.config/focus-editor/global.focus-config because it's not found
Unable to stat file '/home/hackleberry/.local/share/focus-editor/temp/.': 22 Invalid argument
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES
[...]

It also opened this window:
image

A lot of these things are probably related to the fact that I'm using a Chromebook that I think has non-standard versions of OpenGL stuff, and I probably have done some dumb things in other places, but I hope this is helpful.

@ileonte
Copy link
Collaborator

ileonte commented Dec 23, 2024

Yeah, there are minimal OpenGL requirements that look like are not being met there. Unless you can somehow upgrade your drivers (mesa?) there's probably no way to fix it, we don't have any kind of fallback for older OpenGL versions.

Still, the program ran to that point so that's great I guess :)

@griffinschreiber
Copy link
Author

OK, seems like a problem on my end not yours. I'll see what I can do.

@griffinschreiber
Copy link
Author

griffinschreiber commented Dec 23, 2024

Apparently the outdated GLSL versions are due to the distro. Debian has never been very up-to-date with packages and things lol. Especially not on chromebook.

@griffinschreiber
Copy link
Author

So the program is saying that my GLSL version is below the minimum required version. From what I can tell, if the program doesn't actually need features from GLSL 3.30 then I can tell it I'm using 3.30 but not actually use it, which might cause weird stuff or undefined behaviour if it actually needs features from 3.30.
Anyway, the environment variable is MESA_GL_VERSION_OVERRIDE, and you can do:
export MESA_GL_VERSION_OVERRIDE=3.3
for anyone in the future with the same problem.
NOTE: I have not tried this and it may cause weird or undefined behaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants