XMBC vs. wine in linux
Forum rules
Please read the forum rules before posting for the first time.
The more information you can provide, the quicker and more accurately someone can help.
NOTE: To reduce spam, new users can not post links, files or images until they have at least 4 posts.
Please read the forum rules before posting for the first time.
The more information you can provide, the quicker and more accurately someone can help.
NOTE: To reduce spam, new users can not post links, files or images until they have at least 4 posts.
XMBC vs. wine in linux
As You already know, (look for my posts;) I'm linux user and I like to play some games under wine
It've got a crazy idea: to use more buttons in XMBC under wine by breaking/extending windows API compatibility.
Windows sucks in case of extra mouse buttons (as it doesn't support enough buttons by default), Linux is a little bit better here.
Button clicks, wheel, side button, extra button (office button in my case) are suported by simple ButtonPress/ButtonRelease with button = 1, 2, etc. (in my case 1,2,3,4,5, 8,9,10 - 6,7 probably reserved for second wheel or something).
Wine translates those events to windows api events. As wine is open source we are allowed to create any modifications, patches etc. It should be quite simple to add dirty support for normally unsupported buttons by modyfing just a few files here: http://source.winehq.org/git/wine.git/t ... inex11.drv → mouse.c and events.c and some others... windows/input.c probably.
XMBC on the other hand is closed source - It's OK as it's free to use, well maintained and actively developed. XMBC seems to be the only program that might be able to catch those events and bind some functions to them, but it won't work without code modifications of XMBC.
I've tried to modify wine to send dwExtraInfo as described here: viewtopic.php?f=6&t=497 but I failed miserably (maybe because I cannot code, simpy? )
Maybe You, Phil, would like to cooperate here and add patches to your program and release alpha quality wine-flavour of XMBC?
We might use simple dwData as for side mouse buttons, or some other stuff - You know a lot about mouse api in windows and would like to suggest the best solution.
And, as always - it's just an idea, in this case very crazy idea.
PS. Probably patches for wine for this stuff won't be included in main wine tree - but it'd still be useful for those who can patch wine manually.
It've got a crazy idea: to use more buttons in XMBC under wine by breaking/extending windows API compatibility.
Windows sucks in case of extra mouse buttons (as it doesn't support enough buttons by default), Linux is a little bit better here.
Button clicks, wheel, side button, extra button (office button in my case) are suported by simple ButtonPress/ButtonRelease with button = 1, 2, etc. (in my case 1,2,3,4,5, 8,9,10 - 6,7 probably reserved for second wheel or something).
Wine translates those events to windows api events. As wine is open source we are allowed to create any modifications, patches etc. It should be quite simple to add dirty support for normally unsupported buttons by modyfing just a few files here: http://source.winehq.org/git/wine.git/t ... inex11.drv → mouse.c and events.c and some others... windows/input.c probably.
XMBC on the other hand is closed source - It's OK as it's free to use, well maintained and actively developed. XMBC seems to be the only program that might be able to catch those events and bind some functions to them, but it won't work without code modifications of XMBC.
I've tried to modify wine to send dwExtraInfo as described here: viewtopic.php?f=6&t=497 but I failed miserably (maybe because I cannot code, simpy? )
Maybe You, Phil, would like to cooperate here and add patches to your program and release alpha quality wine-flavour of XMBC?
We might use simple dwData as for side mouse buttons, or some other stuff - You know a lot about mouse api in windows and would like to suggest the best solution.
And, as always - it's just an idea, in this case very crazy idea.
PS. Probably patches for wine for this stuff won't be included in main wine tree - but it'd still be useful for those who can patch wine manually.
Re: XMBC vs. wine in linux
Well its certainly an interesting idea, but the main problem i have is that the gui work would be massive. The behind the scenes, button work probably would be quite easy, esp. if you can use the dwData like the 4th and 5th side buttons, but the gui configuration, for me, would make it complex enough to be not worth it - esp as I dont use linux/wine and there havnt not been to many others requesting such features.
It might however be possible to do the back end work, and leave the config to manually editing the XML configuraiton file for now. I dont know - no promises but that will probably be less work.
But not knowing the environment, it might take me some time to get up to speed again with linux and with wine which I have never used.
Thanks,
Phil
It might however be possible to do the back end work, and leave the config to manually editing the XML configuraiton file for now. I dont know - no promises but that will probably be less work.
But not knowing the environment, it might take me some time to get up to speed again with linux and with wine which I have never used.
Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
We may start with just one button using Office Mode of XMBC - just to prove this idea works - as this mode is already implemented, You won't need to modify GUI at all.
If we succeed, we will think about further buttons.
If we succeed, we will think about further buttons.
Re: XMBC vs. wine in linux
Except in office mode, you don't get any tilt support. If you can live with that, then I would suggest trying to patch wine to use the existing officemode code (thus no changes in XMBC!). I know you tried but maybe some more detail about how it works might help?
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
PS. Either way, don't expect me to be able to make changes any time soon, my spare time for XMBC is almost none right now what with work and other commitments.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
Ok, We're almost there.
XMBC log: http://pastebay.com/126784
modified mouse.c : http://pastebay.com/126785
(modifications:
line 70 → to increase total
72-126 as for middle mouse button,
1327 - 1331 and 1356-1360 added. )
XMBC ignores dwExtraInfo = 0x400 - it's detected as normal middle mouse button click.
When i tried to inject dwExtraInfo in button release also, release event of the button middle button was not detected at all in office mouse mode.
XMBC log: http://pastebay.com/126784
modified mouse.c : http://pastebay.com/126785
(modifications:
line 70 → to increase total
72-126 as for middle mouse button,
1327 - 1331 and 1356-1360 added. )
XMBC ignores dwExtraInfo = 0x400 - it's detected as normal middle mouse button click.
When i tried to inject dwExtraInfo in button release also, release event of the button middle button was not detected at all in office mouse mode.
Re: XMBC vs. wine in linux
OK this is very interesting... You might have found a bug - maybe it no longer works for office mouse too (I don't have one to test). but looking at the code.......
Either I gave you duff information previously OR Ive broken the code, the mousedown is looking for 0x04 not 0x0400, where the mouse up is looking for 0x0400.
I will have to try and dig through the source history and see if its wrong or if the info I gave is wrong.
I will get back to you on that!
Thanks,
Phil
Code: Select all
case WM_MBUTTONUP:
case WM_NCMBUTTONUP:
if (g_bOfficeMouse && (msllh->dwExtraInfo & 0x0400))
bResult = ProcessButton(OFFICEMOUSE_MIDDLE2, BTN_UP, msllh->pt, bFooBar);
else
bResult = ProcessButton(MIDDLE, BTN_UP, msllh->pt, bFooBar);
break;
case WM_MBUTTONDOWN:
case WM_NCMBUTTONDOWN:
if (g_bOfficeMouse && (msllh->dwExtraInfo & 0x04))
bResult = ProcessButton(OFFICEMOUSE_MIDDLE2, BTN_DOWN, msllh->pt, bFooBar);
else
bResult = ProcessButton(MIDDLE, BTN_DOWN, msllh->pt, bFooBar);
I will have to try and dig through the source history and see if its wrong or if the info I gave is wrong.
I will get back to you on that!
Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
DOH!
My mistake - and I'm very sorry for wasting your time.
Officemouse mode is indeed looking for 0x04 on the mouse down message and 0x0400 on the mouse upmessage. This is as intended.
Now you know this you might be able to get it working.
If you need more assistance with the wine patch then let me know and I guess (maybe) I can install a virtual machine with Linux and wine on it??? (but thats not going to be a quick job for me probably).
Thanks,
Phil
My mistake - and I'm very sorry for wasting your time.
Officemouse mode is indeed looking for 0x04 on the mouse down message and 0x0400 on the mouse upmessage. This is as intended.
Now you know this you might be able to get it working.
If you need more assistance with the wine patch then let me know and I guess (maybe) I can install a virtual machine with Linux and wine on it??? (but thats not going to be a quick job for me probably).
Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
It's working!
Currently I don't have mouse with more buttons - but in linux we might get them quite easily and translate to use them in XMBC.
My mouse doesn't have tilt wheel, it is unsupported by wine itself, so Office mode is just perfect for me.
Currently I don't have mouse with more buttons - but in linux we might get them quite easily and translate to use them in XMBC.
My mouse doesn't have tilt wheel, it is unsupported by wine itself, so Office mode is just perfect for me.
Re: XMBC vs. wine in linux
So on the wine file, if you havnt already worked it out...
referring to your pastebay file (modified mouse.c : http://pastebay.com/126785)
change line 1330 to
Add after line 1358:
Then officemode might work
EDIT; lol, too late!
Glad its working. More buttons will be difficult GUI wise as I said so for now I hope no one asks for it
referring to your pastebay file (modified mouse.c : http://pastebay.com/126785)
change line 1330 to
Code: Select all
input.u.mi.dwExtraInfo = 4;
Code: Select all
input.u.mi.dwExtraInfo = 1024;
EDIT; lol, too late!
Glad its working. More buttons will be difficult GUI wise as I said so for now I hope no one asks for it
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
Everybody asks for more buttons, the problem remains the same - Windows does not support them natively.
I don't know how does the linux driver for razor mouses (or other multi-button) is written - hopefully every extra button is supported in the same way as the others - if requested we may get them.
Thank you for the cooperation (and one more time for the great program!)
Next checkpoint is: http://bugs.winehq.org/show_bug.cgi?id=25282 - wine Direct3D related bug?
I will test it in a few days.
I don't know how does the linux driver for razor mouses (or other multi-button) is written - hopefully every extra button is supported in the same way as the others - if requested we may get them.
Thank you for the cooperation (and one more time for the great program!)
Next checkpoint is: http://bugs.winehq.org/show_bug.cgi?id=25282 - wine Direct3D related bug?
I will test it in a few days.
Re: XMBC vs. wine in linux
That one looks a little more complicated!
Just to check though,, does it work as expected on Windows (no linux/wine involvment)?
Some games do not work well with mouse hooks in widnows either, because they like to go lower to prevent hooks used by cheaters I guess.
Phil
Just to check though,, does it work as expected on Windows (no linux/wine involvment)?
Some games do not work well with mouse hooks in widnows either, because they like to go lower to prevent hooks used by cheaters I guess.
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
Yes it does (tested under Windows 2003 and XP Home) - so probably it's a wine bug.
It may have been fixed recently - half a year is a lot of time in such a dynamic project like wine.
I'll install Warcraft in wine ~next week and retest the issue.
It may have been fixed recently - half a year is a lot of time in such a dynamic project like wine.
I'll install Warcraft in wine ~next week and retest the issue.
Re: XMBC vs. wine in linux
So how good is wine at running windows apps, what can and cant it do?
Last time I even looked it was only just starting up and was pretty much useless, but it seems if you can play games on it its come a long way!?
I probably wont rush and look into it simply because of familiararity with windows and thats I have to keep developing windows apps but I guess it cant help to keep up with these things
Last time I even looked it was only just starting up and was pretty much useless, but it seems if you can play games on it its come a long way!?
I probably wont rush and look into it simply because of familiararity with windows and thats I have to keep developing windows apps but I guess it cant help to keep up with these things
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
Re: XMBC vs. wine in linux
For me currently:
MS Office 2007 SP2 works almost perfectly - I use it daily.
Games - still performance is lower espiecially if the game does not support OpenGL mode.
I've played Warcraft 3 (only issue - described with XMBC), Counter Strike 1.6 runs perfectly for ages, almost every Source-engine game works very good (Portal, CS:Source, L4D... apart from Left4Dead2, which gave me 1 fps @GeForce 8800 GT and Core 2 Quad, but it was a year ago). Direct 3D is under constant development - but if it's possible OpenGL should be used.
Some applications are still unusable - newer versions of Visual Studio, for example.
Fisrt time I believed that this project might be succesful was when I've seen IE6 and Windows Update via ActiveX. Wine even passed WGA for me
Currently, a lot of work is done in mshtml library, msi is almost done... If someone doesn't use complex Windows programs wine may be sufficient.
http://www.winehq.org/status might be interesting for You. But You know, some features are simply not implemented - as for example tilt wheel.
What's quite interesting - a recent idea to add direct support to USB devices, bypassing linux drivers. Of course those devices in this mode would be supported in wine sandbox only - but it'd be useful.
.NET is supported via winetricks - i.e. using .NET enviroment for windows - integration with mono (native linux .net implementation is planned).
And still, nobody should expect that the program will work out of box in wine. Sometimes DLL overrides must be set, sometimes even downloaded via winetricks, OpenGL mode should be forced, etc....
What I've noticed, especially quasi cross-platform applications written in Qt does not work.
And what I've noticed about our wine patch and Office Button support - When I press (and hold) MMB and later MMB2 everything is OK, but when I start with MMB2 (MMB2 is down) and later I press MMB the state of MMB2 is set to up, desping being down.
MS Office 2007 SP2 works almost perfectly - I use it daily.
Games - still performance is lower espiecially if the game does not support OpenGL mode.
I've played Warcraft 3 (only issue - described with XMBC), Counter Strike 1.6 runs perfectly for ages, almost every Source-engine game works very good (Portal, CS:Source, L4D... apart from Left4Dead2, which gave me 1 fps @GeForce 8800 GT and Core 2 Quad, but it was a year ago). Direct 3D is under constant development - but if it's possible OpenGL should be used.
Some applications are still unusable - newer versions of Visual Studio, for example.
Fisrt time I believed that this project might be succesful was when I've seen IE6 and Windows Update via ActiveX. Wine even passed WGA for me
Currently, a lot of work is done in mshtml library, msi is almost done... If someone doesn't use complex Windows programs wine may be sufficient.
http://www.winehq.org/status might be interesting for You. But You know, some features are simply not implemented - as for example tilt wheel.
What's quite interesting - a recent idea to add direct support to USB devices, bypassing linux drivers. Of course those devices in this mode would be supported in wine sandbox only - but it'd be useful.
.NET is supported via winetricks - i.e. using .NET enviroment for windows - integration with mono (native linux .net implementation is planned).
And still, nobody should expect that the program will work out of box in wine. Sometimes DLL overrides must be set, sometimes even downloaded via winetricks, OpenGL mode should be forced, etc....
What I've noticed, especially quasi cross-platform applications written in Qt does not work.
And what I've noticed about our wine patch and Office Button support - When I press (and hold) MMB and later MMB2 everything is OK, but when I start with MMB2 (MMB2 is down) and later I press MMB the state of MMB2 is set to up, desping being down.