flxzt / rnote

Sketch and take handwritten notes.
https://rnote.flxzt.net
GNU General Public License v3.0
8.38k stars 293 forks source link

Compatibility for Windows ARM #837

Open pascalgoedeke opened 1 year ago

pascalgoedeke commented 1 year ago

I really like Rnote and I'd like to use it on my Windows ARM device. Is it possible to provide an ARM version in addition to the x64 version?

dehesselle commented 1 year ago

Have you tried building it on your machine? The best way to get going is that someone with interest in a specific platform who actually owns a device running said platform starts experimenting. You could start by setting up msys2 and checking if all dependencies are available. See this workflow for useful pointers: https://github.com/flxzt/rnote/blob/main/.github/workflows/release-windows.yml

pascalgoedeke commented 1 year ago

Unfortunately I don't have any experience or knowledge when it comes to building apps... I usually only work with Java which either works everywhere or just doesn't work at all. If there is anyone here with an ARM device and some experience, I'd really appreciate any help.

xiaoxuan-yu commented 1 year ago

Have you tried building it on your machine? The best way to get going is that someone with interest in a specific platform who actually owns a device running said platform starts experimenting. You could start by setting up msys2 and checking if all dependencies are available. See this workflow for useful pointers: https://github.com/flxzt/rnote/blob/main/.github/workflows/release-windows.yml

By using MSYS2 clangarm64, all dependencies except diffutils and gcc are available. Besides, emulated x86_64 diffutils is available too. The rust toolchain for clang-aarch64 is provided by MSYS2 project. By changing compiler to clang, the application can be built. However, two problems still exists:

I wonder if there is any advice.

dehesselle commented 1 year ago

Does gtk4-demo work in your environment? Any problems that can be reproduced with that are potentially GTK issues that need to be reported to their tracker.

flxzt commented 11 months ago

930 refactored the win-installer build script to use a customizable msys environment (like mingw64, urcvt, clangarm64, ..). It should now be a lot easier to change it (and possibly change the github CD script to use a matrix strategy to build for different platforms), but I haven't tried it myself yet. @xiaoxuan-yu

PhilDevProg commented 6 months ago

Windows ARM support would be really nice, especially now that more and more Windows ARM devices are getting released

OB0NE commented 3 months ago

@xiaoxuan-yu I tried your method to build Rnote on my Surface pro 11, and successfully build the application. But the the installer can not be built correctly and when I try to run the compiled rnote, even in the msys2 environment, it doesn't show GUI. Which is basiclly the same as your issue.

I also don't have any experience in building apps, so I can't figure out where the problem might be.

Does gtk4-demo work in your environment? Any problems that can be reproduced with that are potentially GTK issues that need to be reported to their tracker.

And for this question, the answer is: For me, the gtk4-demo works fine, so it's probably not a GTK issue. This is the log of windows event viewer when I try to run rnote.exe directly in windows(with double click):

OB0NE commented 3 months ago

I build it from scratch again. And this time I get a functional Rnote.exe, only with a black square surrounding the software window: image The installer still can't be built, I will try it another time.

Doublonmousse commented 3 months ago

The black borders seems like a graphics problem related to shadows around window borders. (maybe check https://gitlab.gnome.org/GNOME/gtk/-/issues/6008 or #842).

Do you only have the black borders in rnote but not gtk4-demo (or the adwaita demo, using adwaita-1-demo)?

OB0NE commented 3 months ago

The black borders seems like a graphics problem related to shadows around window borders. (maybe check https://gitlab.gnome.org/GNOME/gtk/-/issues/6008 or #842).

Do you only have the black borders in rnote but not gtk4-demo (or the adwaita demo, using adwaita-1-demo)?

@Doublonmousse I think you are right! The gtk4-demo looks like this: image

and the adwaida-1demo looks like this: image

OB0NE commented 2 months ago

I successfully build a installer that works on arm64: image

For the black border issue, it seems to be an issue in MESA D3D12:https://gitlab.gnome.org/GNOME/gtk/-/issues/6975, which is nothing I can do about.

xgdgsc commented 2 weeks ago

Or anyone tried building this on linux arm? So it could be used in wsl and on Android termux.

Doublonmousse commented 2 weeks ago

Or anyone tried building this on linux arm? So it could be used in wsl and on Android termux.

Linux arm is already taken care of. The flatpak runs both on x86 and arm. Termux is there too, see https://github.com/termux/termux-packages/issues/17655 and https://github.com/flxzt/rnote/issues/390. Though I don't guarantee it's 100% working in termux

The most recent effort to port to arm was there https://github.com/flxzt/rnote/pull/1211