On 2010-11-28, Austin English contacted us, stating that he's working on porting Wine to the GNU/Hurd.

It is not yet clear how difficult this is going to be, what sort of requirements Wine has: only libc / POSIX / etc., or if there are advanced things like system call trapping involved, too.

Samuel suspects that there's some need for LDT table allocation. There is kernel support for this, however.

IRC, freenode, #hurd, 2011-08-11

< arethusa> I've been trying to make Wine work inside a Debian GNU/Hurd VM,
  and to that end, I've successfully compiled the latest sources from Git
  after installing the libc (devel) packages from experimental and
  personally patching Wine with http://pastebin.com/rg6dx09G

rg6dx09G.patch

< arethusa> my question is, when trying to launch Wine, I'm seeing "wine
  client error:0: sendmsg: (os/kern) invalid address" from the client side,
  whereas the wineserver seems to be starting and running correctly, how
  could I debug this issue further? using rpctrace doesn't seem to help, as
  the trace just hangs when run on the Wine loader instead of yielding
  insight
< kilobug> arethusa: isn't there a wine debuguer that can start a gdb when
  wine encounters an error or something like that ?
< arethusa> it's too early for that
< kilobug> or least give you a full traceback of the wine code where the
  error occur ?
< arethusa> the error is happening during initial connect to the
  wineserver, in dlls/ntdll/server.c
< arethusa> but that doesn't help me figure out why sendmsg would error out
  in this way
< arethusa>
  http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/server.c#l361
< azeem_> arethusa: probably some of the msghdr entries are not supported
  by the Hurd's glib
< azeem_> c
< pinotree> haha, socket credentials, which we don't support yet
< azeem_> yep
< pinotree> youpi: ↑ another case ;)
< azeem_> arethusa: just implement those and it should work
< kilobug> in pflocal ? or glibc ?
< pinotree> pflocal
< arethusa> azeem_: hmm, okay, thanks
< pinotree> arethusa: their lack is a known issue, and makes things like
  dbus and gamin not work
< arethusa> it's
  https://www.gnu.org/software/hurd/open_issues/sendmsg_scm_creds.html and
  related links I assume?

sendmsg scm creds

< youpi> yes
< pinotree> (but that patch is lame)

IRC, freenode, #hurd, 2013-10-02

<gnu_srs> youpi: I've come a little further with wine, see debian bug
  #724681 (same problem).
<gnu_srs> Now the problem  is probably due to the specific address space
  and stack issues to be
<gnu_srs> fixed for wine to run as braunr pointed out some months ago
  (IRC?) when we discussed wine.

IRC, freenode, #hurd, 2013-12-29

<Andre_H> Hi,
  http://www.gnu.org/software/hurd/open_issues/sendmsg_scm_creds.html seems
  fixed in Debian GNU/Hurd 2013, do you know which patch they used? i
  already asked in their channel, but well, there are only 18 people :)
<youpi> Andre_H: it hasn't been fixed in Debian GNU/Hurd. Work is discussed
  on the bug-hurd mailing list
<Andre_H> youpi: thx for the info, i wonder why wine now works with some
  hacks, but didn't in the past
<youpi> I guess some circumvention patch was added to wine
<youpi> does it actually really work, as in running applications for real?
<youpi> (I've nevere tried)
<Andre_H> youpi: i'm a wine developer and haven't seen circumventions for
  hurd... i also just tried winelib apps last night, will try... let's say
  powerpoint viewer today
<gnu_srs> Andre_H: How did you make wine run? I have patches for wine-1.4.1
  and 1.6.1 to build (so far unpublished), but it does not yet run
  properly.
<gnu_srs> test case: wine notepad
<Andre_H> gnu_srs: what's happening when you try that?
<gnu_srs> Andre_H: Currently it hangs at connect() (after creating the
  /tmp/.wine1000/.../socket, etc, and starting again)
<gnu_srs> seems to be some problem with the HURD_DPORT_USE macro in eglibc,
  investigation ongoing
<Andre_H> gnu_srs: well, i'm using the debian distro, maybe you're on
  something else? you could also pastebin your hacks, so i could have a
  look. i'm about to clean mine up to send them upstream... ntdll will be
  quite hard...

IRC, freenode, #hurd, 2013-12-30

<gnu_srs> wine runs:)
<gnu_srs> It's just extremely slow.,..

<gnu_srs> gg0: please don't reopen #733604 , I've filed an updated one:
  #7336045
<gnu_srs>  #733605
<gg0> gnu_srs: i've reassigned it from wine-1.6 (nonexistent) to wine
  (correct), then to src:wine (more correct), but between such
  reassignments you closed it so found command in the latter made it
  reopening
<gg0> then i realized you could mess up bugs on your own, without help :)
<gnu_srs> gg0: tks anyway, now it is src:wine and the title is right. Maybe
  you should have noted me on IRC?

<Andre_H> gnu_srs: what's your status about wine? i'm still about to get
  things upstream...
<gnu_srs> Andre_H: see debian bug #733605

IRC, freenode, #hurd, 2013-12-31

<Andre_H> gnu_srs: i didn't need the patches for
  dlls/mountmgr.sys/diskarb.c, maybe due to missing headers

IRC, freenode, #hurd, 2014-01-06

<Andre_H> Wanted to note that
  http://www.gnu.org/software/hurd/open_issues/wine.html is wrong about
  socket credentials, afaik they are still not implemented but that doesn't
  block Wine anymore
<Andre_H> In fact all you need to run Wine are the patches followed by
  https://source.winehq.org/patches/data/101439 (not yet upstream) or see
  http://wiki.winehq.org/Hurd

<braunr> Andre_H: thanks for your report
<Andre_H> np :)
<Andre_H> braunr: can someone update
  http://www.gnu.org/software/hurd/open_issues/wine.html please?
<braunr> Andre_H: well, you can :)
<Andre_H> log in with google -> check guidelines of your wiki -> try out
  your wiki syntax -> laziness alarm :)
<gnu_srs> Andre_H: The reason why wine runs now is a bug in SCM_CREDS was
  fixed, see the wine-devel ML.

<gnu_srs> Andre_H: s/SCM_CREDS/SCM_RIGHTS/
<Andre_H> gnu_srs: already updated our wiki :)
<Andre_H> gnu_srs: would you mind updating yours:
  http://www.gnu.org/software/hurd/open_issues/wine.html :)

<Andre_H> gnu_srs: two commits for wine are in now :)

IRC, freenode, #hurd, 2014-01-11

<gnu_srs1> Andre_H: Looks like the two committed patches did not go into
  wine-1.6.2:-(
<gnu_srs1> Additionally, your PATH_MAX fixes was not accepted?
<Andre_H> gnu_srs1: well, the stable branch is called stable because not
  everything get's there :)7
<Andre_H> gnu_srs1: the PATH_MAX patch needs more thinking...