Skip to content

wine: Update to v11.0#7708

Merged
EbonJaeger merged 4 commits intomainfrom
update-wine-but-better
Jan 30, 2026
Merged

wine: Update to v11.0#7708
EbonJaeger merged 4 commits intomainfrom
update-wine-but-better

Conversation

@sheepman4267
Copy link
Member

@sheepman4267 sheepman4267 commented Jan 26, 2026

Summary
- Makes wine work at all
- Release notes can be found here

Test Plan
- Test wine. See that it does not work.
- Build and install wine and wine-32bit from this PR.
- See that winecfg and wine notepad and such works now.
- Build and install winetricks from this PR.
- Note that it works. We get a warning about WoW64 mode, but that's to be expected.
- Build and install lutris from this PR.
- Test it somehow. I don't know how. Gavin said it worked, though.
- Celebrate the removal of PlayOnLinux, as it was a sneaky, sneaky python2 user which slipped through the cracks and has been broken for months.

Checklist

  • Package was built and tested against unstable
  • This change could gainfully be listed in the weekly sync notes once merged

@HarveyDevel
Copy link
Member

The package wine-32bit now only contains

            <Path fileType="executable">/usr/bin/wine</Path>
            <Path fileType="data">/usr/share/applications/wine.desktop</Path>

There is no /usr/bin/wine64 but there is a /usr/share/applications/wine64.desktop so unless you installed wine + wine-32bit you would not have a working wine install.

The 32bit package / build shouldn't exist any more?

@GZGavinZhao
Copy link
Member

GZGavinZhao commented Jan 27, 2026

My understanding is the wine64 indeed doesn't exist now. It seems like the flag to control building for 32-bit Windows applications is --enable-archs=x86_64,i386. No more emul32 needed since we're not actually running Wine on 32-bit targets; Wine just needs the ability to run 32-bit Windows targets which is quite different from running Wine itself under 32-bit Linux. This recipe worked for me:

Details
# yaml-language-server: $schema=/usr/share/ypkg/schema/schema.json
name       : wine
version    : '11.0'
release    : 201
source     :
    - https://dl.winehq.org/wine/source/11.0/wine-11.0.tar.xz : c07a6857933c1fc60dff5448d79f39c92481c1e9db5aa628db9d0358446e0701
license    : LGPL-2.1-or-later
component  : virt
homepage   : https://www.winehq.org/
summary    : Wine is a compatibility layer for Windows applications
description: |
    Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
builddeps  :
    - pkgconfig32(OpenCL)
    - pkgconfig32(alsa)
    - pkgconfig32(cups)
    - pkgconfig32(dbus-1)
    - pkgconfig32(glu)
    - pkgconfig32(gnutls)
    - pkgconfig32(gstreamer-plugins-base-1.0)
    - pkgconfig32(gtk+-3.0)
    - pkgconfig32(ice)
    - pkgconfig32(krb5)
    - pkgconfig32(libgphoto2)
    - pkgconfig32(libpcap)
    - pkgconfig32(libpulse)
    - pkgconfig32(libtiff-4)
    - pkgconfig32(libturbojpeg)
    - pkgconfig32(libusb-1.0)
    - pkgconfig32(libv4l1)
    - pkgconfig32(libvkd3d)
    - pkgconfig32(ncursesw)
    - pkgconfig32(ocl-icd)
    - pkgconfig32(odbc)
    - pkgconfig32(sdl2)
    - pkgconfig32(vulkan)
    - pkgconfig32(xi)
    - pkgconfig32(xinerama)
    - pkgconfig32(xshmfence)
    - pkgconfig32(xxf86vm)
    - pkgconfig(libavcodec)
    - pkgconfig(libpcsclite)
    - pkgconfig(netapi)
    - pkgconfig(sane-backends)
    - glibc-32bit-devel
    - libpth-32bit-devel
    - mingw-w64-32bit
patterns   :
    - 32bit :
        - /usr/bin/wine
        - /usr/share/applications/wine.desktop
rundeps    :
    - 32bit :
        - freetype2-32bit
        - harfbuzz-32bit
        - gstreamer-1.0-plugins-base-32bit
        - kerberos-32bit
        - libcap2-32bit
        - libgcrypt-32bit
        - libgnutls-32bit
        - libpng15-32bit
        - libtiff-32bit
        - libtxc_dxtn-32bit
        - libxcursor-32bit
        - libxrandr-32bit
        - mesalib-32bit
        - ncurses-32bit
        - sdl2-32bit
        - unixodbc-32bit
        - vulkan-32bit
    - libpng15
    - unixodbc
environment: |
    export PATH=/usr/share/mingw-w64/bin:$PATH
strip      : no
setup      : |
    %patch -p1 -i $pkgfiles/0001-Do-not-hijack-file-associations.patch

    %configure \
      --prefix=/usr \
      --libdir=/usr/lib \
      --disable-tests \
      --enable-archs=x86_64,i386 \
      --enable-build-id
build      : |
    %make
install    : |
    # %make_install -C wine32
    # %make_install -C wine64
    %make_install
    %install_license AUTHORS COPYING.LIB LICENSE LICENSE.OLD MAINTAINERS

    # rm -f $installdir/usr/lib*/wine/*/*.a

    # i686-w64-mingw32-strip $installdir/usr/lib32/wine/i386-windows/*
    # x86_64-w64-mingw32-strip $installdir/usr/lib64/wine/x86_64-windows/*

    install -Dm00644 $pkgfiles/wine64.desktop $installdir/usr/share/applications/wine64.desktop
    install -Dm00644 $pkgfiles/org.winehq.Wine.metainfo.xml -t $installdir/usr/share/metainfo/

    # Note: systemd-binfmt must be (re)started for this to work
    install -Dm00644 $pkgfiles/wine.binfmt $installdir/%libdir%/binfmt.d/wine.conf

    # Font aliasing settings for Win32 applications
    install -dm00755 $installdir/usr/share/fontconfig/conf.default
    install -Dm00644 $pkgfiles/30-win32-aliases.conf -t $installdir/usr/share/fontconfig/conf.avail
    ln -srv ${installdir}/usr/share/fontconfig/conf.avail/30-win32-aliases.conf ${installdir}/usr/share/fontconfig/conf.default/30-win32-aliases.conf

@sheepman4267
Copy link
Member Author

@GZGavinZhao Oh, awesome. I started to look into this earlier- didn't get very far into the docs before needing to go do something else. Do you want me to update this PR with your recipe, or would you rather open your own PR (since you've now actually done the work)?

@GZGavinZhao
Copy link
Member

Can you update your PR with the recipe? It was basically just pasted from the Arch version and still needs a bit more polishing. Thanks!

@sheepman4267
Copy link
Member Author

Working on it!

@sheepman4267
Copy link
Member Author

FYI: I am still working on this; since wine-32bit is going away with 11.0, all of its revdeps need to be rebuilt. Naturally, winetricks works easily. lutris rebuilds, but I have no earthly clue how to use it. playonlinux.... well, it won't build without python2, and its most recent release was in 2020.

@GZGavinZhao
Copy link
Member

GZGavinZhao commented Jan 30, 2026

I can confirm lutris and winetricks work, I've rebuilt it locally and I have been using it (Lutris) to play Arknights:Endfield since.

@sheepman4267
Copy link
Member Author

I can confirm lutris and winetricks work, I've rebuilt it locally and I have been using it to play Arknights:Endfield since.

Heck yeah. Once ready, this PR will deprecate PoL.

I'm also updating winetricks because why not.

@sheepman4267
Copy link
Member Author

For anyone following along, I have all these changes functioning, but need to fix an issue with the wine build not removing static libraries. Out of time for tonight but this is in progress!

@sheepman4267 sheepman4267 force-pushed the update-wine-but-better branch from ad15b31 to a219f8d Compare January 30, 2026 16:57
@sheepman4267 sheepman4267 force-pushed the update-wine-but-better branch from a219f8d to 2d5da00 Compare January 30, 2026 21:15
**Summary**
    - Makes wine work at all
    - Release notes can be found [here](https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0)
    - Removes emul32 build in favor of WINE's new WoW64 mode
**Summary**
    - Changes rundep from `wine-32bit` to `wine`
**Summary**
    - No summarized changelog available.
    - Full commit log available [here](Winetricks/winetricks@2025010...2026012)
    - Changes rundep from `wine-32bit` to `wine` for wine 11.0
**Summary**
    - PlayOnLinux was last updated in 2020, and it relies on Python2.
    - wine-32bit doesn't exist with wine >= 11.0.
@sheepman4267 sheepman4267 force-pushed the update-wine-but-better branch from 2d5da00 to 4b99df2 Compare January 30, 2026 21:22
Copy link
Member

@EbonJaeger EbonJaeger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@EbonJaeger EbonJaeger merged commit 55e682d into main Jan 30, 2026
1 check passed
@EbonJaeger EbonJaeger deleted the update-wine-but-better branch January 30, 2026 21:40
@github-project-automation github-project-automation bot moved this from Triage to Done in Solus Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants