Closed
Bug 595053
Opened 14 years ago
Closed 10 years ago
[OOPP] add support for using i386 plugins from an x86_64 host (Windows Version)
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: anaerin, Assigned: m_kato)
References
Details
Attachments
(2 files, 3 obsolete files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
jaas
:
feedback-
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b6pre) Gecko/20100909 Firefox/4.0b6pre
Build Identifier:
Deliberately duping Bug 559142 as per the comments therein.
x64 Windows builds of Firefox cannot use i386 plugins, despite the plugins operating OOP, and despite the OS having a built-in compatibility layer. This is being investigated for Mac (Bug 559142) and Linux (Bug 588749).
Reproducible: Always
Assignee | ||
Updated•14 years ago
|
In case someone is working on this, best to wait until the patch for bug 590057 lands. That will provide fixes for Windows as well, including a foundation for architecture preference.
Assignee | ||
Comment 2•14 years ago
|
||
Comment 3•14 years ago
|
||
At present, we can't get 32-bit browser's path from registry key reliably if the browser is per-user installed. See bug 633804 for details.
Depends on: 633804
Comment 4•14 years ago
|
||
You actually can't get the browsers path reliably from the registry since multiple installations of the same version will also overwrite other installations, a zip build doesn't add the registry keys, and I highly suspect that portable Firefox doesn't add the registry keys.
We have never relied on registry keys in the past for Firefox to operate properly and the only reason the registry keys were added in the new installer is for backwards compatibility with the old xpinstall installer in case there were 3rd party applications that relied on the registry entries.
I can't gaurantee that the registry entries you are trying to use are accurate for the reasons stated above and I think a more reliable method needs to be created instead of trying to repurpose these registry keys to accomplish what you want to in this bug.
Comment 5•14 years ago
|
||
Perhaps 64-bit browsers should be shipped with their 32-bit counterparts. Depending on other installation is inherently unreliable.
Comment 6•14 years ago
|
||
I think they would be the best path to take.
btw: there is also bug 606468 to provide both 32 and 64 bit support for AccessibleMarshal.dll.
Comment 7•14 years ago
|
||
Removing dependency on bug 633804 since that isn't a reliable solution to this bug.
No longer depends on: 633804
Comment 8•14 years ago
|
||
I have no time to complete the work. Feel free to take this.
Comment 9•14 years ago
|
||
Assignee | ||
Comment 10•14 years ago
|
||
(In reply to comment #9)
> Created attachment 513239 [details]
> MozillaBuild startup batch
Kimura-san, I think that customizing mozilla-build isn't good way. We should use something like WinCE toolchain hack (arm-wince-gcc.exe) if we build universal package for Win64.
Also, about mozconfig, it is better if we can use the following. (just idea)
ac_add_options --target=x86_64-pc-mingw32
HOST_CC=cl
HOST_CXX=cl
CC=cl64.py
HOST_CXX=cl64.py
CROSS_COMPILE=1
Comment 11•14 years ago
|
||
Cross compile is not supported yet.
Attachment #513237 -
Attachment is obsolete: true
Attachment #513239 -
Attachment is obsolete: true
Comment 12•13 years ago
|
||
So your plan is to effectively build and ship two sets of binaries on Windows? I can see that working, but it means our build times would probably be >5 hours each.
Assignee | ||
Comment 13•13 years ago
|
||
(In reply to comment #12)
> So your plan is to effectively build and ship two sets of binaries on
> Windows? I can see that working, but it means our build times would probably
> be >5 hours each.
Now, Win64 PGO uses about 4 hours on Tinderbox, If we create combined package, it spends 6-7 hours at least.
My idea is that 32bit plugin on 64bit firefox uses 32bit plugin-container of 32bit firefox of same version. IPC ABI is compatible (I need fix some bugs for shared memory), so It will work.
But I have to discuss with Josh about 32-bit plugin support on 64-bit Firefox (Linux and Windows). Although Mac version can use Universal package of Mach-O, other platforms cannot.
Assignee | ||
Updated•13 years ago
|
Assignee: nobody → m_kato
Status: NEW → ASSIGNED
Assignee | ||
Comment 14•13 years ago
|
||
Attachment #499610 -
Attachment is obsolete: true
Assignee | ||
Comment 15•13 years ago
|
||
Comment on attachment 539459 [details] [diff] [review]
WIP v2
If building universal build for this, it spends 7 hours (3 hours for Win32 and 4 hours for Win64) at least. I think that this isn't good.
This fix uses 32-bit installation from registry and use plugin-container of it.
If nothing, we can use from prefs for 32-bit plugin-container path.
If this idea is OK, I will make a reviewable fix.
If bad, please suggest me about right idea.
Attachment #539459 -
Flags: feedback?(joshmoz)
Comment 16•13 years ago
|
||
My objections have already been noted in comment #4 and my comments following that comment
Comment 17•13 years ago
|
||
btw: there are at least a couple of other reasons using this method will break that I didn't previously note. There are likely other reasons as well since these are just off the top.
1. if the user doesn't also install the same 32 bit version of Firefox.
2. if the user updates one of the Firefox installs and not the other.
Comment 18•13 years ago
|
||
Comment on attachment 539459 [details] [diff] [review]
WIP v2
I agree with Rob that this approach isn't robust enough.
Attachment #539459 -
Flags: feedback?(joshmoz) → feedback-
Assignee | ||
Comment 19•13 years ago
|
||
(In reply to comment #18)
> Comment on attachment 539459 [details] [diff] [review] [review]
> WIP v2
>
> I agree with Rob that this approach isn't robust enough.
Josh, should I add new key like comment #5?
Although I don't test yet, I am thinking another way.
Firefox win64 extract 32-bit xulrunner into <installation path>/plugin-wrapper, firefox win64 uses 32-bit plugin-container of that xulrunner. How about this approach?
Comment 20•13 years ago
|
||
(In reply to Ted Mielczarek from comment #12)
> So your plan is to effectively build and ship two sets of binaries on
> Windows? I can see that working, but it means our build times would probably
> be >5 hours each.
Can't you build the two binaries in parallel? PGO is single-threaded anyway, so we're currently wasting CPU time waiting for it to finish. Or at least just build the parts of the 32-bit libxul needed by plugin-container.exe?
Comment 21•13 years ago
|
||
Now all of Flash, Java, Silverlight plug-in support 64-bit browsers.
Is this bug still so important?
Comment 22•13 years ago
|
||
there is no 64bit
shockwave
ietab
quicktime plugin
divx plugins
windows genuine and activation technology plugins (not that the 32bit versions actually work since Fx3.6 .....)
realplayer
Pando web booster (used in the downloading of some MMO's)
Microsoft WMP Plugin
MS Office 2010 (without installing the x64 version of office, which is not advised at this point)
Comrade (GameSpy game browser)
Canon Image Gateway Album plugin utility.
The plugins you listed are barely a handful of whats available, and of them, Silverlight and Flash 64bit are still buggy as heck.
Comment 23•13 years ago
|
||
(In reply to Danial Horton from comment #22)
> there is no 64bit
> shockwave
> ietab
> quicktime plugin
> divx plugins
> windows genuine and activation technology plugins (not that the 32bit
> versions actually work since Fx3.6 .....)
> realplayer
> Pando web booster (used in the downloading of some MMO's)
> Microsoft WMP Plugin
> MS Office 2010 (without installing the x64 version of office, which is not
> advised at this point)
> Comrade (GameSpy game browser)
> Canon Image Gateway Album plugin utility.
WMP Plugin is outdated (last update was 2007).
> The plugins you listed are barely a handful of whats available, and of them,
> Silverlight and Flash 64bit are still buggy as heck.
I'm using flash 64bit over one year without bigger problems.
Comment 24•13 years ago
|
||
(In reply to speciesx from comment #23)
>
> WMP Plugin is outdated (last update was 2007).
>
But still necessary sometimes. AFAIK, there is no full-fledged alternative.
Comment 25•13 years ago
|
||
Opera released today Opera 64bit build and this build can also use 32bit plugins.
http://dev.opera.com/articles/view/64-bit-opera-and-out-of-process-plug-ins/
Comment 26•13 years ago
|
||
Sorry, my English is very very poor.
Maybe we can build one x64 version which can use both x64/x32 plugins at the same time.
Maybe more simple, make a boolen switch inside about:config to choose only x64 or x32 plugins to run.
The simplest way is to build two version: one for x32 plugins, and the other for x64 plugins. Finally you need spent double time to build it.
Comment 27•13 years ago
|
||
(In reply to s793016 from comment #26)
> Sorry, my English is very very poor.
>
> Maybe we can build one x64 version which can use both x64/x32 plugins at the
> same time.
>
> Maybe more simple, make a boolen switch inside about:config to choose only
> x64 or x32 plugins to run.
>
> The simplest way is to build two version: one for x32 plugins, and the other
> for x64 plugins. Finally you need spent double time to build it.
This is because plugin-container depends on many modules, if we can make it depend on very few small module, the bug will be fixed easily.
But bug 711386 has no progress now.
Comment 28•12 years ago
|
||
This bug needs to be cross platform as Linux will Integrate support for cross-architecture installation of binary packages (particularly i386<->amd64, but also other combinations)
Comment 29•12 years ago
|
||
(In reply to magnumarchonbasileus from comment #28)
> This bug needs to be cross platform as Linux will Integrate support for
> cross-architecture installation of binary packages (particularly
> i386<->amd64, but also other combinations)
We typically handle each platform in a separate bug for these types of bugs so please file a new bug for Linux.
Comment 30•12 years ago
|
||
That's already present (bug 588749).
Comment 33•12 years ago
|
||
Off the bug, I want to ask is there any methods to make x64 Fx support x86 extensions( using some dlls to complete some functions )?
Comment 34•11 years ago
|
||
(In reply to SpeciesX from comment #23)
> (In reply to Danial Horton from comment #22)
> > there is no 64bit
> > shockwave
> > ietab
> > quicktime plugin
> > divx plugins
> > windows genuine and activation technology plugins (not that the 32bit
> > versions actually work since Fx3.6 .....)
> > realplayer
> > Pando web booster (used in the downloading of some MMO's)
> > Microsoft WMP Plugin
> > MS Office 2010 (without installing the x64 version of office, which is not
> > advised at this point)
> > Comrade (GameSpy game browser)
> > Canon Image Gateway Album plugin utility.
>
> WMP Plugin is outdated (last update was 2007).
>
> > The plugins you listed are barely a handful of whats available, and of them,
> > Silverlight and Flash 64bit are still buggy as heck.
>
> I'm using flash 64bit over one year without bigger problems.
i only noticed this nonsense just now.
WMP plugin is not outdated, its required for the html5 video extension to work for crying out loud.
Comment 35•11 years ago
|
||
I think the "HTML5 Extension for Windows Media Player Firefox Plug-in" is outdated as well, the whole point of it is to allow Firefox to play H.264 videos by making it load WMP instead (Why it requires the other plugin), but Firefox can play H.264 video anyway.
As for Silverlight and Flash, they seem to be installing the 64bit versions alongside the 32bit versions. At least on my system I never attempted to install them, yet I have the latest versions available.
Comment 36•10 years ago
|
||
I've been trying to port this into Firefox v32,
the plugins get listed as available, but the instant you go to use one (e.g. Unity Web Player) it insta crashes the plugin
the code has changed alot since the patch was originally made, is there a new version that I could take a look at, that might make this process abit easier
Thanks
Comment 37•10 years ago
|
||
(In reply to Keloran from comment #36)
> I've been trying to port this into Firefox v32,
>
> the plugins get listed as available, but the instant you go to use one (e.g.
> Unity Web Player) it insta crashes the plugin
>
> the code has changed alot since the patch was originally made, is there a
> new version that I could take a look at, that might make this process abit
> easier
>
> Thanks
I created 20.0 patch many months ago : https://github.com/xunxun1982/pcxfirefox/blob/master/patches/test/x64withx86plugin.patch
When I have time, I will creat it based on new edition again.
IPC code always changes, so maintaining the patch is very hard.
Comment 38•10 years ago
|
||
I don't think this is worth the effort. Adobe provides a 64-bit Flash plugin and we're actively trying to get rid of plugin usage in general.
Comment 39•10 years ago
|
||
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #38)
> I don't think this is worth the effort. Adobe provides a 64-bit Flash plugin
> and we're actively trying to get rid of plugin usage in general.
Agreed.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•