Update: i went to reddit because there was an AMA from proton . There, they said: *The only reason why our Linux clients are lagging from a development is simply that it is extremely difficult to hire Linux Desktop developers.
So for anyone reading this, if you are based anywhere in the European timezone and willing to take up on the challenge, apply here: https://boards.eu.greenhouse.io/proton/jobs/4140067101*
Still reading all the replies, very greatful for the tips and responses, thank you all!
===
Thought i would share this with you all:
I contacted Proton for a technical issue and decided to also ask about their plans for Drive for Linux. Their response:
Proton Drive on Linux: Regarding the availability of a Proton Drive client for Linux, this is a common feature request that many users have expressed interest in. Our team is aware of the growing demand for a Linux client. While we currently do not have an ETA for when a Linux client might be available, we have not ruled out the possibility of working on it in the future.
I’m very disappointed, since i’m probably going to switch to Linux over the weekend.
@_Atlas_)@lemmy.world @Papanca
To fork what? The Windows or macOS Proton Drive and create a Linux version?
I would expect GUI interface is the least of the problems; that’s most likely Qt based across all platforms.
One step up in the difficulty level is to implement the file synchronisation right. This would most likely need to be based on macOS, as that has a file system which shares more features to most Linux file systems. However, Linux supports many file systems and there are lots of corner cases to watch out for here (extended attributes). A synchronisation should ideally also synchronise all the meta-data about files, to ensure this is restored correctly on a different host later on.
And the most difficult and most different aspect is the “access on-demand”. Here files are only downloaded from Drive as they are accessed. It’s like a remote file system mounted locally. From the user experience, it looks like an “external harddrive”, but it accesses data stored remotely. There are many ways to do this; an own kernel module or FUSE are the most common ways. FUSE is “simplest” and quite common - but might not give the best performance in many cases. A dedicated kernel module is tricky to distribute as they are hard-bound to the running kernel version. When you multiply those efforts to the Linux distributions available and the various kernel versions each distribution ships - it gets hard to get right. DKMS based distribution is more likely the best approach, but even that has challenges (Secure Boot system requires setting up signing keys, etc).
The difficult part is most likely not the UI aspect, but the “low level” code actually doing the file synchronisation and remote file access. That is very different between each platform.