Wine Bloat 2020-10-16
Some people who use Linux (and maybe some other similar operating systems) are able to run Windows applications with the help of wine. It has been around for a while and has [I assume] helped lots of people with the transition between Windows and Linux. I have certainly used it over the years for applications like Feed Notifier and Notepad++. The bad news is that it seems to be suffering from nasty bloat these days.
Just recently I was fiddling with a new Devuan box and noticed that using apt to grab from the WineHQ Buster repository wasn't working. Turns out according to these instructions Libfaudio0 must be installed first. Well, let's see what happens when I install Libfaudio0:
user@devtop:~$ sudo apt install ./libfaudio0_20.01-0~buster_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libfaudio0' instead of
'./libfaudio0_20.01-0~buster_amd64.deb'
The following additional packages will be installed:
libsdl2-2.0-0 libsndio7.0 libstb0
Suggested packages:
sndiod
The following NEW packages will be installed:
libfaudio0 libsdl2-2.0-0 libsndio7.0 libstb0
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 615 kB/749 kB of archives.
After this operation, 2,278 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Well, 2MB isn't so bad, I was worried that it might be a fat dependency. Let's see what the x86 Libfaudio0 does:
user@devtop:~$ sudo apt install ./libfaudio0_20.01-0~buster_i386.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libfaudio0:i386' instead of
'./libfaudio0_20.01-0~buster_i386.deb'
The following additional packages will be installed:
gcc-8-base:i386 i965-va-driver:i386 intel-media-va-driver:i386
libaom0:i386 libasound2:i386 libasyncns0:i386 libatomic1:i386
libavcodec58:i386 libavutil56:i386 libblkid1:i386 libbsd0:i386
libc6:i386 libcairo2:i386 libcap2:i386 libcodec2-0.8.1:i386
libcroco3:i386
libcrystalhd3:i386 libdatrie1:i386 libdbus-1-3:i386
libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
libdrm-radeon1:i386
libdrm2:i386 libedit2:i386 libelf1:i386 libelogind0:i386
libexpat1:i386 libffi6:i386 libflac8:i386 libfontconfig1:i386
libfreetype6:i386
libfribidi0:i386 libgcc1:i386 libgdk-pixbuf2.0-0:i386 libgl1:i386
libgl1-mesa-dri:i386 libglapi-mesa:i386 libglib2.0-0:i386
libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libgomp1:i386
libgraphite2-3:i386 libgsm1:i386 libharfbuzz0b:i386 libice6:i386
libicu63:i386 libidn2-0:i386 libigdgmm5:i386 libjbig0:i386
libjpeg62-turbo:i386 libllvm7:i386 liblzma5:i386 libmount1:i386
libmp3lame0:i386 libnuma1:i386 libogg0:i386 libopenjp2-7:i386
libopus0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386
libpangoft2-1.0-0:i386 libpciaccess0:i386 libpcre3:i386
libpixman-1-0:i386 libpng16-16:i386 libpulse0:i386 librsvg2-2:i386
librsvg2-common:i386 libsdl2-2.0-0:i386 libselinux1:i386
libsensors5:i386 libshine3:i386 libsm6:i386 libsnappy1v5:i386
libsndfile1:i386
libsndio7.0:i386 libsoxr0:i386 libspeex1:i386 libstb0:i386
libstdc++6:i386 libswresample3:i386 libthai0:i386 libtheora0:i386
libtiff5:i386 libtinfo6:i386 libtwolame0:i386 libunistring2:i386
libuuid1:i386 libva-drm2:i386 libva-x11-2:i386 libva2:i386
libvdpau-va-gl1:i386 libvdpau1:i386 libvorbis0a:i386
libvorbisenc2:i386 libvpx5:i386 libwavpack1:i386 libwayland-client0:i386
libwayland-cursor0:i386 libwayland-egl1:i386 libwebp6:i386
libwebpmux3:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386
libx264-155:i386
libx265-165:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
libxcb-glx0:i386 libxcb-present0:i386 libxcb-render0:i386
libxcb-shm0:i386 libxcb-sync1:i386 libxcb-xfixes0:i386 libxcb1:i386
libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxkbcommon0:i386
libxml2:i386 libxrandr2:i386 libxrender1:i386 libxshmfence1:i386
libxss1:i386 libxtst6:i386 libxvidcore4:i386 libxxf86vm1:i386
libzstd1:i386 libzvbi0:i386 mesa-va-drivers:i386 mesa-vdpau-drivers:i386
uuid-runtime va-driver-all:i386 vdpau-driver-all:i386 zlib1g:i386
Suggested packages:
i965-va-driver-shaders:i386 libasound2-plugins:i386 glibc-doc:i386
locales:i386 firmware-crystalhd:i386 opus-tools:i386 librsvg2-bin:i386
lm-sensors:i386 sndiod:i386 speex:i386 nvidia-vdpau-driver:i386
nvidia-legacy-340xx-vdpau-driver:i386
nvidia-legacy-304xx-vdpau-driver:i386
The following NEW packages will be installed:
gcc-8-base:i386 i965-va-driver:i386 intel-media-va-driver:i386
libaom0:i386 libasound2:i386 libasyncns0:i386 libatomic1:i386
libavcodec58:i386 libavutil56:i386 libblkid1:i386 libbsd0:i386
libc6:i386 libcairo2:i386 libcap2:i386 libcodec2-0.8.1:i386
libcroco3:i386
libcrystalhd3:i386 libdatrie1:i386 libdbus-1-3:i386
libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
libdrm-radeon1:i386
libdrm2:i386 libedit2:i386 libelf1:i386 libelogind0:i386
libexpat1:i386 libfaudio0:i386 libffi6:i386 libflac8:i386
libfontconfig1:i386
libfreetype6:i386 libfribidi0:i386 libgcc1:i386
libgdk-pixbuf2.0-0:i386 libgl1:i386 libgl1-mesa-dri:i386
libglapi-mesa:i386
libglib2.0-0:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386
libgomp1:i386 libgraphite2-3:i386 libgsm1:i386 libharfbuzz0b:i386
libice6:i386 libicu63:i386 libidn2-0:i386 libigdgmm5:i386
libjbig0:i386 libjpeg62-turbo:i386 libllvm7:i386 liblzma5:i386
libmount1:i386
libmp3lame0:i386 libnuma1:i386 libogg0:i386 libopenjp2-7:i386
libopus0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386
libpangoft2-1.0-0:i386 libpciaccess0:i386 libpcre3:i386
libpixman-1-0:i386 libpng16-16:i386 libpulse0:i386 librsvg2-2:i386
librsvg2-common:i386 libsdl2-2.0-0:i386 libselinux1:i386
libsensors5:i386 libshine3:i386 libsm6:i386 libsnappy1v5:i386
libsndfile1:i386
libsndio7.0:i386 libsoxr0:i386 libspeex1:i386 libstb0:i386
libstdc++6:i386 libswresample3:i386 libthai0:i386 libtheora0:i386
libtiff5:i386 libtinfo6:i386 libtwolame0:i386 libunistring2:i386
libuuid1:i386 libva-drm2:i386 libva-x11-2:i386 libva2:i386
libvdpau-va-gl1:i386 libvdpau1:i386 libvorbis0a:i386
libvorbisenc2:i386 libvpx5:i386 libwavpack1:i386 libwayland-client0:i386
libwayland-cursor0:i386 libwayland-egl1:i386 libwebp6:i386
libwebpmux3:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386
libx264-155:i386
libx265-165:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
libxcb-glx0:i386 libxcb-present0:i386 libxcb-render0:i386
libxcb-shm0:i386 libxcb-sync1:i386 libxcb-xfixes0:i386 libxcb1:i386
libxcursor1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
libxfixes3:i386 libxi6:i386 libxinerama1:i386 libxkbcommon0:i386
libxml2:i386 libxrandr2:i386 libxrender1:i386 libxshmfence1:i386
libxss1:i386 libxtst6:i386 libxvidcore4:i386 libxxf86vm1:i386
libzstd1:i386 libzvbi0:i386 mesa-va-drivers:i386 mesa-vdpau-drivers:i386
uuid-runtime va-driver-all:i386 vdpau-driver-all:i386 zlib1g:i386
0 upgraded, 144 newly installed, 0 to remove and 0 not upgraded.
Need to get 65.7 MB/65.9 MB of archives.
After this operation, 402 MB of additional disk space will be used.
Do you want to continue? [Y/n]
What the actual fuck? That's stupid. So I was disappointed but I figured I'd try going ahead with it anyways just in case the actual Wine install was much smaller now that this colossal pile of crap was externalized. Here's what happened:
user@devtop:~$ sudo apt install --install-recommends winehq-stable
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
acl gstreamer1.0-plugins-base:i386 libasound2-plugins:i386 libatomic1
libavahi-client3:i386 libavahi-common-data:i386
libavahi-common3:i386 libavresample4:i386 libbz2-1.0:i386 libcapi20-3
libcapi20-3:i386 libcdparanoia0:i386 libcom-err2:i386 libcups2:i386
libdb5.3:i386 libeudev1:i386 libexif12:i386 libgcrypt20:i386 libgd3
libgd3:i386 libgdbm-compat4:i386 libgdbm6:i386 libglu1-mesa:i386
libgmp10:i386 libgnutls30:i386 libgpg-error-l10n libgpg-error0:i386
libgphoto2-6 libgphoto2-6:i386 libgphoto2-l10n libgphoto2-port12
libgphoto2-port12:i386 libgpm2:i386 libgssapi-krb5-2:i386
libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0:i386
libhogweed4:i386
libieee1284-3 libieee1284-3:i386 libjack-jackd2-0:i386
libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386
liblcms2-2:i386 libldap-2.4-2:i386 libltdl7:i386 libmariadb3
libmariadb3:i386 libmpg123-0:i386 libncurses6:i386 libnettle6:i386
libodbc1
libodbc1:i386 libopenal-data libopenal1 libopenal1:i386
liborc-0.4-0:i386 libosmesa6 libosmesa6:i386 libp11-kit0:i386 libpcap0.8
libpcap0.8:i386 libpci3:i386 libperl5.28:i386 libsamplerate0:i386
libsane libsane:i386 libsane-common libsasl2-2:i386
libsasl2-modules:i386 libsasl2-modules-db:i386 libsnmp-base libsnmp30
libsnmp30:i386 libssl1.1:i386 libtasn1-6:i386 libusb-1.0-0:i386
libv4l-0 libv4l-0:i386 libv4lconvert0 libv4lconvert0:i386
libvisual-0.4-0:i386 libvkd3d1 libvkd3d1:i386 libvulkan1 libvulkan1:i386
libxcomposite1:i386 libxpm4:i386 libxslt1.1:i386 mariadb-common
mysql-common ocl-icd-libopencl1 ocl-icd-libopencl1:i386 sane-utils
update-inetd wine-stable wine-stable-amd64 wine-stable-i386:i386
Suggested packages:
gvfs:i386 cups-common:i386 rng-tools:i386 libgd-tools libgd-tools:i386
gdbm-l10n:i386 gnutls-bin:i386 gphoto2 gphoto2:i386 gpm:i386
krb5-doc:i386 krb5-user:i386 libvisual-0.4-plugins:i386
gstreamer1.0-tools:i386 jackd2:i386 liblcms2-utils:i386 libmyodbc
odbc-postgresql
tdsodbc unixodbc-bin libmyodbc:i386 odbc-postgresql:i386 tdsodbc:i386
unixodbc-bin:i386 libportaudio2 libportaudio2:i386 avahi-daemon
hplip avahi-daemon:i386 hplip:i386 libsasl2-modules-gssapi-mit:i386 |
libsasl2-modules-gssapi-heimdal:i386 libsasl2-modules-ldap:i386
libsasl2-modules-otp:i386 libsasl2-modules-sql:i386
snmp-mibs-downloader opencl-icd opencl-icd:i386 unpaper
The following NEW packages will be installed:
acl gstreamer1.0-plugins-base:i386 libasound2-plugins:i386 libatomic1
libavahi-client3:i386 libavahi-common-data:i386
libavahi-common3:i386 libavresample4:i386 libbz2-1.0:i386 libcapi20-3
libcapi20-3:i386 libcdparanoia0:i386 libcom-err2:i386 libcups2:i386
libdb5.3:i386 libeudev1:i386 libexif12:i386 libgcrypt20:i386 libgd3
libgd3:i386 libgdbm-compat4:i386 libgdbm6:i386 libglu1-mesa:i386
libgmp10:i386 libgnutls30:i386 libgpg-error-l10n libgpg-error0:i386
libgphoto2-6 libgphoto2-6:i386 libgphoto2-l10n libgphoto2-port12
libgphoto2-port12:i386 libgpm2:i386 libgssapi-krb5-2:i386
libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0:i386
libhogweed4:i386
libieee1284-3 libieee1284-3:i386 libjack-jackd2-0:i386
libk5crypto3:i386 libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386
liblcms2-2:i386 libldap-2.4-2:i386 libltdl7:i386 libmariadb3
libmariadb3:i386 libmpg123-0:i386 libncurses6:i386 libnettle6:i386
libodbc1
libodbc1:i386 libopenal-data libopenal1 libopenal1:i386
liborc-0.4-0:i386 libosmesa6 libosmesa6:i386 libp11-kit0:i386 libpcap0.8
libpcap0.8:i386 libpci3:i386 libperl5.28:i386 libsamplerate0:i386
libsane libsane:i386 libsane-common libsasl2-2:i386
libsasl2-modules:i386 libsasl2-modules-db:i386 libsnmp-base libsnmp30
libsnmp30:i386 libssl1.1:i386 libtasn1-6:i386 libusb-1.0-0:i386
libv4l-0 libv4l-0:i386 libv4lconvert0 libv4lconvert0:i386
libvisual-0.4-0:i386 libvkd3d1 libvkd3d1:i386 libvulkan1 libvulkan1:i386
libxcomposite1:i386 libxpm4:i386 libxslt1.1:i386 mariadb-common
mysql-common ocl-icd-libopencl1 ocl-icd-libopencl1:i386 sane-utils
update-inetd wine-stable wine-stable-amd64 wine-stable-i386:i386
winehq-stable
0 upgraded, 100 newly installed, 0 to remove and 0 not upgraded.
Need to get 179 MB of archives.
After this operation, 1,086 MB of additional disk space will be used.
Do you want to continue? [Y/n]
You whore. A Gig and a half for Wine? Come on. Well, my next move was to see if there was a better way to accomplish what I want. I had a look at coLinux and andLinux but they are a steaming mess that essentially runs through XMing. So now I am back to thinking that my best bet is simply to run XP with MyPal. Seriously? This is what it has come to? What a disappointment. Not MyPal... that's not a disappointment, the real problem is that of all the OS choices my best bet is still XP.