Announcement

Collapse
No announcement yet.

Wine-Staging 2.3 Still Tuning Direct3D CSMT

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wine-Staging 2.3 Still Tuning Direct3D CSMT

    Phoronix: Wine-Staging 2.3 Still Tuning Direct3D CSMT

    The developers behind the Wine-Staging tree that carries various experimental patches atop the latest upstream Wine repository for running Windows programs on Linux/macOS have announced their newest bi-weekly build...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Hope The Witcher 3 will work soon with Wine! :-)

    Comment


    • #3
      Originally posted by Steffo View Post
      Hope The Witcher 3 will work soon with Wine! :-)
      It's now bronze rated and is *almost* playable though it still is heavily graphically corrupted.

      Comment


      • #4
        Is that so? Luckily there's a GOG version of the game so we won't have to deal with copy protection issues.

        Comment


        • #5
          Anyone having issues with some games using x360ce? People tell me this works with Wine 2.0, but I'm using Wine-Staging and some games don't seem to detect the 360 gamepad. Rayman Legends and Origins won't see it, but Ducktales Remastered and Dark Souls 2 will see the 360 gamepad. Anyone know why?

          Comment


          • #6
            Anyone having issues with some games using x360ce?
            The only time I actually tried it ~half a year ago was with I am Setsuna, and I wasn't able to make the game recognize it either.

            Not sure how wine (or Windows, for that matter) handles Joysticks in general, though. Given that the controller works flawlessly on Linux, it might be possible to provide provide native support in DirectInput/XInput/whatever Microsoft calls their APIs without having to resort to hacks like x360ce, but I wouldn't even know where to start.

            Regarding Witcher 3, didn't even know it was running at all in wine - great news indeed!
            Last edited by VikingGe; 08 March 2017, 03:49 PM.

            Comment


            • #7
              x360ce can be quite hit and miss with Wine, as can alternative native solutions like koku-xinput-wine and wine-xinput. The good news is that the stuff in Wine needed to make this work without additional hacks is slowly but surely coming together.

              Comment


              • #8
                Originally posted by VikingGe View Post
                The only time I actually tried it ~half a year ago was with I am Setsuna, and I wasn't able to make the game recognize it either.

                Not sure how wine (or Windows, for that matter) handles Joysticks in general, though. Given that the controller works flawlessly on Linux, it might be possible to provide provide native support in DirectInput/XInput/whatever Microsoft calls their APIs without having to resort to hacks like x360ce, but I wouldn't even know where to start.
                Windows provides two completely separate Joystick APIs:
                1. DirectInput supports anything, but it doesn't really know much beyond "I've got X number of buttons, Y number of axes, and a hat switch". It's been around since Windows 95 days, provides a calibration GUI in the Control Panel for older hardware which doesn't self-calibrate, and Microsoft advises developers not to use it.
                2. XInput ignores anything that doesn't claim to be an XBox 360 controller and, thus, it's the controller's fault if the game's assumptions about it are broken.

                Linux provides two completely separate Joystick APIs, each with its own flaws, and that's why Wine lists every joystick twice:
                1. joydev (/dev/input/jsX) endpoints are for joysticks only. They provide calibration support, but they date back to the days of /dev/kbd and /dev/mouse and Linux developers are trying to phase them out.
                2. evdev (/dev/input/eventX) endpoints are for all kinds of input devices. They're recommended and they're what SDL2-based games will use, but you're SOL if a game ported from Windows didn't reinvent the Windows joystick calibration dialog.

                Wine implements DirectInput but doesn't yet implement XInput. That's why you need x360ce.

                (You're basically stacking translation layers. Game --XInput--> x360ce --DirectInput--> Wine --joydev/evdev--> Linux.)

                It's perfectly possible to implement XInput for Wine... it's just that nobody's done it yet.

                ...and the only reason x360ce is necessary on Windows is that Microsoft thought it would be more profitable to whitelist for 360-compatible controllers than to implement a whole-OS joystick mapping UI.

                He who implements the XInput API in Wine has full control over what input devices it'll present to the game and, given that SDL's GameController API is basically "XInput for all", Wine could do pretty nicely if it bundled a copy of SDL's auto-mapping databases (ideally, both the main and community-sourced ones) and obeyed the environment variable that SDL uses to receive custom mappings from things like Steam.

                (If you're curious, either grab a copy of SDL2 Gamepad Tool or grab Antimicro (the world's best joystick-to-keyboard/mouse mapper) and go into Options > Game Controller Mapping. Either will include a field which shows a raw view of the SDL 2 mapping string you've built by playing with the higher-level controls.)
                Last edited by ssokolow; 08 March 2017, 04:23 PM.

                Comment


                • #9
                  If you want to emulate an Xbox controller then I recommend xboxdrv. Official development has stalled but I've been making some fixes and improvements that I intend to pull together into a fork of sorts.

                  Comment


                  • #10
                    Originally posted by Dukenukemx View Post
                    Anyone having issues with some games using x360ce? People tell me this works with Wine 2.0, but I'm using Wine-Staging and some games don't seem to detect the 360 gamepad. Rayman Legends and Origins won't see it, but Ducktales Remastered and Dark Souls 2 will see the 360 gamepad. Anyone know why?
                    X360ce stopped working (as it used to be) with Wine after the 1.9.24 vanilla release. The last (compatible with x360ce) Wine Staging release is 1.9.23.
                    Although a simple xinput override could fix it.

                    Edit:


                    From the changelog:
                    xinput1_1: Prefer builtin DLL.
                    xinput1_2: Prefer builtin DLL.
                    xinput1_4: Prefer builtin DLL.
                    xinput9_1_0: Prefer builtin DLL.
                    So override them in winecfg to: (native, builtin).
                    Last edited by philips; 08 March 2017, 06:13 PM.

                    Comment

                    Working...
                    X