mviereck / dockerfile-x11docker-xfce-wine-playonlinux

Xfce desktop including wine, playonlinux and pulseaudio.
MIT License
10 stars 7 forks source link

Update Wine #3

Closed master-bob closed 6 years ago

master-bob commented 6 years ago

Wine used in the XFCE host is 1.8.x, which is rather old.

Using winehq's repos will allow you to use wine 3.0.1.

Instructions for this are here: https://wiki.winehq.org/Debian

master-bob commented 6 years ago

I have the basics of this done. The only issue is that Wine 3 does not look for the Gecko .msi in the /usr/share/wine location. I know that if the .msi is in /home/$CurrentUser/.cache/wine, Wine3 will pick it up.

Any suggestion on the best way to resolve this?

mviereck commented 6 years ago

Does wine-stable_3.01 install to /usr/bin? If not, and wine is somewhere in /opt, we need to adjust the storage location.

The installation guide for wine says:

Files are installed to /opt/wine-devel or /opt/wine-staging.

The installation guide for gecko says:

If you installed Wine in some $prefix rather than /usr, place the .msi files in $prefix/share/wine/gecko/ instead of /usr/share/wine/gecko. (e.g. if you installed it from source, then place the files in /usr/local/share/wine/gecko).

The installation guide for mono says something similar:

/usr/share/wine/mono, or possibly some substitution for /usr if Wine was installed to a different location.

However, if location in /home/$CurrentUser/.cache/wine works, we can use that.

x11docker/xfce contains a script for ENTRYPOINT. We can copy it to x11docker/xfce-wine-playonlinux and modify it:

# startscript to copy dotfiles from /etc/skel and to create softlinks to mono and gecko
# runs either CMD or image command from docker run
RUN echo '#! /bin/sh\n\
[ -n "$HOME" ] && [ ! -e "$HOME/.config" ] && cp -R /etc/skel/. $HOME/ \n\
mkdir -p $HOME/.cache/wine \n\
ln -s /usr/share/wine/gecko/wine_gecko-2.47-x86.msi $HOME/.cache/wine \n\
ln -s /usr/share/wine/mono/wine-mono-4.7.1.msi $HOME/.cache/wine \n\
exec $*\n\
' > /usr/local/bin/start 
RUN chmod +x /usr/local/bin/start 

ENTRYPOINT ["/usr/local/bin/start"]
CMD ["startxfce4"]

I have added softlinks of gecko and mono to $HOME/.cache/wine. That may work.

master-bob commented 6 years ago

Winehq wine-stable installs to /opt/wine-stable. Symlinks are made in /usr/bin.

The guides are out of date as wine3 does not detect the Gecko .msi in either /usr/share/wine/gecko or /opt/wine-stable/share/wine/gecko. I have seen /home/$CurrentUser~/.cache/wine work.

I will take what I've finished so far, add a PR, and then either you or I can add the ENTRYPOINT business to finish it.

mviereck commented 6 years ago

As written in https://github.com/mviereck/dockerfile-x11docker-xfce-wine-playonlinux/pull/6#issuecomment-396044555 I've decided to stay with wine from debian repo. Other wine versions are available with Playonlinux.

Thanks for your contribution!