On Sat Mar 22 23:08:45 2025 +0000, Robert Lippmann wrote:
> Oops. Well, they all actually just return errors.
> Which is what I think the problem is.
> Should I close this and just submit a patch that implements them?
> I'd probably do it simpler with just a hack with a static variable anyway.
Or should I keep the registry related code?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98771
On Sat Mar 22 22:59:02 2025 +0000, Nikolay Sivov wrote:
> All 4 functions you mentioned are already present in current code, in a
> form of stubs. So you don't need to update the spec file.
Oops. Well, they all actually just return errors.
Which is what I think the problem is.
Should I close this and just submit a patch that implements them?
I'd probably do it simpler with just a hack with a static variable anyway.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98770
On Sat Mar 22 22:54:23 2025 +0000, Robert Lippmann wrote:
> As for ordinal numbers, I just copied and pasted what winedump gave me.
> Should I change them all to @'s?
All 4 functions you mentioned are already present in current code, in a form of stubs. So you don't need to update the spec file.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98769
On Sat Mar 22 22:43:07 2025 +0000, Nikolay Sivov wrote:
> Header is another thing, but source files do not have to match how
> functions are arranged in the SDK.
Sorry, just seemed like a good idea because the existing file is pretty big and full of functions returning not implemented.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98768
On Sat Mar 22 22:43:29 2025 +0000, Nikolay Sivov wrote:
> So what does it need exactly, and why stubs are not enough?
Sorry, I'm new to this :disappointed:
What would happen if it was just a stub?
I also figured, while I was there, I might as well implement it...
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98767
On Sat Mar 22 22:53:43 2025 +0000, Robert Lippmann wrote:
> From what I can tell, it uses:
> PowerSetActiveScheme
> PowerGetActiveScheme
> PowerReadFriendlyName
> PowerEnumerate
> I'm hoping just implementing the first 2 will get it to work.
As for ordinal numbers, I just copied and pasted what winedump gave me. Should I change them all to @'s?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98766
On Sat Mar 22 22:41:35 2025 +0000, Nikolay Sivov wrote:
> I meant ordinal numbers, preceding calling convention marker "stdcall".
> Does SteamVR require any of newer functions?
From what I can tell, it uses:
PowerSetActiveScheme
PowerGetActiveScheme
PowerReadFriendlyName
PowerEnumerate
I'm hoping just implementing the first 2 will get it to work.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98765
On Sat Mar 22 22:37:26 2025 +0000, Robert Lippmann wrote:
> SteamVR's vrmonitor.exe tries to change the power profile and crashes
> with an access violation.
> Valve has been bugged about this for years, since they really shouldn't
> be doing it. So, I figure it will never be fixed by them.
So what does it need exactly, and why stubs are not enough?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98764
On Sat Mar 22 22:31:59 2025 +0000, Robert Lippmann wrote:
> Well, according to the SDK, the header is now powersetting.h, not
> powrprof.h, which is why I created the new file.
Header is another thing, but source files do not have to match how functions are arranged in the SDK.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98763
On Sat Mar 22 22:41:16 2025 +0000, Robert Lippmann wrote:
> Oops, I just took the output of winedump and didn't change the numbers
> to @'s.
I meant ordinal numbers, preceding calling convention marker "stdcall". Does SteamVR require any of newer functions?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98762
On Sat Mar 22 22:32:59 2025 +0000, Robert Lippmann wrote:
> These are additional power related functions that were defined in
> Windows Vista (the current code is like 20 years old).
Oops, I just took the output of winedump and didn't change the numbers to @'s.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98761
On Sat Mar 22 22:37:26 2025 +0000, Nikolay Sivov wrote:
> Do you have an application that depends on those functions returning anything?
SteamVR's vrmonitor.exe tries to change the power profile and crashes with an access violation.
Valve has been bugged about this for years, since they really shouldn't be doing it. So, I figure it will never be fixed by them.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98760
On Sat Mar 22 22:35:07 2025 +0000, Nikolay Sivov wrote:
> Hi, @rlippmann. This needs some basic cleanup first - fixup commits
> should be merged with main commits so that MR has a clean list of
> wellformed changes. Note that you don't need to create a new MR every
> time you want to change something. Just force push to the same branch.
I've been trying to. Unfortunately the pipeline build fails every time saying it couldn't get my credentials even though I've set git global username and email address.
I've been trying to figure out why that happens, hence the multiple (closed) merge requests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98759
On Sat Mar 22 22:15:29 2025 +0000, Nikolay Sivov wrote:
> Why do you need this?
These are additional power related functions that were defined in Windows Vista (the current code is like 20 years old).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98758
On Sat Mar 22 22:15:29 2025 +0000, Nikolay Sivov wrote:
> You probably don't need a new file for this.
Well, according to the SDK, the header is now powersetting.h, not powrprof.h, which is why I created the new file.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7644#note_98757
This fixes a real problem and improves behavior at the same time.
- Fixes: hanging when trying to run Wine built with epoll_pwait2 headers available
but epoll_pwait2 is missing in the run-time kernel (i.e. build 5.11->run 5.10)
- Improvement: bring the improved timeout resolution to Wine builds
which didn't have epoll_pwait2 at compile time, if the run-time kernel supports it
(i.e. build 5.10->run 6.14)
This last point is especially important in my opinion, as it applies to official Proton builds.
Proton is (currently) built in Debian 11 with kernel 5.10, but SteamOS is a moving target with
a much newer kernel version being used to run these Wine builds.
These builds use the lower resolution timeouts if epoll_pwait2 is only checked for at compile-time,
when it can cheaply and easily be done at run-time instead.
Fixes: 87ca5db40e2c1b37423bdc25101a5c5e39e67e6f
An alternative to !7640 that kills two birds with one stone.
--
v4: server: Fall back to epoll_wait if epoll_pwait2 isn't available at run-time.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7642
This fixes a real problem and improves behavior at the same time.
- Fixes: hanging when trying to run Wine built with epoll_pwait2 headers available
but epoll_pwait2 is missing in the run-time kernel (i.e. build 5.11->run 5.10)
- Improvement: bring the improved timeout resolution to Wine builds
which didn't have epoll_pwait2 at compile time, if the run-time kernel supports it
(i.e. build 5.10->run 6.14)
This last point is especially important in my opinion, as it applies to official Proton builds.
Proton is (currently) built in Debian 11 with kernel 5.10, but SteamOS is a moving target with
a much newer kernel version being used to run these Wine builds.
These builds use the lower resolution timeouts if epoll_pwait2 is only checked for at compile-time,
when it can cheaply and easily be done at run-time instead.
Fixes: 87ca5db40e2c1b37423bdc25101a5c5e39e67e6f
An alternative to !7640 that kills two birds with one stone.
--
v3: server: Fall back to epoll_wait if epoll_pwait2 isn't available at run-time.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7642
This fixes a real problem and improves behavior at the same time.
- Fixes: hanging when trying to run Wine built with epoll_pwait2 headers available
but epoll_pwait2 is missing in the run-time kernel (i.e. build 5.11->run 5.10)
- Improvement: bring the improved timeout resolution to Wine builds
which didn't have epoll_pwait2 at compile time, if the run-time kernel supports it
(i.e. build 5.10->run 6.14)
This last point is especially important in my opinion, as it applies to official Proton builds.
Proton is (currently) built in Debian 11 with kernel 5.10, but SteamOS is a moving target with
a much newer kernel version being used to run these Wine builds.
These builds use the lower resolution timeouts if epoll_pwait2 is only checked for at compile-time,
when it can cheaply and easily be done at run-time instead.
Fixes: 87ca5db40e2c1b37423bdc25101a5c5e39e67e6f
An alternative to !7640 that kills two birds with one stone.
--
v2: server: Fall back to epoll_wait if epoll_pwait2 isn't available at run-time.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7642
This fixes a real problem and improves behavior at the same time.
- Fixes: hanging when trying to run Wine built with epoll_pwait2 headers available
but epoll_pwait2 is missing in the run-time kernel (i.e. build 5.11->run 5.10)
- Improvement: bring the improved timeout resolution to Wine builds
which didn't have epoll_pwait2 at compile time, if the run-time kernel supports it
(i.e. build 5.10->run 6.14)
This last point is especially important in my opinion, as it applies to official Proton builds.
Proton is (currently) built in Debian 11 with kernel 5.10, but SteamOS is a moving target with
a much newer kernel version being used to run these Wine builds.
These builds use the lower resolution timeouts if epoll_pwait2 is only checked for at compile-time,
when it can cheaply and easily be done at run-time instead.
Fixes: 87ca5db40e2c1b37423bdc25101a5c5e39e67e6f
An alternative to !7640 that kills two birds with one stone.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7642