roytam1 Posted November 23, 2017 Author Posted November 23, 2017 Off Topic: For getting idea how Firefox 57 is incompatible with older Windows, I tried to compile it from source. There is a list of Missing APIs in XP (* in front of DLL = missing DLL) In MOZGLUE.DLL: KERNEL32.DLL InitializeConditionVariable WakeConditionVariable WakeAllConditionVariable SleepConditionVariableCS InitializeCriticalSectionEx GetTickCount64 In XUL.DLL: KERNEL32.DLL SleepConditionVariableSRW WakeConditionVariable InitializeConditionVariable SleepConditionVariableCS WakeAllConditionVariable K32QueryWorkingSet K32GetProcessMemoryInfo GetCurrencyFormatEx GetNumberFormatEx ResolveLocaleName GetDateFormatEx GetTimeFormatEx GetUserDefaultLocaleName LocaleNameToLCID GetLocaleInfoEx GetUserPreferredUILanguages LCIDToLocaleName InitializeCriticalSectionEx AcquireSRWLockShared AcquireSRWLockExclusive ReleaseSRWLockShared ReleaseSRWLockExclusive InitializeSRWLock TryAcquireSRWLockExclusive K32EnumProcessModules K32GetModuleFileNameExW K32GetProcessImageFileNameW GetFinalPathNameByHandleW InitOnceExecuteOnce GetProcessIdOfThread QueryFullProcessImageNameW K32GetModuleInformation USER32.DLL GetTouchInputInfo RegisterTouchWindow GetGestureInfo CloseGestureInfoHandle SetGestureConfig UnregisterPowerSettingNotification RegisterPowerSettingNotification CloseTouchInputHandle ADVAPI32.DLL RegGetValueW SHELL32.DLL SHGetKnownFolderPath SHOpenWithDialog SHQueryUserNotificationState SHGetPropertyStoreForWindow SetCurrentProcessExplicitAppUserModelID SHCreateItemFromParsingName SHGetStockIconInfo *AVRT.DLL AvRevertMmThreadCharacteristics AvSetMmThreadCharacteristicsA OLE32.DLL CoGetApartmentType WS2_32.DLL inet_pton inet_ntop *DWMAPI.DLL DwmSetIconicThumbnail DwmSetIconicLivePreviewBitmap DwmInvalidateIconicBitmaps DwmGetCompositionTimingInfo DwmIsCompositionEnabled DwmFlush DwmSetWindowAttribute DwmDefWindowProc DwmExtendFrameIntoClientArea DwmGetWindowAttribute UXTHEME.DLL BeginPanningFeedback EndPanningFeedback UpdatePanningFeedback *API-MS-WIN-CORE-WINRT-L1-1-0.DLL RoGetActivationFactory *API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL WindowsCreateStringReference And for example, grepping K32GetModuleInformation in source tree shows: Roy@roy-srv /d/test/firefox-57.0 $ grep -r K32GetModuleInformation * Binary file obj-i686-pc-mingw32/dist/bin/xul.dll matches Binary file obj-i686-pc-mingw32/toolkit/library/i686-pc-windows-msvc/release/deps/libkernel32-84f4ad81dbbcb414.rlib matches Binary file obj-i686-pc-mingw32/toolkit/library/release/deps/libkernel32-7fb45f562450be31.rlib matches Binary file obj-i686-pc-mingw32/toolkit/library/xul.dll matches Binary file obj-i686-pc-mingw32/toolkit/library/xul.pdb matches Binary file obj-i686-pc-mingw32/tools/profiler/generated.pdb matches Binary file obj-i686-pc-mingw32/tools/profiler/shared-libraries-win32.obj matches third_party/rust/kernel32-sys/src/lib.rs: pub fn K32GetModuleInformation( third_party/rust/kernel32-sys-0.1.4/src/lib.rs: pub fn K32GetModuleInformation( So I have no clue how to deal with it. 3
Dibya Posted November 23, 2017 Posted November 23, 2017 All user32/uxtheme function can be stubbed out. You already know how to fix dwmapi codes. Avrt don't make sense to me I hope it can be stubbed. inet_ntop & inet_pton implementation from xompie are good one. CoGetApartmentType can be replaced with a XP function which I forgotten. K32 function can redirected to psapi by removing word k32 from beginning. Preferred UI languages can be stubbed with out any issue. LCIDToLocaleName Can be stubbed. For other API one core API has implementation. https://github.com/Skulltrail192/One-Core-Api Just some little concern from my poor knowledge.
dencorso Posted November 23, 2017 Posted November 23, 2017 10 hours ago, sdfox7 said: @dencorso Not bad, but it might confuse Windows 2000 users. NT 5 implies being compatible also with Windows 2000, which it is not. OK. Then I second your proposal of: "New Moon XP"
sdfox7 Posted November 23, 2017 Posted November 23, 2017 @dencorso You might still be in to something with NT 5.x. I assume that New Moon still is compatible with Server 2003 R2 since it shares code with XP. Of course there's no guarantee New Moon works with vanilla Server 2003. Perhaps New Moon XP/03? Pronounced "XP-oh-three"? Or, "XP-oh-three-are-2"? It kind of rolls off the tongue.
Flame. Posted November 23, 2017 Posted November 23, 2017 @roytam1 Could you please share your source code for a portable launcher? Also, seems like last version (2017-11-21) of New Moon doesn't like it for some reason, e.g. bookmark tab disappears after start. But the same version with PortableApps launcher isn't affected.
pinkmoon89 Posted November 23, 2017 Posted November 23, 2017 I've been a fan of Pale Moon since before it became more widely known (been using it since around the end of 2015) and I must say this is some great work that has been put into making it compatible with ol' NT 5.1! I'm having no problems on NT 5.1.2600.5512 fully updated - no POSready 2009 patches - using a build from around last Friday or so. Thanks, now my XP netbook is ready to go and works rather well with the Internet, and also means I don't have to deal with deprecated Chrome backports (SlimJet), the odd forced ClearType glitch (Firefox/SeaMonkey) and spyware (Maxthon). I really appreciate the work you put in this. Thanks again, I don't think I can thank you enough ^.^
jumper Posted November 24, 2017 Posted November 24, 2017 > NewMoonXP? It emphasizes New Moon's mission to serve XP, just as TenFourFox serves Mac OS X 10.4 users. A new moon can't be seen (it's below the horizon) so: FauxMoon -> FOMoon -> FiveOneMoon > third_party/rust/kernel32-sys/src/lib.rs: pub fn K32GetModuleInformation( Most of these new dependencies are likely in third party code, not the core code. Or they might be generated by newer compilers.
Dibya Posted November 24, 2017 Posted November 24, 2017 2 hours ago, jumper said: > NewMoonXP? It emphasizes New Moon's mission to serve XP, just as TenFourFox serves Mac OS X 10.4 users. A new moon can't be seen (it's below the horizon) so: FauxMoon -> FOMoon -> FiveOneMoon > third_party/rust/kernel32-sys/src/lib.rs: pub fn K32GetModuleInformation( Most of these new dependencies are likely in third party code, not the core code. Or they might be generated by newer compilers. How to avoid such dependency?
GrandAdmiralThrawn Posted November 24, 2017 Posted November 24, 2017 (edited) 15 hours ago, sdfox7 said: @dencorso You might still be in to something with NT 5.x. I assume that New Moon still is compatible with Server 2003 R2 since it shares code with XP. Of course there's no guarantee New Moon works with vanilla Server 2003. Perhaps New Moon XP/03? Pronounced "XP-oh-three"? Or, "XP-oh-three-are-2"? It kind of rolls off the tongue. It most likely is compatible with Server 2003, as it works on XP x64 (which shares its kernel version 5.2 and its APIs with Server 2003). That's what the 64-bit build is for anyway: XP x64 and Server 2003 x64, as there are no 64-bit NT 5.1 systems, that's all NT 5.2. Edit: I just tested the 32-bit and 64-bit versions of New Moon on Windows Server 2003 x64 Standard. Works fine, as expected. Edited November 24, 2017 by GrandAdmiralThrawn
roytam1 Posted November 24, 2017 Author Posted November 24, 2017 15 hours ago, Flame. said: @roytam1 Could you please share your source code for a portable launcher? Also, seems like last version (2017-11-21) of New Moon doesn't like it for some reason, e.g. bookmark tab disappears after start. But the same version with PortableApps launcher isn't affected. Already posted. And my portable launcher is just the same as running ' start "" palemoon.exe -no-remote -profile .\profile ' batch file, but works without the help of cmd.exe. 1
jumper Posted November 24, 2017 Posted November 24, 2017 > > > third_party/rust/kernel32-sys/src/lib.rs: pub fn K32GetModuleInformation( > > Most of these new dependencies are likely in third party code, not the core code. Or they might be generated by newer compilers. > How to avoid such dependency? Rather than create an OS stub, modify the source to assume failure (or success) and remove the call. If an api is called multiple times, it might be easier to redefine it: #define IsUserWin10Fanboy() FALSE if (IsUserWin10Fanboy()) {...} Or remove the third-party module entirely.
roytam1 Posted November 26, 2017 Author Posted November 26, 2017 On 11/25/2017 at 6:24 AM, jumper said: > > > third_party/rust/kernel32-sys/src/lib.rs: pub fn K32GetModuleInformation( > > Most of these new dependencies are likely in third party code, not the core code. Or they might be generated by newer compilers. > How to avoid such dependency? Rather than create an OS stub, modify the source to assume failure (or success) and remove the call. If an api is called multiple times, it might be easier to redefine it: #define IsUserWin10Fanboy() FALSE if (IsUserWin10Fanboy()) {...} Or remove the third-party module entirely. Actually you can't get rid of this (rust) because it is mandatory since 55.0 release. 1
roytam1 Posted November 26, 2017 Author Posted November 26, 2017 New Build! 32bit https://o.rthost.cf/palemoon/palemoon-27.7.0a2.win32-git-20171126-6bb8c4459-xpmod.7z 64bit https://o.rthost.cf/palemoon/palemoon-27.7.0a2.win64-git-20171126-6bb8c4459-xpmod.7z Official repo changes since my last build: - DefineOSFileConstants should return false if OSFileConstants service is not initialized. (f10270102) - Remove display: contents pseudo frames. The content insertion frame may be tagged instead of the primary frame. (44d3d5c28) - Force punycode display for IDNs with a <dotless-i/j, combining mark above> sequence. (a8592dc85) - Special-case typed arrays in PropertyReadNeedsTypeBarrier. (8adb3321f) - Explicitly cancel channel after mixed content redirect. (2fef22132) - In order to not leak properties, ensure all the properties of adopted nodes are removed in case the adopt call fails. (e8afb1976) - Fix a crash by setting a flag to true. (8e23c4300) - Use ARGS_LENGTH_MAX as upper bound in MArgumentsLength::computeRange. (d179228e8) - If we have XCTO: nosniff, we should have a content-type as well. (8167b87bc) - Skip `XCTO: nosniff` check in case of 30x response (2788d6de8) - Merge pull request #1489 from JustOff/PR_nosniff_skip_redirects (2a6078186) - Revert "Add shortcut key for Browser Restart command" (abcc6a93a) - Revert "If we have XCTO: nosniff, we should have a content-type as well." (400c32b2a) - Cancel timer in TLSFilterTransaction if a transaction is canceled. (e88411b6a) - Confirm we actually have a PKCS#7 signedData content info. (8579abc0e) - Add missing sanitization for HTML exporting of bookmarks. (2e348d07f) - Don't propagate LOAD_FROM_CACHE to the whole load group on charset reload. (6bb8c4459) 2
roytam1 Posted November 26, 2017 Author Posted November 26, 2017 basilisk/moebius new build for XP! Test binary: Win32 http://o.rthost.cf/gpc/files1.rt/basilisk-55.0.0a1.win32-git-20171126-2c7948df3-xpmod.7z Win64 http://o.rthost.cf/gpc/files1.rt/basilisk-55.0.0a1.win64-git-20171126-2c7948df3-xpmod.7z diff: http://o.rthost.cf/gpc/files1.rt/moebius_restoreXP_20171113.7z source patch of ffvpx H264/HEVC/AAC/MP3 Addition: http://o.rthost.cf/gpc/files1.rt/moebius-ffvpx-h264-aac-hevc-mp3-addition.7z Official repo changes since my last build: - DefineOSFileConstants should return false if OSFileConstants service is not initialized. (2460215d3) - Remove display: contents pseudo frames. The content insertion frame may be tagged instead of the primary frame. (6717ddc80) - Force punycode display for IDNs with a <dotless-i/j, combining mark above> sequence. (58da163c8) - Special-case typed arrays in PropertyReadNeedsTypeBarrier. (1078d5a88) - Add extra check for the http performance object's origin. (385875d58) - Explicitly cancel channel after mixed content redirect. (fc7702866) - Keep an extra reference. (bd714564d) - In order to not leak properties, ensure all the properties of adopted nodes are removed in case the adopt call fails. (01301c0ce) - Avoid rooting the object twice in EnumerableOwnProperties. (136ece224) - Fix a crash by setting a flag to true. (178a122ae) - Use ARGS_LENGTH_MAX as upper bound in MArgumentsLength::computeRange. (89ffb02a4) - Reorder when GPUProcessHosts are destroyed. (3e7a2e393) - Only fetch mPresShell after flushing the relevant content pres shell. (c4d1b228d) - Make decoding of IDN ACE more robust. (76210dcf5) - Make the url bar strip javascript even when preceded by control characters. (9665b74c4) - Address misc. SnprintfLiteral correctness nits. (b6b47654e) - Mark Heap<T> and barrier classes as MOZ_NON_MEMMOVABLE. (05282b01d) - Clear gApplicationReputationService in the dtor. (f9e1f08ff) - Use GetStyleContextNoFlush in UpdateCurrentStyleSources, and avoid flushing mPresShell twice. (6551515c1) - Hold Windows AudioSession object while recycling registration. (f1a7d83b3) - Fix double definition. Follow-up to 6551515c1a042f9b0f904b1fe64069cf237296e4 (9bfd5c0ee) - Use a static mutex for getting deviceId keys in MediaParent. (cdf744019) - Hold reference to layers in ContainerLayerComposite::mPrepared. (3604ebbce) - C++ Promises: Stop using optimized path for non-PromiseObject. (0b55b89d3) - Cancel timer in TLSFilterTransaction if a transaction is canceled. (79c4a1717) - Bug 1343147 - Part 1. Do not double-apply transform vector of the root frame in a glyph mask into the target context. (b4a5912d2) - Bug 1343147 - Part 2. A crash test of painting elements with both perspective and transform in generating a text mask for background-clip:text. (15a52123a) - Confirm we actually have a PKCS#7 signedData content info. (acc8df46a) - Remove unnecessary InvalidateCompilerOutputsForScript call. (1c2b117fd) - Set MAX_COMBINED_TEXTURE_IMAGE_UNITS to 0 if GetIntegeriv fails. (66729e90b) - Add missing sanitization for HTML exporting of bookmarks. (d0ea81c17) - Fix up toolkit about: page. This resolves #173. (0325689cc) - Use our provisioned blocklist server. (d2546bc38) - Stop trying to be a CRL provider. (25b0783cd) - Update names in installer defines. (a1685e0e9) - Stop building EME support by default on desktop browser builds. (57383bda7) - Remove rust conditional leftovers. (b7d249766) - Revert "Stop building EME support by default on desktop browser builds." (68bde621e) - Make use of configured EME module defines to set UI/CDM prefs. (d083dcacf) - Reinstate comment. (c8707d112) - Reconfigure building EME. (f1a8302e6) 3
Dennnn Posted November 28, 2017 Posted November 28, 2017 Is there any build only with SSE, without SSE2, for CPU's like AthlonXP, with LAV codec ? I currentry use 3dsparty SSE version 26.5.0 from official site, but there is seems no LAV codecs support for HTML5 video, even if I copy these dll from first post.
Recommended Posts