-
-
Notifications
You must be signed in to change notification settings - Fork 171
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
lightweigth win32 installations #4100
Comments
With this initial commit, the size of the "Minimal" builds are now just:
Because of the quickly diminishing returns, I think the bulk of the savings are already implemented. Still TODO:
|
* trim pixbuf loaders * gstreamer DLLs * remove python-lz4 * py.typed metadata * header files * backup, patch rejects * don't bundle psutil in light builds * move more python modules to the ZIP file * add optimize for size switch: Os * don't bundle pointless pkcs11 etc dir * only ship the xpra config files actually used (no proxy or server in light builds) * don't ship http headers or command metadata
* split argb modules from the encoder * fix python modules zip multi-line command * don't duplicate top-level DLLs
also remove more build / unused packaging files
This will have to do for v6, though some work on this is still needed:
Notes:
Latest builds:
And the installed uncompressed size:
@stdedos you may be interested in using these builds if you don't have any nvidia GPUs in your clients. |
Comparing with v5.x at 1d716ad: $ du -sm beta/windows/*5.0.8-r9.{exe,zip}
126 beta/windows/Xpra-Client-x86_64_Setup_5.0.8-r9.exe
141 beta/windows/Xpra-x86_64_Setup_5.0.8-r9.exe
177 beta/windows/Xpra-Client-x86_64_5.0.8-r9.zip
199 beta/windows/Xpra-x86_64_5.0.8-r9.zip |
simplified version of the changes made in git master, without the 'xpra gui' changes or '-Os'
as previously noted, nacl can't find its bindings when bundled in the library.zip file
v5 is done and is almost as good as v6!
However, v3.x is still absolutely massive:
And the installed size is ridiculous (almost 1TB!) - mostly because of opencv (#3336):
|
The big difficulty with 3.x is that we have to ship So I've decided to also remove There are still a few more stray DLLs in this version than the newer branches, but the "Light" build size is now much more reasonable: $ du -sm beta/windows/Xpra*r84*.{zip,exe}
107 beta/windows/Xpra-Light-Python3-x86_64_3.1.7-r84.zip
73 beta/windows/Xpra-Light-Python3-x86_64_Setup_3.1.7-r84.exe |
And within 24 hours of closing this ticket, an MSYS2 update brings in GStreamer version 1.24.0, which causes some new breakage - with a dialog alert box shown for every missing DLL!:
And even after looking at these DLLs using the dependency tracker, I have no idea what the problem is. |
Though not as dramatic as v6, the 3.1.7 release got some significant weight loss: du -sm Xpra*3.1.7*
73 Xpra-Light-Python3-x86_64_3.1.7-r0.msi
107 Xpra-Light-Python3-x86_64_3.1.7-r0.zip
72 Xpra-Light-Python3-x86_64_Setup_3.1.7-r0.exe
209 Xpra-Python3-x86_64_3.1.7-r0.msi
307 Xpra-Python3-x86_64_3.1.7-r0.zip
208 Xpra-Python3-x86_64_Setup_3.1.7-r0.exe |
I do, but what's the benefit of "supporting" nvidia? CPU offload? |
Very fast GPU encoding and decoding. |
Rather than having regular and "client" builds, with very little difference between them in terms of disk space:
(the disk space actually used when installed is closer to 2GB, which is just ridiculous)
Split them into regular and "lightweigth" builds and remove more than just the server components: putty, remove all cuda and nvidia modules, all the video encoders, numpy (as long as pyopengl still works), ffmpeg codecs used by gstreamer, etc..
Use this as an exercise to also remove libraries we don't really need: clang / llvm?, libicu?, openblas, opencv, etc
This will also help with #4050
The text was updated successfully, but these errors were encountered: