No wine-pthread in 1.1.19 ?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
nobange
Newbie
Newbie
Posts: 3
Joined: Mon Oct 20, 2008 2:11 pm

No wine-pthread in 1.1.19 ?

Post by nobange »

I'm on Opensuse 11.0, just installed Wine 1.1.19 and there's no wine-pthread binary. So i downloaded sources, compiled and again no wine-pthread. What should I do to get this file? Is multithreading dropped in Wine now?
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

nobange wrote:I'm on Opensuse 11.0, just installed Wine 1.1.19 and there's no wine-pthread binary.
Correct, you shouldn't be calling it directly anyway. It's integrated into loader.
nobange
Newbie
Newbie
Posts: 3
Joined: Mon Oct 20, 2008 2:11 pm

Post by nobange »

Hmm, Wine 1.1.17 (Opensuse build) has it as separate file. Maybe I'm not aware of a change that took place meantime? Anyway, using wine-pthread instead of wine didn't make diference in Call Of Duty 4 and my Pentium DualCore was utilized only for 50% as usual, so I can understand why it's no more present. Maybe it just didn't work...
Jim
Level 2
Level 2
Posts: 48
Joined: Mon Feb 25, 2008 6:09 pm

Re: No wine-pthread in 1.1.19 ?

Post by Jim »

nobange wrote:I'm on Opensuse 11.0, just installed Wine 1.1.19 and there's no wine-pthread binary. So i downloaded sources, compiled and again no wine-pthread. What should I do to get this file? Is multithreading dropped in Wine now?
As I understand it the old wine-kthread went away in favor of the pthread implementation. As a result of kthread's death some simplification happened making it no longer necessary to have a separate binary for pthreads.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

Wine-pthread is the only available option now and really was for the past several years. Wine was and still does supports full multi-threading.

Your guess that something got simplified is wrong. What was single-threaded still is single-threaded. This for most part includes whole d3d and of course wineserver.

As for some games not using more then one core - most can't do that even on windows. What you might see on windows is a "fake" multi-threading - where same thread being switched from one core to another. While on Linux threads tend to get "assigned" to a particular core for their entire life. A lot more complicated then that of course, but good enough in layman's terms.
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Re: No wine-pthread in 1.1.19 ?

Post by fcmartins »

vitamin wrote: What you might see on windows is a "fake" multi-threading - where same thread being switched from one core to another.
This doesn't make much sense to me. I guess you meant the same process being switched between cores?
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

fcmartins wrote:
vitamin wrote: What you might see on windows is a "fake" multi-threading - where same thread being switched from one core to another.
This doesn't make much sense to me. I guess you meant the same process being switched between cores?
Processes don't use CPU, threads do.

Process is just resource - memory, handles, etc. Thread is what actually being executed on a CPU. Each process has at least one thread.
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Re: No wine-pthread in 1.1.19 ?

Post by fcmartins »

vitamin wrote: Processes don't use CPU, threads do.

Process is just resource - memory, handles, etc. Thread is what actually being executed on a CPU. Each process has at least one thread.
This might be true in some specific multithreading implementation you might have in mind, but it's not true in general and surely was not true for the original definition of a process, which lasted many years. From Wikipedia, http://en.wikipedia.org/wiki/Process_(computing): "a process is an instance of a computer program that is being sequentially executed".

Multithreading only appeared, for practical purposes, 15-20 years ago or so, allowing one to really differentiate between a process and a thread. Before that everything was a process, which was _seen_ as a single thread of execution. It was still a process, though, being executed by the CPU. Furthermore, most initial implementations (e.g., C threads) were working at library level and the operating system was not even really aware of the internal process thread switching. Thus for the operating system, all it was being run was a process.

As a matter of fact I wonder whether Linux implements multithreading at kernel level or library level. Getting off-topic anyway.
perryh

No wine-pthread in 1.1.19 ?

Post by perryh »

"fcmartins" <[email protected]> wrote:
vitamin wrote:
Processes don't use CPU, threads do.

Process is just resource - memory, handles, etc. Thread is what
actually being executed on a CPU. Each process has at least one
thread.
This might be true in some specific multithreading implementation
you might have in mind, but it's not true in general ...
I suspect vitamin was giving you the Windows definitions, since
that is what Windows apps expect and thus what Wine must provide
(or, at least, appear to).

The notion of a process being a resource container does not sound
all that Unix/Linux-ish to me, either, but I would not be at all
surprised to find it considered standard terminology in Windows.
Martin Gregorie

No wine-pthread in 1.1.19 ?

Post by Martin Gregorie »

On Wed, 2009-04-15 at 02:07 -0500, fcmartins wrote:
As a matter of fact I wonder whether Linux implements multithreading
at kernel level or library level. Getting off-topic anyway.
Its kernel level in Linux. You can see all the threads each process uses
if you want to. Here's how:

- Start a multi-threaded process. A native Java program is a good
choice. Since the garbage collector and the Swing display manager
have separate threads you'll see at least three.

- While that's running, execute the command "ps -eLf" and you'll see all
the threads that are running in the system.

- the ones with the same pid and executable name all belong to the same
process.

If threads were merely a figment of some library's imagination you
couldn't see them this way.


Martin
fcmartins
Level 4
Level 4
Posts: 114
Joined: Sat Nov 01, 2008 5:48 pm

Re: No wine-pthread in 1.1.19 ?

Post by fcmartins »

Martin Gregorie wrote: Its kernel level in Linux....
Thanks for the info. From this article: http://www.linuxjournal.com/article/1363

threads are available since kernel 2.0 "(and many version 1.3 kernels)."
[/url]
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

fcmartins wrote:Multithreading only appeared, for practical purposes, 15-20 years ago
If you want to talk about ancient times, do it somewhere else. Wine isn't that old.

Also look at the topic, it says "pthreads" as in POSIX-threads. Those are real kernel level threads on all systems now days.

Yes some long time ago all threads were separate processes. This is what Wine had support for "kthreads" for. But now this support is removed. And only real threads are supported.
James McKenzie

No wine-pthread in 1.1.19 ?

Post by James McKenzie »

vitamin wrote:
fcmartins wrote:
Multithreading only appeared, for practical purposes, 15-20 years ago
If you want to talk about ancient times, do it somewhere else. Wine isn't that old.

Also look at the topic, it says "pthreads" as in POSIX-threads. Those are real kernel level threads on all systems now days.

Yes some long time ago all threads were separate processes. This is what Wine had support for "kthreads" for. But now this support is removed. And only real threads are supported.
That is so for Linux but what about the 'other' Unixes? I will look at
what happens under MacOSX to see if threads are supported.

This has been a very interesting and good discussion.

James McKenzie
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

James McKenzie wrote:That is so for Linux but what about the 'other' Unixes?
Then Wine is not compatible with those. There are more to p-threads then just ... multi-threading. Wine depends on those other pieces much more then "real" threads.

P-threads been around long enough for everyone even the most lazy ones to implement them. And there is even full p-thread implementation for winnt+.
ryan woodsmall

No wine-pthread in 1.1.19 ?

Post by ryan woodsmall »

Every recent *nix-like OS supports POSIX Threads, including Mac OS X/
Darwin. If pthreads aren't supported, most modern-ish programs won't
even compile, let alone function. On OS X pthreads are tightly
integrated with the C library (libc & libSystem), similar to NPTL and
glibc on Linux.

http://en.wikipedia.org/wiki/POSIX_Threads

ryan woodsmall
[email protected]


"Be well, do good work, and keep in touch." - Garrison Keillor




On Apr 15, 2009, at 8:39 PM, James McKenzie wrote:
That is so for Linux but what about the 'other' Unixes? I will look
at
what happens under MacOSX to see if threads are supported.

This has been a very interesting and good discussion.

James McKenzie
Martin Gregorie

No wine-pthread in 1.1.19 ?

Post by Martin Gregorie »

On Wed, 2009-04-15 at 18:39 -0700, James McKenzie wrote:
That is so for Linux but what about the 'other' Unixes? I will look at
what happens under MacOSX to see if threads are supported.
That depends very much on what kernel the Unix flavour uses. Anything
based on the Mach micro-kernel (which is tiny and does nothing but pass
messages between the other kernel code modules) will be very different
from the rest in both thread implementation and performance bottlenecks.

The Linux kernel is heading that way with its increased use of user
space processes but still is a long way from the Mach's stripped down
heart and. as others have said, thread implementation changed completely
with the 2.x kernel.

IOW, the various *nixen can be very different internally provided that
they present the same set of APIs, shells and filing system to
applications and the user: IOW if you only ever run applications on
Windows using the cygwin or uwin toolset and never run native Windows
applications you can almost claim to be running a Unix.


Martin
Freakazo
Level 2
Level 2
Posts: 11
Joined: Fri May 08, 2009 11:23 pm

Post by Freakazo »

I have the same problem, when running something with wine-pthread I get an error message saying it's wine-pthread is not installed.
wine-pthread --version just confirms that it's not installed.
James Mckenzie

No wine-pthread in 1.1.19 ?

Post by James Mckenzie »

Freakazo wrote about No wine-pthread in 1.1.19 ?
I have the same problem, when running something with wine-pthread I get an error message saying it's wine-pthread is not installed.
wine-pthread --version just confirms that it's not installed.
wine-pthread was removed from this version forward. pthread is not supported by modern Linux kernels and the Mach-O system. Is there a particular reason that you NEED pthreads vice kernel based threading?

James McKenzie
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: No wine-pthread in 1.1.19 ?

Post by vitamin »

James Mckenzie wrote:wine-pthread was removed from this version forward. pthread is not supported by modern Linux kernels and the Mach-O system.
Eh? You mean other way around?

P-Threads (POSIX threads) are the default threading model on most *NIX now days.

"wine-pthread" was removed indeed as it's now integrated into loader as the only remaining option.
James McKenzie

No wine-pthread in 1.1.19 ?

Post by James McKenzie »

vitamin wrote:
James Mckenzie wrote:
wine-pthread was removed from this version forward. pthread is not supported by modern Linux kernels and the Mach-O system.
Eh? You mean other way around?

P-Threads (POSIX threads) are the default threading model on most *NIX now days.

"wine-pthread" was removed indeed as it's now integrated into loader as the only remaining option.

Yep. I knew that this was removed. I'm guessing that k-thread was the
last remaining and removed threading method. My mistake.

James McKenzie
Freakazo
Level 2
Level 2
Posts: 11
Joined: Fri May 08, 2009 11:23 pm

Re: No wine-pthread in 1.1.19 ?

Post by Freakazo »

vitamin wrote: "wine-pthread" was removed indeed as it's now integrated into loader as the only remaining option.
The reason I'm asking is because in some games it is reported that using wine-pthread increases the performance in some games.

So how do I enable it, or is it enabled now by default? Or is it integrated in the sense that it has merged together and it's now simply not an option but a part of wine?

Thanks for any help, just want to learn more about wine, and how to get most out of it :)
Locked