Re: Wine/USB, was: Re: Glitch-free iTunes?
On Sat, Jul 16, 2011 at 2:38 PM, Uwe Bonnes wrote: >> "Damjan" == Damjan Jovanovic writes: > > Damjan> So it's slow going and there's a lot to do, and few Wine > Damjan> developers seem to care. One can only hope that when some > Damjan> devices start working, it will generate new interest in Wine > Damjan> (and Linux), and Wine will get many more patches :-). > > Damjan, > > do you have a GIT tree to test with some easily available device to play > with and some rmearks what to expect and what to expect not? > > Lowering the entry barriere might help finding additional interest... > > Bye > > -- > Uwe Bonnes b...@elektron.ikp.physik.tu-darmstadt.de > > Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt > - Tel. 06151 162516 Fax. 06151 164321 -- > When I have a Git tree that does something interesting, I will post back. Damjan
Wine/USB, was: Re: Glitch-free iTunes?
> "Damjan" == Damjan Jovanovic writes: Damjan> So it's slow going and there's a lot to do, and few Wine Damjan> developers seem to care. One can only hope that when some Damjan> devices start working, it will generate new interest in Wine Damjan> (and Linux), and Wine will get many more patches :-). Damjan, do you have a GIT tree to test with some easily available device to play with and some rmearks what to expect and what to expect not? Lowering the entry barriere might help finding additional interest... Bye -- Uwe Bonnesb...@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt - Tel. 06151 162516 Fax. 06151 164321 --
Re: Glitch-free iTunes?
Hey, On 07/05/2011 10:49 AM, Charles Davis wrote: > On 7/5/11 2:23 AM, Damjan Jovanovic wrote: >> On Tue, Jul 5, 2011 at 10:13 AM, Stefan Dösinger >> wrote: >>> Do we need full-fledged support for USB drivers for iTunes? I've been told >>> in >>> the past that all we need to do is properly report the new USB drive to >>> iTunes >>> when an iPod is attached, and can leave the USB mass storage handling to the >>> Linuy OS. Of course "properly reporting" isn't as simple as creating a drive >>> letter and setting its type to USB drive. >>> >>> I'm sorry to interrupt this nice project management discussion by throwing >>> in >>> a technical question :-) >>> >>> >> It used to work that way, but Dan Kegel's analysis of a recent version >> of iTunes seems to indicate it now pulls in USBD.SYS. Maybe they >> changed it or maybe they now do direct USB I/O in addition to going >> through the mass storage interface? > I have a Mac, and an iPod Touch. When I plug the iPod in, it doesn't > show up as an external disk in the Finder. So on Mac, iTunes definitely > does direct USB I/O. It's probably safe to assume it does on Windows, too. There are 2 ways really. Old ipods used usb mass storage which I had working at 1 point, but in a hacky way. ipod touch and iphone need direct usb, which never worked. ~Maarten
Re: Glitch-free iTunes?
Perhaps such response is due to my language barrier, but... * On Mon, 4 Jul 2011, Keith Curtis wrote: > > I bring up Linus because he can focus efforts. You don't need Linus. You > just need the same result -- focused efforts. There is another name for this > concept -- teams. Maybe WINE needs sub-teams? Keith, maybe you should contact Codeweavers to persuade the right persons? :) > However, you have accomplished so much already. Year after year, you > accomplish more, and yet you just think that it is hopeless or > something. What makes you say the last part (mentioning hopelessness)? > And one worthy goal is iTunes runs better than on Windows. If you had > that as a goal 5 years ago, you would have succeeded by now. Then 64-bit Wine port, DIB engine/rewrite wouldn't be started; XI2, XRender, Xcursor support, IO completion ports wouldn't have been born; Winsock, OpenGL in child windows, Systray would work in much buggier way; and APC would fail in addition to 16-32 bit thunking issues. I've forgot to mention countless fixes for window handling subsystem (in managend and unmanaged mode), COM mechanisms such as proxy delegations, marshaling, stubless proxies, RPC, Widl, X11 CopyPaste support, Inetcomm, Winhttp, implementations. Plus ton of Unicode fixes. All that would stay broken / unfixed / unimplemented. But iTunes would probably work (in possibly wrongly architectured way). Would such tradeoff be OK for the community? No offense, but I doubt it. > I understand that WINE has many apps that you want to work. You are doing > well. It is just missing some features that are not being caught by your > random work. I know you'll get there, in the next 10 years. Perhaps by the > time Apple no longer matters you'll have it working. BTW, Keith, could you please estimate how much people / work hrs were used to make XP a final product + produce security fixes? (And that's counting 25 years!) I guess a lot more people / hrs than it is used for Wine. My rough guess is 10 times. In the case of Linux kernel, it is very different game, IMHO. (less restrictions and INSANE compatibility issues:) But you could always contact our "dictator-in-chief" Alexandre to hear the last decision on project managament:) My two cents, S.
Re: Glitch-free iTunes?
On 7/5/11 2:23 AM, Damjan Jovanovic wrote: > On Tue, Jul 5, 2011 at 10:13 AM, Stefan Dösinger > wrote: >> Do we need full-fledged support for USB drivers for iTunes? I've been told in >> the past that all we need to do is properly report the new USB drive to >> iTunes >> when an iPod is attached, and can leave the USB mass storage handling to the >> Linuy OS. Of course "properly reporting" isn't as simple as creating a drive >> letter and setting its type to USB drive. >> >> I'm sorry to interrupt this nice project management discussion by throwing in >> a technical question :-) >> >> > > It used to work that way, but Dan Kegel's analysis of a recent version > of iTunes seems to indicate it now pulls in USBD.SYS. Maybe they > changed it or maybe they now do direct USB I/O in addition to going > through the mass storage interface? I have a Mac, and an iPod Touch. When I plug the iPod in, it doesn't show up as an external disk in the Finder. So on Mac, iTunes definitely does direct USB I/O. It's probably safe to assume it does on Windows, too. Chip
Re: Glitch-free iTunes?
On Tue, Jul 5, 2011 at 10:13 AM, Stefan Dösinger wrote: > On Tuesday 05 July 2011 06:13:32 Damjan Jovanovic wrote: >> fix requires device drivers, changes to multiple systems, knowledge of >> Windows and Wine internals -> W is large > Do we need full-fledged support for USB drivers for iTunes? I've been told in > the past that all we need to do is properly report the new USB drive to iTunes > when an iPod is attached, and can leave the USB mass storage handling to the > Linuy OS. Of course "properly reporting" isn't as simple as creating a drive > letter and setting its type to USB drive. > > I'm sorry to interrupt this nice project management discussion by throwing in > a technical question :-) > > It used to work that way, but Dan Kegel's analysis of a recent version of iTunes seems to indicate it now pulls in USBD.SYS. Maybe they changed it or maybe they now do direct USB I/O in addition to going through the mass storage interface?
Re: Glitch-free iTunes?
On Tuesday 05 July 2011 06:13:32 Damjan Jovanovic wrote: > fix requires device drivers, changes to multiple systems, knowledge of > Windows and Wine internals -> W is large Do we need full-fledged support for USB drivers for iTunes? I've been told in the past that all we need to do is properly report the new USB drive to iTunes when an iPod is attached, and can leave the USB mass storage handling to the Linuy OS. Of course "properly reporting" isn't as simple as creating a drive letter and setting its type to USB drive. I'm sorry to interrupt this nice project management discussion by throwing in a technical question :-) signature.asc Description: This is a digitally signed message part.
Re: Glitch-free iTunes?
On Tue, Jul 5, 2011 at 4:50 AM, Keith Curtis wrote: > None of the Linux kernel developers are paid by Linus nor can be fired by > him. Linus never forces people to respond to his mails or to work on > anything. What has happened is that the team has realized that having goals > and leadership has led to good results, and Linus is a good leader, and so > they follow along. If Linus says something needs to be worked on, it > happens. The rest of the people keep doing their own work. > > I'm not suggesting to force people to work on iTunes. However, it shouldn't > take too much prodding for people to want Linux to work with one of the most > important hardware product lines. > > It is sad that Linux in 2011 cannot run iTunes. This is the fault of WINE > and Apple. Maybe the work has been slow. I can't speak to how quickly you > are moving, only the results. I have read through your code some years ago. > The software that existed was high quality. You keep getting bigger and > better. It's easy for Linus to ask people to fix regressions, and they get it done in a few hours, under threat of their patches getting thrown out. Unlike the kernel (and to its detriment), we have regression tests which work even better for that, because they stop bad code from getting committed in the first place, and during a release freeze extra efforts are made to reduce regressions. But adding a new feature is something completely different, because it's not a matter of fixing existing code, but producing new code. > I understand you have a lot of work to do. That is why I suggest priorities > or goals. They help manage large workloads. From the outside, you appear to > be working on things randomly, and you can do better. If: I = importance of a bug W = work needed then I/W is the probability the bug gets fixed eg. Wine doesn't compile -> I is huge -> fix is rapid a small typo -> W is tiny -> fix is rapid iTunes has native alternatives, few people have iXxx devices, Apple fans generally use MacOS anyway -> I is small fix requires device drivers, changes to multiple systems, knowledge of Windows and Wine internals -> W is large So the I/W for iTunes is tiny. In fact the only reason it might get fixed by me is because iXxx devices are part of the larger group of USB devices, thus making I larger without increasing W. It's worth noting W is always large for hardware problems. Serial port support in Wine has also dragged on for years, had many bugs and regressions, needed kernel changes for some USB to serial converters, and still doesn't always work because the kernel API is too limited. Relative mouse events needed X changes and have also dragged on. Sound support in Wine has also taken forever. From what I see this isn't unique to Wine, hardware support is the bane of every open source project - even the kernel doesn't always boot. We could really use some kind of public hardware test farm. You're convinced me to prioritize my work on USB support, but it will still be +/- end of 2011, with luck. > Regards, > > -Keith > http://keithcu.com/ > > > > Damjan
Re: Glitch-free iTunes?
I bring up Linus because he can focus efforts. You don't need Linus. You just need the same result -- focused efforts. There is another name for this concept -- teams. Maybe WINE needs sub-teams? I assure you that the problem isn't for lack of resources. I know you feel busy and perhaps that I'm just wasting your time. However, you have accomplished so much already. Year after year, you accomplish more, and yet you just think that it is hopeless or something. Are you masochists? If you are going to do the work, make goals worthy. And one worthy goal is iTunes runs better than on Windows. If you had that as a goal 5 years ago, you would have succeeded by now. I can think of more goals around Ableton, Office 2010, etc. but for now let's get the hardware working! I understand that WINE has many apps that you want to work. You are doing well. It is just missing some features that are not being caught by your random work. I know you'll get there, in the next 10 years. Perhaps by the time Apple no longer matters you'll have it working. I have my own projects, but I appreciate your interest in my patches. However, I find that my way to contribute is to report social bugs and suggested patches. It can be though about in terms of: planning, priorities, goals, leaders, teams, etc. There are multiple ways to fix this. Regards, -Keith http://keithcu.com/
Re: Glitch-free iTunes?
On 7/4/11 7:50 PM, Keith Curtis wrote: None of the Linux kernel developers are paid by Linus nor can be fired by him. Linus never forces people to respond to his mails or to work on anything. What has happened is that the team has realized that having goals and leadership has led to good results, and Linus is a good leader, and so they follow along. If Linus says something needs to be worked on, it happens. The rest of the people keep doing their own work. I think you missed my point. There is a 'leader' for Linux and that person just happens to be Linus. Whether or not he wants that position is pointless. He has it. Linux is and will remain his 'baby'. There is NO such person, that I'm aware of for Wine. Thus if I happen to 'need' to have a few functions in Wine I have two options: 1. File a bug report, categorize it, define it and then hope that someone has the skills and desire to fix the problem I've identified. 2. File a bug report, categorize it, define it and then fix it myself. I have two bug reports that I have worked on and now I'm working on code to bring those functions into Wine, with assistance from other Wine developers to insure that my code is high enough quality and is implemented properly. You have the same options as does everyone else. And yes, if you look through Wine's bugzilla you will see very old bugs (that is why I mentioned the DIB Engine, it is bug 421 and is almost ten years old) to bugs filed yesterday. All need love and attention. Some bug reports were opened only to be closed when this did not happen. Also, remember what is important to you may not be so for the entire project. That is why I'm working on code. Those functions are important to me, but to the overall project no so. There is one other difference between the LKM project and Wine. The Linux Kernel is essential to the functioning of Linux. Wine is only essential to getting well-behaved Windows programs to run on Linux/UNIX. There are some programs that started the project, many years ago, that are no longer available or now have Linux/UNIX equivalents. James
Re: Glitch-free iTunes?
None of the Linux kernel developers are paid by Linus nor can be fired by him. Linus never forces people to respond to his mails or to work on anything. What has happened is that the team has realized that having goals and leadership has led to good results, and Linus is a good leader, and so they follow along. If Linus says something needs to be worked on, it happens. The rest of the people keep doing their own work. I'm not suggesting to force people to work on iTunes. However, it shouldn't take too much prodding for people to want Linux to work with one of the most important hardware product lines. It is sad that Linux in 2011 cannot run iTunes. This is the fault of WINE and Apple. Maybe the work has been slow. I can't speak to how quickly you are moving, only the results. I have read through your code some years ago. The software that existed was high quality. You keep getting bigger and better. I understand you have a lot of work to do. That is why I suggest priorities or goals. They help manage large workloads. From the outside, you appear to be working on things randomly, and you can do better. Regards, -Keith http://keithcu.com/
Re: Glitch-free iTunes?
On 07/04/2011 02:15 PM, André Hentschel wrote: Am 04.07.2011 20:08, schrieb max: 1. Does it run on Windows? iTunes is an Apple product and it could be that it has been intentionally implemented so that it does not run on Microsoft's OS. Why then providing a Windowsversion??? :) So you are saying it runs on MS Windows. That answers the question. Thanks.
Re: Glitch-free iTunes?
Am 04.07.2011 20:08, schrieb max: > 1. Does it run on Windows? iTunes is an Apple product and it could be that it > has > been intentionally implemented so that it does not run on Microsoft's OS. Why then providing a Windowsversion??? :) -- Best Regards, André Hentschel
Re: Glitch-free iTunes?
On 4 July 2011 15:32, Juan Lang wrote: > But really, what are we talking about? Talk is cheap. Code isn't. > Your contributions are welcome. In principle yes, but having worked for Microsoft complicates that a bit.
Re: Glitch-free iTunes?
On 07/02/2011 03:46 PM, Keith Curtis wrote: Hi; Here is a rant about iTunes: http://www.pcworld.com/businesscenter/article/229398-2/day_3_dude_wheres_my_itunes.html You guys are doing great, but I think it would be better if you were to work more in priority order. There are 200M devices, last I checked. I don't think iTunes has ever properly worked in WINE. It seems like Apple keep revising it and so the current WINE never works with the current iTunes. Can you make a goal of supporting iTunes with no glitches? I know many of you are volunteers, but it is globally efficient if the installation number plays into the priority of the bugs. Just this one app could be huge for Linux on the desktop. Warm regards, -Keith Everyone (with very few if any exceptions) who works on Wine does so because they want to. Priorities are set by each person for themselves. That is simply a fact of life when it comes to community developed software. You are, of course, entitled to your opinion of what is important but you need to persuade rather than trying to command compliance with your wishes. One of the most effective ways to assure progress on a particular piece of Wine is to put your own effort into improving that particular piece. In the case of iTunes, one of the early steps would be to examine the log Wine produces when you try to install it or run it. This is likely to show that some particular function is not implemented or is not implemented properly. Next, write a test that demonstrates what should happen. Make sure it works on recent native Windows versions. Submit the new test as a patch. Then fix Wine so that it passes that test and does not fail any existing tests due to your changes. Once the test patch has been accepted, check that you changes to Wine pass the new test. Finally, submit your change to Wine. At that point there will be one less thing that keeps iTunes from running on Wine. Other things you need to keep in mind: 1. Does it run on Windows? iTunes is an Apple product and it could be that it has been intentionally implemented so that it does not run on Microsoft's OS. 2. Are there legal issues that would keep it from being run under Wine? 3. Assure that your code meets the Wine style.
Re: Glitch-free iTunes?
Hi Keith, > WINE in general does many things, and you've got a big team now. Your > contributor list shows 1250 and you've got 2M lines of code. Few of these contributors remain active. Most had small contributions. The total number of contributors obviously can only increase over time, but the number of active contributors has always remained small. But really, what are we talking about? Talk is cheap. Code isn't. Your contributions are welcome. --Juan
Re: Glitch-free iTunes?
On Mon, Jul 4, 2011 at 04:44, Keith Curtis wrote: > <...> > > In general, people can work where they want, but it is better if some work > is prioritized. Well indeed volunteers work where they want, but also on the parts they're good at (not everybody is interested, and if they're are, they can lack the expertise in that domain). If you try to force contributors to work on something they don't like (or refuse work on sthg else), they generally won't agree, and probably even stop contributing altogether. Now it's probably different for codeweavers employees, and I'm sure they have priorities, but they don't necessarily match yours. > You don't need to use the buglist for this. When Linus finds > a bug he needs fixed before he can make a release, he posts to the LKML and > all the developers read it and the relevant ones respond. Typically he > reverts, but sometimes he requests help, and he gets it within hours. He > doesn't wait for someone to check in code that works. This isn't about a random bug. IIRC you were basically talking about adding USB support which, as Damjan pointed out, needs a lot of work to be complete. > <...> > Regards, > > -Keith > http://keithcu.com/ Just my 2 ¢ Frédéric
Re: Glitch-free iTunes?
On Sun, Jul 3, 2011 at 1:37 AM, Damjan Jovanovic wrote: > > Hi Keith > > Having worked at Microsoft, you of all people should appreciate the > size and complexity of the driver architecture on Windows. So I would > say that "failure" is mostly from the scale of the problem to be > solved. > > My attempts at adding USB support to Wine have been painful and slow. > Hi Damjan et al; I don't know much about the USB architecture as my contributions to Windows were via RichEdit. I just know that the Linux kernel has mature USB support, WINE in general does many things, and you've got a big team now. Your contributor list shows 1250 and you've got 2M lines of code. I'm amazed at how many things work -- or almost work. If you had a leaky roof in a house on fire, what would you work on first? It appears from the outside that the answer for WINE would be random. In general, people can work where they want, but it is better if some work is prioritized. You don't need to use the buglist for this. When Linus finds a bug he needs fixed before he can make a release, he posts to the LKML and all the developers read it and the relevant ones respond. Typically he reverts, but sometimes he requests help, and he gets it within hours. He doesn't wait for someone to check in code that works. You don't have to work like that. I am just pointing out that if you have goals (do not ship without certain apps working) or priorities (certain bugs are higher priority), or something, things will be better for the same amount of effort. Regards, -Keith http://keithcu.com/
Re: Glitch-free iTunes?
On Sun, Jul 3, 2011 at 4:49 AM, Keith Curtis wrote: > >> So: yeah, we know it's an important app. But it's hard. >> Feel free to help out. >> - Dan > > Hi; > > I am glad to hear you say that iTunes is an "important" app, but I don't > understand what you mean because it has never worked. > > You don't need my help. You've got a big group making many good fixes. It is > just that priority is being ignored or something. Failure is not from lack > of effort, but from planning. Hi Keith Having worked at Microsoft, you of all people should appreciate the size and complexity of the driver architecture on Windows. So I would say that "failure" is mostly from the scale of the problem to be solved. My attempts at adding USB support to Wine have been painful and slow. In 2006 my first patches ever submitted to Wine dealt with some SETUPAPI.DLL bugs. By around 2007 hacks I made to Wine and the Linux kernel to emulate USBSCAN.SYS allowed my Windows-only user-space USB scanner driver to work in Ubuntu 6.06. Some of those hacks were eventually cleaned up and made their way into Wine's STI.DLL in 2009, but my kernel patch never worked on any other kernel version, and I doubt either Wine or the Linux kernel would accept the dodgy code I had to use. I began investigating the option of implementing USBSCAN in a user-space driver with something like CUSE, but then Wine got a rudimentary NTOSKRNL.EXE and the ability to load Windows SYS files. Since then the idea was to implement everything in Wine, and use libusb for USB I/O. In 2010 I added some USBD.SYS functions and some USB headers to Wine. Later I tried to add libusb support, USB device monitoring, and basic on-demand driver loading infrastructure, but none of that was accepted into Wine for various reasons. Currently I am trying to gradually generalize driver loading in Wine. Then I hope to add loading drivers as USB devices are plugged in. Then add libusb support. Then actually add basic USB I/O. Then get ReadFile/WriteFile working for drivers. And even then, there's still higher-level drivers to write (eg. USBSCAN.SYS), and many SETUPAPI.DLL bugs and features like support for class installers that have to be added before drivers will even install properly. And then we hope they don't start using too many of the unimplemented functions in NTOSKRNL.EXE. So it's slow going and there's a lot to do, and few Wine developers seem to care. One can only hope that when some devices start working, it will generate new interest in Wine (and Linux), and Wine will get many more patches :-). > Let's win! > > -Keith > http://keithcu.com/ > > > > > Damjan
Re: Glitch-free iTunes?
On 7/2/11 7:49 PM, Keith Curtis wrote: So: yeah, we know it's an important app. But it's hard. Feel free to help out. - Dan Hi; I am glad to hear you say that iTunes is an "important" app, but I don't understand what you mean because it has never worked. You don't need my help. You've got a big group making many good fixes. It is just that priority is being ignored or something. Failure is not from lack of effort, but from planning. Keith: Maybe you missed Dan's point. iTunes, for a while, did work. Most of the work to get it to work has been by volunteers and it remains up to the volunteer side of the project to 'make it so'. Syncing an iPod did work as far as I knew using the USB device patches. Also, this is, mainly, an all-volunteer effort. I, for instance, picked up three richedit functions that are very near and dear to the functioning of several programs that I use. There is a long known work-around, but I would like to see appropriate code included in the Wine project so that the work-around is no longer needed. iTunes on the Linux platform may or may not be forthcoming. Making iTunes work on any flavor/distribution of Linux might take a very interested and talented user with programming skills in 'c' to generate the code and get appropriate fixes made in the Wine code. Attempts have been made and some successes gained, but more needs to be done and mostly by a small staff of volunteers. Project priorities might say 'make this work' but without appropriately interested and skilled volunteers, iTunes might not be working under Linux anytime soon. James McKenzie
Re: Glitch-free iTunes?
> So: yeah, we know it's an important app. But it's hard. > Feel free to help out. > - Dan > Hi; I am glad to hear you say that iTunes is an "important" app, but I don't understand what you mean because it has never worked. You don't need my help. You've got a big group making many good fixes. It is just that priority is being ignored or something. Failure is not from lack of effort, but from planning. Let's win! -Keith http://keithcu.com/
re: Glitch-free iTunes?
Keith wrote: > http://www.pcworld.com/businesscenter/article/229398-2/day_3_dude_wheres_my_itunes.html > Can you make a goal of supporting iTunes with no glitches? ... > Just this one app could be huge for Linux on the desktop. The main problem is driver support, I think (mainly usb, but probably also cd-r). There is some work on usb support going on; see http://wiki.winehq.org/USB I haven't tried that myself. (Has anyone tried this with iTunes yet?) According to $ winedump -j import ~/".wine/drive_c/Program Files/Common Files/Apple/Mobile Device Support/Drivers/usbaapl.sys" | grep offset offset 9250 ntoskrnl.exe offset 9264 HAL.dll offset 9278 WMILIB.SYS offset 928c USBD.SYS support for wmilib.sys might need to be added for this app. And I suspect the pcworld guy was using an outdated version of wine (given the problems he reported with the package manager ui). Otherwise, current iTunes seems to be working reasonably well in current wine. I just downloaded and installed iTunes 10.3.1 with wine-1.3.23. I did have to set win7 mode, and I do have to click through one dialog saying it won't be able to burn cd's, but I can use the iTunes store to search for movies and play their trailers nicely; I can listen to internet radio or a local .mp3 for 5-10 minutes with no hint of trouble. So: yeah, we know it's an important app. But it's hard. Feel free to help out. - Dan
Glitch-free iTunes?
Hi; Here is a rant about iTunes: http://www.pcworld.com/businesscenter/article/229398-2/day_3_dude_wheres_my_itunes.html You guys are doing great, but I think it would be better if you were to work more in priority order. There are 200M devices, last I checked. I don't think iTunes has ever properly worked in WINE. It seems like Apple keep revising it and so the current WINE never works with the current iTunes. Can you make a goal of supporting iTunes with no glitches? I know many of you are volunteers, but it is globally efficient if the installation number plays into the priority of the bugs. Just this one app could be huge for Linux on the desktop. Warm regards, -Keith