Will the Quasar Framework support the Librem 5 (new GNU/Linux smartphone with PureOS and GNOME or Plasma Mobile)?

  • Librem 5 is an upcoming smartphone seeking to become the first mainstream, completely free and open source GNU/Linux smartphone.

    It’s running PureOS which is based on Debian and by default it’s using GNOME/Phosh as its mobile desktop environment but it can also be used with KDE’s Plasma Mobile (and Ubuntu Touch).

    On Debian you can run Electron apps so I’d expect those to work on the phone as well in principle. It would need to be built for the ARM architecture and electron can do so: one has to simply make some changes to quasar.conf.js or pass the (–bundler if using electron>4 and) --arch parameter(s).

    Now even though Quasar Framework with Electron can be made to build for the ARM architecture it is currently mostly meant for desktop, not mobile, even though it could adapt well to smaller screens. So would it theoretically be possible to properly use mobile functionalities of the device with an Electron build? Furthermore CPU-usage and power drain could be major problems with using Quasar/Electron-made projects on the device and I’m not sure to which extent these could be fixed if they are.

    Moreover I’d like to know whether there are yet plans to create a new build-option optimized specifically for GNU/Linux-phones or the Librem 5 (GNOME/Phosh/GTK and KDE/Plasma Mobile/Qt in particular).

    I think the optimal longer-term solution would be to have a Quasar project’s code transpile to GTK and Qt or at least to have them integrate it. I don’t know how possible that is and how much work that would require.

    -> What’s the current state of GNU/Linux/Librem5 support by the Quasar Framework?

    Thought it would be a good time to ask about it, now that the Internet has just begun its second half-century.

    Also it looks like the first devices will be shipped to backers starting November 15th - so some could soon begin working with real devices instead of just a virtual machine or devkit.

  • Hey,

    As a “product” we have to aim towards the wider breadth of devices and people developing for those devices to gain traction and in this case with your question, it simply isn’t the case. The Librem 5 is currently very, very niche and putting any effort into making Quasar work for it would offer few returns. I hope you can understand that. That being said, as you pointed out, maybe the browser, cordova, electron support might improve over time, then theoretically Quasar will also work too. But, for right now, it’s just not a given.


  • Sounds good (good enough at least).

    So I investigated this further and edited the post above: QF with electron can build for arm. To do so one just has to edit quasar.conf.js to set arch: 'arm64' in the packager options or if using electron < 5 arch: 'arm64' in the builder options and bundler: 'builder', in the electron options.

    For testing whether or not it works at all and how well it runs performance-wise - including during development (basically quasar dev -m librem5) - it would probably be useful to have a Librem5 virtual machine that emulates the ARM architecture. I asked about that here. As far as I can see, right now there’s only a x86_64 virtual machine that one could run without the devkit.

    I tested it with that vm by running: sudo qemu-system-x86_64 -boot menu=on -drive file=./qemu-x86_64.qcow2,format=qcow2 -cdrom ./linux_64_build.iso -vga virtio -display gtk -m 2G -enable-kvm (install a file explorer, mount the cd, copy it over, navigate to it in the console, run chmod +x filename, do the chown and chmod changes, run the app).

    The app ran on it but the window size is too large and I couldn’t change it.
    screenshot of quasar framework app on librem 5 (larger res)

    So probably one needs to have it start with the device window size. A simple way to implement this would be the fullscreen-plugin. Here’s how it looks when it’s set to fullscreen with that plugin:
    screenshot of fullscreen quasar framework app on librem5 (larger res)

    However, while I can click that button I can’t click on the layout drawer in the upper left. The cursor icon doesn’t change when hovering over it and there’s no error message in the console. The auto-import is set to auto in quasar.conf.js and I have also added ‘QLayout’ to the components array there. I can click on it on my Debian GNU/Linux though.

    Finding out why it isn’t clickable and fixing that would probably be the next step in getting it to work with the Librem5. Maybe somebody here has an idea what might cause it to be unclickable?

  • No idea, but feel free to keep investigating and maybe make some PRs if needed to support what you are doing. That’s the beauty of Open Source Software