Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

Recent Wine engine for Skyrim


  • Please log in to reply
15 replies to this topic

#1 ovvldc

ovvldc

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 424 posts
  • Graphics Card:nVIDIA 9400M
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:stories

Posted 18 April 2012 - 07:32 PM

I got a Wineskin wrapper somewhere that is based on a 1.3.17 engine, possibly customised. I managed to update the wrapper to 2.5.5 beta 2, which already improved performance.

I tried updating to doh123's 1.5.1-NoXInput2, but that gave me problems of a limited turning radius (and fullscreengrab=y and MWO=override didn't help). Then I tried thanoulas' 1.5-XInput2+RawPatch with TESV:SKyrim, but I got some weirdness: every now and then, the game seems to turn me around and warp me back into a specific direction.

This is a pity, because I noticed performance was surely up with a recent engine, to a point where it seemed reasonably playable at low settings even on my lowly 9400M. Does anyone have a 1.4/1.5.x based engine that works reliably with Skyrim?

I know that there is a cider-based wrapper out there, but I am just so close to getting this working ;).

#2 zoroaster

zoroaster

    Professional Member

  • Members
  • PipPipPipPip
  • 114 posts

Posted 18 April 2012 - 09:13 PM

I also made the same experiences... BUT now I think I have solved the mouse pointer problem with Skyrim!

I do not know if this is a bad hack or a bug fix but it seems to work without any issues (tested only for a few minutes).

To solve it you must compile a recent version of Wine without XInput2 (in my case 1.4 because of ATI problems).

Before you do you only need to delete the following single "!" char in source code of dlls/dinput/mouse.c:


static void warp_check( SysMouseImpl* This, BOOL force )
{
...
-	  if (!This->clipped)
+	  if (This->clipped)
		{
			mapped_center.x = (rect.left + rect.right) / 2;
			mapped_center.y = (rect.top + rect.bottom) / 2;
			TRACE("Warping mouse to %d - %d\n", mapped_center.x, mapped_center.y);
			SetCursorPos( mapped_center.x, mapped_center.y );
		}
...
}

I hope this really helps and someone gives me positive feedback :)

#3 hmtinc

hmtinc

    Infinity Team

  • Members
  • 1,262 posts
  • LocationCanada
  • Graphics Card:Nividia geforce 9400 (264mb)
  • Operating System:Mac OS X 10.8 (Mountain Lion)
  • I like to play:Cod
    Doom 1-3
    Minecraft
    Gta
    Fallout 1-4
    Real Racing 1-2
    Angry Birds
    Flight Control
    Braid
Author

Posted 18 April 2012 - 09:18 PM

View Postovvldc, on 18 April 2012 - 07:32 PM, said:

I got a Wineskin wrapper somewhere that is based on a 1.3.17 engine, possibly customised. I managed to update the wrapper to 2.5.5 beta 2, which already improved performance.

I tried updating to doh123's 1.5.1-NoXInput2, but that gave me problems of a limited turning radius (and fullscreengrab=y and MWO=override didn't help). Then I tried thanoulas' 1.5-XInput2+RawPatch with TESV:SKyrim, but I got some weirdness: every now and then, the game seems to turn me around and warp me back into a specific direction.

This is a pity, because I noticed performance was surely up with a recent engine, to a point where it seemed reasonably playable at low settings even on my lowly 9400M. Does anyone have a 1.4/1.5.x based engine that works reliably with Skyrim?

I know that there is a cider-based wrapper out there, but I am just so close to getting this working ;).
There was a wineskin wrapper for skyrim : but i got pulled down for some reason
I fact i use wineskin to run skyrim
although it runs much slower then the cider version
if you just ask on the forums i am sure some one would have a download link for the wineskin skyrim wrapper
Conclusion : Its already been done :D


Posted Image

Proud Supporter of the Infinity Engine Project

Sub-Moderator of Infinity Engine Section


#4 ovvldc

ovvldc

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 424 posts
  • Graphics Card:nVIDIA 9400M
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:stories

Posted 18 April 2012 - 09:43 PM

View Postzoroaster, on 18 April 2012 - 09:13 PM, said:

I also made the same experiences... BUT now I think I have solved the mouse pointer problem with Skyrim!

I do not know if this is a bad hack or a bug fix but it seems to work without any issues (tested only for a few minutes).

To solve it you must compile a recent version of Wine without XInput2 (in my case 1.4 because of ATI problems).

I hope this really helps and someone gives me positive feedback :)

Would you be able to put the dinput.dll file that you change with this patch somewhere, so that I don't have to go through the trouble of setting up a compile system?

Thanks,
Oscar

#5 ovvldc

ovvldc

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 424 posts
  • Graphics Card:nVIDIA 9400M
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:stories

Posted 18 April 2012 - 09:46 PM

It has been done, but I am trying to see if we can get a recent Wine build and see if that improves performance to Cider level. From what I have seen, the difference is pretty significant.

It isn't life or death, just something to try..

#6 doh123

doh123

    Wineskin Developer

  • Members
  • 3,990 posts
  • LocationOver here
  • Graphics Card:Geforce GT 650M, Intel HD 4000, Radeon 6750, Intel HD 3000, Geforce 320m (in 3 machines)
  • Operating System:Mac OS X 10.8 (Mountain Lion)
  • I like to play:RPG and Strategy

Posted 18 April 2012 - 10:55 PM

Compiling with W2.5.5B1EngineBase should be easy if you've found the download link to it.. I need more feedback about it though... you should be able to have any version of Xcode installed, and it will prompt you about installing its own gcc-4.2 if you don't have it... then you will have it no matter what Xcode version you have.

#7 zoroaster

zoroaster

    Professional Member

  • Members
  • PipPipPipPip
  • 114 posts

Posted 18 April 2012 - 11:10 PM

Here you should find my complete test Wineskin engine 1.4 no xinput2 with fixed warp (successfully compiled on Lion with the new beta Winery/EngineBase):

http://www.2shared.c...ut2Warptar.html


I would like to know if it is working (for me it works fine and in fact it does not run slower than Cider but I can use Steam and the game menu).

*Link deleted: please use my the new engines here.

#8 ovvldc

ovvldc

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 424 posts
  • Graphics Card:nVIDIA 9400M
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:stories

Posted 19 April 2012 - 10:19 AM

I only tested it for enough time to do a 360 degree turn, but it worked like a charm for my on Snow Leopard.

Thanks to you and to doh123 for making the build process so friendly :D

#9 DankoB

DankoB

    Legendary Member

  • Super Moderators
  • 2,269 posts
  • LocationNew Brunswick, Canada
  • Graphics Card:MBP wCoreDuo 2GB RAM
    ATI X1600 128MB vRAM
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:la rockitar
Author

Posted 19 April 2012 - 03:58 PM

View Postzoroaster, on 18 April 2012 - 09:13 PM, said:

I also made the same experiences... BUT now I think I have solved the mouse pointer problem with Skyrim!

I do not know if this is a bad hack or a bug fix but it seems to work without any issues (tested only for a few minutes).

To solve it you must compile a recent version of Wine without XInput2 (in my case 1.4 because of ATI problems).

Before you do you only need to delete the following single "!" char in source code of dlls/dinput/mouse.c:


static void warp_check( SysMouseImpl* This, BOOL force )
{
...
-	  if (!This->clipped)
+	  if (This->clipped)
		{
			mapped_center.x = (rect.left + rect.right) / 2;
			mapped_center.y = (rect.top + rect.bottom) / 2;
			TRACE("Warping mouse to %d - %d\n", mapped_center.x, mapped_center.y);
			SetCursorPos( mapped_center.x, mapped_center.y );
		}
...
}

I hope this really helps and someone gives me positive feedback :)

I don't quite understand what you're trying to explain or exactly which patches were used but if you would post your edited version of the patch/patches I'd love to compile it in to an engine.

Thanks
Posted Image

#10 zoroaster

zoroaster

    Professional Member

  • Members
  • PipPipPipPip
  • 114 posts

Posted 19 April 2012 - 09:40 PM

The above Wine version is official 1.4 compiled with --without-xinput2 (see download link above).

The only applied additional "patch" is quite simple, only one char is deleted (a NOT "!"):

--- a/dlls/dinput/mouse.c
+++ b/dlls/dinput/mouse.c
@@ -431,7 +431,7 @@
		 This->need_warp = FALSE;
		 if (!GetClientRect(This->base.win, &rect)) return;
		 MapWindowPoints( This->base.win, 0, (POINT *)&rect, 2 );
-		if (!This->clipped)
+		if (This->clipped)
		 {
			 mapped_center.x = (rect.left + rect.right) / 2;
			 mapped_center.y = (rect.top + rect.bottom) / 2;

I have opened a bug at winehq, because I do not understand the logic behind the original code. If the mouse cursor is clipped to a window then it makes sense to warp the mouse if warping is turned on (but for me it makes no sense to warp the mouse if cursor is not clipped):

http://bugs.winehq.o...ug.cgi?id=30476

#11 rynotheking14

rynotheking14

    Veteran Member

  • Members
  • PipPipPipPipPip
  • 475 posts
  • LocationCanada
  • Graphics Card:ATI Radeon 6750M
  • Operating System:Mac OS X 10.8 (Mountain Lion)
  • I like to play:Shooters, Action-RPG, Some-strategy

Posted 22 April 2012 - 09:16 PM

i pulled the wineskin wrapper for skyrim for 2 reasons.  A] Because the link was dead.  B] Because cider does it better and noobs find it easier with installation. (still somehow there are problems)....

#12 hmtinc

hmtinc

    Infinity Team

  • Members
  • 1,262 posts
  • LocationCanada
  • Graphics Card:Nividia geforce 9400 (264mb)
  • Operating System:Mac OS X 10.8 (Mountain Lion)
  • I like to play:Cod
    Doom 1-3
    Minecraft
    Gta
    Fallout 1-4
    Real Racing 1-2
    Angry Birds
    Flight Control
    Braid
Author

Posted 22 April 2012 - 11:11 PM

View Postrynotheking14, on 22 April 2012 - 09:16 PM, said:

i pulled the wineskin wrapper for skyrim for 2 reasons.  A] Because the link was dead.  B] Because cider does it better and noobs find it easier with installation. (still somehow there are problems)....
I found wineskin install more easier LoL
but thats my opinion


Posted Image

Proud Supporter of the Infinity Engine Project

Sub-Moderator of Infinity Engine Section


#13 DankoB

DankoB

    Legendary Member

  • Super Moderators
  • 2,269 posts
  • LocationNew Brunswick, Canada
  • Graphics Card:MBP wCoreDuo 2GB RAM
    ATI X1600 128MB vRAM
  • Operating System:Mac OS X 10.6 (Snow Leopard)
  • I like to play:la rockitar
Author

Posted 02 May 2012 - 04:19 AM

I'm gonna start following threads....just seeing this response now.  Too bad the bugzilla entrty was a duplicate, did you ever get a response zeroaster?
Posted Image

#14 zoroaster

zoroaster

    Professional Member

  • Members
  • PipPipPipPip
  • 114 posts

Posted 02 May 2012 - 06:13 PM

Unfortunately I did not get a response.

Maybe because XInput is old and the Wine developers do not want to support this anymore. Instead it seems they wanted relative movement in Xinput2/XServer solved (they indirectly have managed that now but there are still some other open issues in Wine itself).

#15 doh123

doh123

    Wineskin Developer

  • Members
  • 3,990 posts
  • LocationOver here
  • Graphics Card:Geforce GT 650M, Intel HD 4000, Radeon 6750, Intel HD 3000, Geforce 320m (in 3 machines)
  • Operating System:Mac OS X 10.8 (Mountain Lion)
  • I like to play:RPG and Strategy

Posted 02 May 2012 - 11:41 PM

yeah... they got relative and absolute info being passed from the X server now and Wine still doesn't work right... so Wine needs to be fixed.

#16 magster420

magster420

    Lurker

  • Members
  • 1 posts
  • Graphics Card:ATI Radeon HD 5870
  • Operating System:Mac OS X 10.7 (Lion)

Posted 05 May 2012 - 04:11 PM

View Postzoroaster, on 18 April 2012 - 11:10 PM, said:

Here you should find my complete test Wineskin engine 1.4 no xinput2 with fixed warp (successfully compiled on Lion with the new beta Winery/EngineBase):

http://www.2shared.c...ut2Warptar.html

I would like to know if it is working (for me it works fine and in fact it does not run slower than Cider but I can use Steam and the game menu).

Just wanted to say thanks for the test engine. It seems to have fixed the mouse issue, although the mouse seems a little slower outside of the original restricted "box"

Originally, it didn't run the game, so I had to winetricks the mouse warp override and opengl setting again.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users