-
-
Notifications
You must be signed in to change notification settings - Fork 296
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
Windows build #115
Comments
Should be possible. Are there currently binaries available for GJS and WebKitGTK? I imagine having to compile those two wouldn't be fun, especially the latter. I don't currently have access to Windows, though, so there's no way I can work on this. Would appreciate any help if anyone's interested in this. |
@johnfactotum AppImage (#115) should be able to do it, for newer versions that have the linux submodule. See discussion here. |
Using WSL is just cheating, no? Well, I suppose that's one way to do it. But it would be much better if it can be run natively on Windows and macOS. GTK is still cross-platform, after all, even if that's not their main focus now. Actually, I've been thinking, if GJS+WebKit apps can be easily run on Windows and macOS, then it'd even become a viable alternative to Electron for developers. If you bundle one of those high quality GTK themes that emulates Windows or macOS UI, then it'd even look very native on those platforms. |
If only we had an AppImage for Bionic... |
@probonopd What do you think about this discussion? Can you make a test AppImage for Bionic (or higher), so that we can check cross-OS compatibility? |
I don't get what a Windows build has to do with AppImage. I also don't get why an AppImage built on trusty or xenial (as we recommend) would not work just fine on bionic. |
Trusty is not a supported version anymore. Xenial's support is not enough to meet basic requirements. |
What do you mean by that and what does this have to do with a "Windows build"? |
Providing Windows builds while using WebKitGTK is impossible currently. The easiest way to create a windows bundle is by using MinGW, but they don't package WebKitGTK, it's a big, could cause security risks, take too much time to build and so on dependency. If you ever get WebkitGTK maintainers to officially support the MinGW package, the rest is just a matter of packaging it. |
Has the situation improved any, after a year? |
Same question. |
Hi, @johnfactotum any update? This issue is labeled |
@BlackWingedKing Are you able to open books? Because I couldn't. |
Hey @Include-sys |
@BlackWingedKing Btw, I compiled it without sandboxing support and it works. |
@Include-sys that's very cool I mean command or process to remove sandboxing support? |
In /src/main.js at line 38, Then builded and installed, and it worked. |
Thank you @Include-sys |
Just an idea: or has anyone tried the WinCairo port? |
Could someone be so kind to share a working build that will run on Windows 7? |
Wish if there be a windows native version, This software is good , amazing , useful |
Obviously it isn't quite as nice as having a native build, but I've been following this for a while and wanted to verify that the Linux version is working fairly well on the latest WSL2. All I had to do is install the latest dev channel build of Windows, enable and update WSL, install Ubuntu in WSL, and install Foliate on Ubuntu. Issues doing it this way: a little slow to load, generic Tux icon instead of app icon, Windows Explorer won't associate Foliate with EPUB files. No problem accessing the Windows file system to get to my books, though. |
@darrian77 Can you publish detailed instuctions for Windows users (as a comment in this thread). |
Sure. Install Windows 10 Insider Preview build 21362 or higher. To do this you have to enroll in the Windows Insider program and select the Dev channel. Open the Start menu and search (just start typing) for "turn Windows features on or off" (about when you get to "turn Windows" it should appear as the top result). Turn on Virtual Machine Platform and Windows Subsystem for Linux. Reboot. Open the Windows Store, search for and install the Linux distribution of your choice. I use and recommend Ubuntu. Additionally, I recommend the Ubuntu on Windows Community Preview, which you can only get at this link since it won't show up in a Store search. Open the command prompt or powershell as administrator and type Update the WSL2 kernel by installing the package. If you're on a x64 machine use Open Ubuntu (or your distro) in the start menu. This will launch Linux in the command prompt, which will then download files if needed and then guide you through the initial setup, where you can choose your username and password for Linux. After setting up the environment, get updates, install additional packages. You can use any file manager, and I'm not sure if x11-apps are strictly required, but it made sense to install it.
Install Foliate.
Foliate should show up as a shortcut in the Start Menu in a folder named after the Linux distro you installed. For more detailed instructions on setting up WSL2 with GUI, or WSLg, check this link https://github.com/microsoft/wslg |
@johnfactotum Given that these instructions produce the much coveted Windows Build, without added costs (to the foliate developer/s), are you willing to add the instructions to a README_WINDOWS.md file and close this bug ? |
I built Foliate from source, and disabled sand boxing, but whenever I try to open a book it shows this error
I am using VcXsrv tho, not WSLg Update: |
@ShaadiAlfred would you mind sharing your builds? |
@darrian77 I'm not sure how. You mean like the binary in my |
This is the thread for Windows builds, so I thought you'd actually built a Windows executable. If that's not the case then nvm. /usr/bin sounds like you just built the Linux version. |
I was doing some research on WebkitGTK for Windows, and came across this Stack Overflow thread which led to this archived website with instructions on how to compile WebkitGTK for Windows. Just thought I'd share what I've found so far, as this seems to be the main thing preventing Foliate from working natively. |
Are there any plans to build a native Windows Binary for this app? It would be awesome to have it working in windows w/o WSL etc. |
Making a native Windows Binary app is equivalent to re-engineering the app from scratch, for Windows only. Such activity will require too much time and support, but Foliate already works in Windows with WSL. Therefore, it's very unlikely that it will happen. |
To clarity, either someone maintains WebKitGTK for Windows, or there needs to be a non-WebKitGTK version of Foliate. Note that non-WebKitGTK doesn't necessarily mean non-GTK. Perhaps it would be possible to embed Chromium as an alternative. I have no idea how to do that, but if that can be done, then you only need to change the parts related to WebKitGTK and wouldn't need to re-build everything from scratch.
To be fair, if there should ever be a non-WebKitGTK version of Foliate, it will almost certainly be cross-platform, not Windows only. Furthermore, if there should ever be a non-GTK version of Foliate, it will almost certainly be something that can run directly in any browser, as a single plain web page (or PWA, if you like). Such a web page can either be run directly (if the platform supports it) or we can wrap it either with the native toolkits of each platform or a cross-platform toolkit. Such a version probably wouldn't be too hard to implement. The one big hurdle is probably how to handle storing and syncing data. Once the filesystem-related Web APIs are better supported by browsers, it should be easy to write web apps that store data just like native apps (I think). Otherwise you'd probably use something like PouchDB to handle storing and syncing data. (Aside: actually, storing data in PouchDB might not be a bad idea even for the current GTK app; but I guess that's a separate issue.) |
Since—apart from Calibre’s reader app—Foliate currently seems the most usable Open Source e-reader for desktops, I do think it would profit from being available for Windows (and maybe MacOS) users, too. I don’t have a Mac and haven’t been using Windows for 10+ years, but I’m assuming Foliate could be built on a Mac using HomeBrew, and having it under WSL for Windows is the second best solution after a native Windows app. Most users I know of (including me) nowadays often look for cross-platform solutions first, thus avoiding the need of re-learning when changing platforms. So if this could be done in the long run, it’d be just great, and certainly worth it. Also, Foliate doesn’t suffer from the resource and performance problems an app has that needs to be run on a limited hardware platform, like an actual e-reader—modern desktops and laptops should have enough power to allow for a little overhead, like Epub.js, Electron or whatever. We surely do need a good e-reading app for use on the desktop/laptop. Just my 2¢. |
Is this method still working? @citrus77 Cause it's not showing up on my start menu and i don't know how to open it |
It does still work, but may or may not create a start menu entry depending on the build of Windows and WSL and possibly the distro that are installed. I'm not sure how to manually create a shortcut, but you can launch Foliate from the linux bash prompt and can probably create a batch file to execute it. |
Since we still don't have a native build, WSL instructions have changed as follows assuming you are on Windows 11: |
Considering the aggregate of features and UX, this seems to be the best EPUB reader out there, so native Win 10/11 builds would be very welcome. The most close alternative I could find on the platform is Freda, but it's non-free, unstable and very damn slow on older hardware. |
Yes, a Windows version would be great. |
Just an update on this: Myself and a contractor I've hired for this project are taking this on. We are in the opening stages of planning but my intention is to build it for React Native for Windows / MacOS. I was thinking of also developing a React Native + Electron port for Linux but considering this project exists and mine is going to have to be a bit more forked I don't want to split things up too much. It's a shame that there aren't many fully cross platform Javascript platforms. Electron is basically it but it also adds a lot of weight. |
You may want to look into tauri. There is also this tool to make a .msi package easelly https://github.com/crabnebula-dev/cargo-packager. What alternative would you guys advise for windows ? |
I switched to Windows and have been missing this amazing software ever since. Alexandria comes the closest as an alternative, but I badly need a Windows version. |
We may have to port foliate to Electron/Tauri, to work on Windows: tauri-apps/webkit2gtk-rs#39 |
Any update for windows build? |
Maybe we can do a fork and write Electron app for windows? |
I've developed an Electron version of Foliate!!! I add some convenient features for it
|
Great project! Please, provide Windows binaries if possible.
The text was updated successfully, but these errors were encountered: