Jump to content


Photo

Windows 11 PE Audiophile Creation Guide


  • Please log in to reply
714 replies to this topic

#21 internethandle

internethandle

    Die Hard

  • Members
  • PipPipPip
  • 280 posts

Posted 19 December 2021 - 10:11 PM

THE BELOW POST(S) APPLY TO WIN10PE - THERE WILL BE DIFFERENCES IN WIN11PE I WILL DETAIL IN A LATER POST

It’s been about a week now since I finished my Win10PE build using samotc’s guide, so I have a good handle now on the build process, how to implement optimizations in flatboot prior to USB boot (and what works in one and not the other), and what is possible to do post-boot and a sort of routine sequence within which to implement those changes. I have a good amount of ground to cover, so it’s probably best for me to try and organize my thoughts in a bullet point kind of format:

  • Building the Win10PE ISO via Win10XPE is relatively straightforward and easy. The program does most of the heavy lifting for you, and has quite a bit of customization possible. Unfortunately, it also has quite a steep learning curve for some of its more esoteric options (e.g. deploying registry “scripts” made out of .reg files, some of the pecmd.ini syntax, etc.), and even with a fair amount of tech savvy and knowing my way around Windows to the point that I could be characterized fairly as a “power user,” not having a background in programming or enterprise-level deployment left me unable to take advantage of some of the more advanced functionalities of the program. There is also quite a bit of help to be had over at TenForums in the program’s official support thread, but the more advanced users there have limited patience and time for very complicated deployment assistance. Still, from what I can parse of its more advanced functionality and options, Win10XPE should, in theory, allow for many of the changes made in flatboot (including pre-loading programs, drivers, and registry changes) to be done prior to ISO creation instead, skipping much of what we would have to edit and change in flatboot. Some advanced optimizations, especially via registry, could, of course, also cause installation failures or other issues at this stage of creation, but there is something to be developed there for those willing to work out the details.

  • One of the first issues I ran into was that my normal pre-deployment stripping methods via programs like WinReducer or NTLite were not quite compatible with at least this method of creating a WinPE build. This makes some sense, as WinPE is essentially nested within existing versions of Windows 10/11/other, and while Win10XPE, at least, seems to derive some of the system files it includes in a final Win10XPE-created ISO from the install.wim of the chosen Windows 10 build prior to building the “core” in Win10XPE, it also became clear that much of the base structure of WinPE (e.g. what is populated in its HKLM\SYSTEM\CurrentControlSet\Services keys) is not accessible via my normal methods. This is something I’m fairly sure could be controlled, again, in Win10XPE prior to final ISO creation for those with a better understanding of deployment than mine. Still, using a WinReducer-stripped Windows 10 Professional pulled out of an official Microsoft servers-provided copy of a Win10 21H2 ISO did seem to produce both some desirable results after being put through Win10XPE (slightly smaller WinSxS folder, smaller system32 and SysWoW64 folders, some other minor stuff), and it also seemed to work just fine in flatboot. Unfortunately, it took me some time (until after I had done A LOT of registry editing and other flatboot changes) to realize that the WinReducer-modified version of Win10PE I had produced had some sort of incompatibility with USB RAMDisk boot, and would only work properly in flatboot. I was unable to determine what caused the issue, but it would hang at the Windows screen in USB boot, so I had to go back and redo all my work with a ISO Win10XPE produced with just the base 21H2 ISO and not one edited by WinReducer/other, which worked fine, eventually, in both USB boot and flatboot.

  • samotc’s guide includes instructions for using the checkboxes in Win10XPE for “Network Drivers” and “Audio,” e.g., if you need network support or audio support, but I found that these options are for only very specific (and, in my case, unnecessary) drivers. That is to say, the “Audio” checkbox, for instance, seems to be for including HDAudioBus.sys and HDAudio.sys as well as associated files, which, to my knowledge, are only needed for on-board motherboard audio. Similarly, the “Network Drivers” checkbox and the tab afterward concerning network setup are related to the Win10XPE-included program “PENetwork,” which is a separate executable that auto-runs in WinPE at boot to manage wired and wireless network connections. If, like me, you are using a USB DAC and a JCAT FEMTO Ethernet card, you do not need any of these functionalities, and simply need to make sure Win10XPE includes the needed drivers in your build, which should be able to be accomplished in the same screen via the driver integration option. If you are using a onboard ethernet solution or similar, you can just use the “Include Host OS Network drivers” option to have Win10XPE automatically include your network hardware’s drivers in your WinPE ISO, which is what I did for the JCAT Femto NET card. This method should allow for you to delete PENetwork in flatboot if using network, e.g., and save some space by not including unnecessary onboard audio functionality. In fact, I do not recall, out of all of the ISO’s I created while testing in the last few weeks, any of the options prior to “Build Core” being started being necessary for my purposes, other than a few of the default options. This includes things like the VC++ Runtime option, which is unnecessary, at least for my use case.

  • Which brings me a bit to refreshing any readers to what I need to be functional in my particular use case: 1) a working network connection via my JCAT Femto NET ethernet card 2) an ability to use my USB DAC through my JCAT Femto USB V2 card 3) a working internet browser 4) an ability to play TIDAL in exclusive mode via the TIDAL app 5) MinorityClean/MajiorityClean running in NT-AUTHORITY\SYSTEM mode 6) RewriteData 7) TimerResolution 8) ProcessHacker or similar software. This is basically the entirety of what I need to have running in a Win10PE build.

  • The network connection was taken care of, again, by using the “include Host OS drivers” option in Win10XPE. The JCAT NET card installed correctly and worked at boot, and I was able to kill and delete the PENetwork in flatboot. Unfortunately, it seems that there is not a way, as far as I can see, to easily remove this software within Win10XPE, so you will need to do something about it in flatboot if you are not using it. It will work for a network connection pretty reliably if your network hardware’s drivers are not installed for some reason, however.

  • I know samotc intimates in his guide that his DAC’s drivers had to be loaded after booting into flatboot, complete with changes to the registry via “Remote Registry” in WinPE Strelec after using RegistryChangesView. In my case, my USB DAC does not have any of its own drivers, and instead uses “usbaudio2.sys”, which is a Microsoft-provided and signed native USB Audio 2.0 driver that was introduced sometime in the last 5 to 6 years. Unfortunately, Win10XPE does not include this driver/service automatically, and it did take me a bit to understand the proper way to engineer its inclusion. For those who may have a similar DAC needing Microsoft’s native driver, I was able to simply copy the folder for usbaudio2.sys (it MUST be the whole folder, and not just the files or .INF file!) in the FileRepository area of system32 of my host OS into the Win10XPE drivers folder and then direct Win10XPE to integrate the drivers. This resulted in my USB DAC working properly after some trouble in ascertaining this method.

  • Win10XPE includes two options for WinPE’s shell: Explorer and “WinXShell.” I notice samotc went with explorer, but I have gone wth WinXShell. WinXShell appears to have a lighter overall footprint than Explorer, both in terms of its process footprint after WinPE boots and the disk space its associated files use. Also, as I will detail a bit later, it ends up needing less overall processes to function, given that it eliminates the inclusion of dwm.exe and instead only truly needs one instance of “WinXShell.exe”, as opposed to one or more explorer.exe process instances as well as dwm.exe for Explorer.

  • Some of the “Applications” functionality in Win10XPE I found to be unreliable - for instance, Google Chrome would be included in the Win10PE ISO it created only about 15% of the time, no matter which options were selected. This wasn’t much of a problem for me, however, as I could just move either an installation file for Chrome/similar from another drive in flatboot to Win10PE, or even copy the program’s folders and files and skip the installation process entirely. More on internet browsers later, as I eventually changed from Chrome.

  • The TIDAL app, which, as you will recall, is something I require for my use case, for the most part would not install on its own after being downloaded in flatboot, which necessitated that I copy its already installed program folders/files from another drive (located in (user)\appdata\local\TIDAL). Unfortunately, this also began a bit of a headache as, while the TIDAL app would boot in WinPE and sign on correctly, only “High” quality (lossy and not in exclusive mode) would allow for any music playback, and even then only some of the time. I overcame this by comparing what drivers and other files were loaded in the “modules” tab of Process Explorer in a normal Windows 10 install vs. what was loading in WinPE for the process instances for “TIDAL.exe” and “TIDALPlayer.exe” -- this resulted in my narrowing down, after some time, the following four missing driver files in WinPE’s SysWoW64 folder as being the culprit: mfplat.dll, mfreadwrite.dll, RTWorkQ.dll, and AUDIOKSE.dll. After copying these from my host OS into Win10PE’s flatboot’s SysWoW64 folder, TIDAL player locked onto my DAC and played back music in any quality and in exclusive mode for Hifi/Master quality.

  • As has been discussed in the thread previously, Microsoft created a built-in “kill switch” of sorts for WinPE, ostensibly to combat piracy, where WinPE will reboot after 72 hours of continuous use. Fortunately, some poking around Google led to the revelation that there is a relatively simple workaround that, so far, seems to work in my system and has prevented a 72-hour reboot. The information I’ve found online directs you to use a program by SysInternals (which also makes other useful programs like autoruns and Process Explorer) called “PSSuspend,” a command-line utility, to suspend “winlogon.exe,” but I’ve found that suspending the process instance of “winlogon.exe” in any program that has this functionality -- including Process Hacker or Process Explorer -- will work. Crucially, you must SUSPEND winlogon.exe and not kill/terminate its process instance. Still, this is quite interesting, as in other “normal” versions of Win10, winlogon.exe being suspended or terminated was not possible without breaking Windows, which is related to other processes in WinPE also allowing for their processes to be modified, killed, suspended, or terminated in ways that they were not able to in “normal” Win10. More on this later.

  • As I have intimated elsewhere, I have a long history of stripping and editing Windows 10 (and previously Windows 7) through various methods to create an optimized Audio OS. As a result, I have a sort of routine list of optimizations I employ and others I’ve discarded, which include a long list of registry edits and tweaks, disabling unused and unnecessary devices in Device Manager, deleting unncessary/unused system files and folders, network adapter setting optimizations, affinity and priority changes, and changing boot settings via bcdedit/similar. So, with WinPE, I have attempted to replicate what I can, where appropriate. This has led to some interesting and sometimes frustrating issues.

  • Before I begin talking about some of these optimizations, I will repeat a point I made in a reply to another user with an issue: samotc’s guide mentions that you can use something called “WinPE Strelec.” WinPE Strelec is a heavily (and I mean heavily!) modified and customized WinPE recovery ISO which contains many programs related to system recovery and other functions. He included it in the guide because it contains a lot of programs that he recommends using in the process of creating a Win10/11PE ISO, working with it via a VHD flatboot, and making changes to that flatboot (WinNTSetup, DISM++, Bootice, etc.). If you choose to use WinPE Strelec, it’s a bit unclear from his guide, but I would recommend burning the ISO with Rufus to a USB pendrive/media and booting from it, then mounting the VHD from another drive and working with it within WinPE Strelec. Or, you could do what I (and apparently also samotc) did and simply download the needed programs from the internet in your host OS instead. samotc mentions that he uses a program, however, called “Remote Registry” in WinPE Strelec to make registry edits to Win10/11PE’s flatboot VHD hives, whether via .reg files in his RegistryChangesView method or otherwise. In my case, I found this too cumbersome, and simply would use another Registry editing program in my host OS (where my VHD’s were all located) such as Registry Workshop (but you could even just use normal Regedit) to load the hives from the mounted VHD in system32\config, make edits, and then unload the hive. It is, of course, up to you -- one advantage to doing it samotc’s way via Strelec’s “Remote Registry” is that the .reg files that would be generated with RegistryChangesView would not have to be edited to include whatever name you choose for the hives you load in another program -- Remote Registry, as far as I can tell, just treats the loaded offline hives as if they are its own, so an offline hive will just show up as, as just an example, HKLM\SYSTEM\CurrentControlSet\Services, as opposed to HKLM\(name you gave the loaded hive)\ControlSet001\Services. I did not use .reg files very often in my own registry edits to my flatboot(s), but when I did, I had to replace “SYSTEM” or “SOFTWARE,” for instance with the name I gave my loaded hives in notepad++ or similar to implement the changes needed.

  • The first issue I ran into was that, normally, devices disabled or uninstalled in Device Manager would have correlates in registry settings. In WinPE, however, its odd registry behavior in terms of some things being static and others not, even in flatboot, resulted in these settings not being available in the offline registry hives, and unfortunately all of the devices in Device Manager (or NirSoft’s similar program DevManView, which I also use) need to be re-disabled upon a reboot, whether in flatboot or USB boot. This is a pain, but after awhile I did become pretty good at remembering what to disable without having to consult what I had written down.

  • Boot settings via Bootice or BCDEdit are another oddity with WinPE that I am still, to be honest, unable to ascertain if I have applied correctly, at least in USB boot. In flatboot, I would use Bootice to edit the settings for both the BCD file for the “Boot from VHD” option in my current boot menu, as well as the ones in the VHD’s boot\bcd file, and lastly the BCD file in the efi folder of the VHD. The kind of settings I’m referring to are normal “audiophile” optimizations for boot settings, such as disabledynamictick or nX AlwaysOff, etc. After applying these, I was able to confirm with flatboot that they seemed to work because of settings related to boot animation/graphics seeming to be applied (it would show the Windows logo and loading icon for a shorter duration than it had previously), but in both flatboot and USB boot, attempting to check current boot settings with either bcdedit or Bootice while WinPE results in an error message, so it’s not verifiable, as far as I can tell. With USB boot, I have resorted to editing all BCD files I can find, which is to say the ones in the ISO’s root directory, as well as the ones within the boot.wim, with all the same settings. I think this is working, but again, can’t find a way to verify! If anyone has any insights here, that would actually be very helpful.

Okay I am done writing for the day, I think. Wore myself out! Thank you for reading if you managed to make it through. I will return with another post that mostly details the process of disabling services both in the flatboot registry and post-boot, and at least then attempts to give a guide for which services can be disabled/stopped, broadly, in a WinPE build that both needs network and does not. I will also talk about whittling down processes in general -- I have found you can get WinPE down to as little as 16 processes! Stay tuned. :)
  • Adrian, aircondition, keith_correa and 1 other like this

#22 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 20 December 2021 - 07:26 AM

Dear internethandler, I have carefully read your last post, very good work, but I disagree on one point, the one regarding "scripts".
Of course, implementing scripts would possibly avoid the entire flatboot installation step, but you must bear in mind that a script that works for the installation of a driver / application, may NOT WORK for another driver / application.
In addition, to prepare a guide, I can only give specific instructions for "scripts" for the DACS drivers that I have, but NOT, for those that I do not have, the same happens for the applications.
On the other hand, the flatboot installation generally works in all cases, and is less cumbersome than making scripts, especially for people with little experience.
An example:
Installing HQPlyer 4, after all the general steps, described in my guide, when starting it will ask for several .dll files, the solution is simple, if you have HQP installed on your host system, it is to look for the dlls it asks for, that are in Windows \ System32, and windows \ sysWOW64 of the host and copy them to the corresponding ones of Win10 (11) XPE, and everything solved, HQP will start and work.
Another example:
F2K, it is very easy to keep the configuration you have in your host system, it consists of overwriting the folder Foobar 2000, which is in \ ProgramFiles (x86) of the winPE with the folder that is in the host, and overwriting the folder that It is in \ Users \ Default \ AppData \ Roaming with the folder that is in \ Users \ Administrator * \ AppData \ Roaming on the host.
* = or the username you have.
Nothing more, very good work. Greetings.

  • rebone likes this

#23 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 20 December 2021 - 08:20 AM

"but in both flatboot and USB boot, attempting to check current boot settings with either bcdedit or Bootice while WinPE results in an error message, so it’s not verifiable, as far as I can tell. With USB boot, I have resorted to editing all BCD files I can find, which is to say the ones in the ISO’s root directory, as well as the ones within the boot.wim, with all the same settings. I think this is working, but again, can’t find a way to verify! If anyone has any insights here, that would actually be very helpful."

 

I don't know what you mean exactly, since I can edit the BCD from winPE via Bootice> BCD> Currentsystem> Easy Mode.

To ensure that the BCD is the winPE's own, if you want you can go to Bootice> Other BCD File> and select X: \ boot \ BCD, the same screen will appear.
I attach a screenshot.
 
" 


#24 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 20 December 2021 - 10:48 AM

I apologize for sending the above repeated post



#25 BernieK

BernieK

    Die Hard

  • Moderators
  • 1,723 posts
  • LocationMelbourne

Posted 21 December 2021 - 12:33 AM

I apologize for sending the above repeated post

 Hi samotc,

 

Sorry, I deleted the duplicate post and surprisingly both copies disappeared. First time this has happened, very strange. Can you repost with the screenshot, please.

 

Once again, I apologize, and thanks for the repost,

 

BernieK


Control Point: Apple iPad (9th gen), 64Gb storage, 3Gb RAM, JPLAY for iOS 1.0.18; Samsung Galaxy Tab S6 Lite, 128Gb storage, 4Gb RAM, Bubble UPnP 4.3.6; Dell Inspiron 15 5510 laptop (Windows 11 Professional (x64) Version 22H2 (build 22621.3155), Intel Core i7-11390H, 2.93 GHz, 512Gb KIOXIA M2 PCIe NVMe (RAID) SSD, 16Gb DDR4 3200 MHz RAM), Upplay 1.7.1.

Control and Audio-PCs: Asus Mini PC PN60, Intel Core i5 8250U 1.6 GHz, 250Gb Kingston A2000 M2 NVMe SSD and 8Gb DDR4 2400 MHz RAM.

OS: Windows Server 2019 (Standard Edition) in highly optimized Desktop mode, command prompt shell for initial setup after which Control and Audio-PCs run headless (monitor, keyboard and mouse disconnected).
Optimization: Audiophile Optimizer 3.0, MajiorityCamisole 195R3 (Control-PC) and 194R3 plus 195R3 (Audio-PC) via TrustedClean 3.1b-server on RAM Disk (MCLE Local folder) (for automated RAM Disk procedure and TC settings used see my Guide for Creating a RAM Disk that Uses TrustedClean (TC) 3.1b-server to Install and Run MajiorityCamisole) (revised 3 May 2024), Process Lasso Server Edition 14.0.3.16, additional Windows processes/services stopped via registry editor, task manager and a modified CAD DSK script (for complete optimization procedure see my Guide for Optimizing WS2019 in a Dual or Single PC JPLAY Femto-Based System) (revised 3 May 2024).

Renderer: JPLAY FEMTO 7.0D UPnP (Alternative version), Server: JPLAY FEMTO 7.0D femtoServer, File Manager: Q-Dir 11.64.0.0, Library Manager: JRiver MC 32.0.6.
JPLAY Settings: Playing via: KS, Engine: ULTRAstream, Bitstream: Native, Bitperfect Volume: OFF, DAC Link: 1000, XtreamSize: 1000, Throttle: ON, Hibernate Mode: ON.

Equipment Configuration: Control Point Tablet/Laptop > WiFi > Control-PC > 1m SUPRA Cat 8 Ethernet Cable > Audio-PC > 3m Chord C-USB Cable > Rotel 1590C > 2m Mogami NEGLEX RCA to XLR cable with Neutrik connectors) > March Audio P501 Monoblocks with Purifi 1ET7040SA modules > DIY speaker cables (Tycab PVC doubly insulated 11 AWG OFC wire, TechFlex braid, Neotech Banana/Spade connectors) > Bryston PX-1 external crossovers > DIY speaker cables (as before) > Bryston Model T Signature Speakers. AC power filtered/cleaned via Thor A12BF Smart Power Board. 

Music Storage: Main Library: 6Tb Seagate HDD/Hub+6Tb Seagate HDD (all connections via 0.5m Avencore Premium USB 3.0 cables); Backups (x2): as per Main Library.


#26 internethandle

internethandle

    Die Hard

  • Members
  • PipPipPip
  • 280 posts

Posted 21 December 2021 - 05:29 AM

Hi samotc, 

 

I really don't know what happened, but today I tried Bootice again and the current system tab worked just fine, confirming my settings were all applied. Bcdedit still gives me an error about finding the bootloader for whatever reason, but no issue. Anyway, disregard my previous comment, and thank you for getting me to try Bootice  in WinPE again!



#27 internethandle

internethandle

    Die Hard

  • Members
  • PipPipPip
  • 280 posts

Posted 21 December 2021 - 05:41 AM

THE BELOW POST(S) APPLY TO WIN10PE - THERE WILL BE DIFFERENCES IN WIN11PE I WILL DETAIL IN A LATER POST

Okay so I’ve returned for part 2 of my account of creating and modifying/optimizing Win10PE for audio OS purposes. In this section I’ll cover the process of optimizing Win10PE in its flatboot registry, primarily in the services section, as well as detailing further reducing and disabling things after boot once you’ve finalized your ISO in flatboot and are booting either from USB or the system boot menu. I’m glad I waited, too, as just today I was able to reduce processes post-boot even further than I had previously.
  • As I intimated in my last post, typically with a “normal” W10 OS build, I would use pre-deployment stripping software such as NTLite and WinReducer (as well as sometimes DISM on my own for removing extra things those programs would not touch, although WinReducer in particular is pretty comprehensive in its reduction options at this point, so largely I find going further unnecessary) to reduce an ISO prior to installation. This would typically lead me to a ~700-800MB ISO file, which is close to what Win10XPE would end up creating for me, although still slightly bigger, but getting the post-install size down below 3.9GB or so I always found to be impossible without very tedious and often disastrous manual deletion of system files post-boot - so WinPE is far superior in that sense, as samotc has already discussed. Still, although I tried, WinReducer and NTLite, at least, appear incompatible with WinPE ISO’s, at least the one Win10XPE generated. Also, as I mentioned previously, an ISO Win10XPE generated that had its source in a WinReducer stripped W10 ISO, while working in flatboot, produced an error when booted from USB boot that I was unable to recover from. The issue I will mention is related to that experience -- while the ISO Win10XPE produced with a Win”Reduced” ISO as its source did have some reductions in overall footprint in system32, SysWoW64, and WinSxS folders, it did not seem to be able to touch the overall structure of WinPE’s registry. In particular, the services I removed with WinReducer from W10’s registry did not reflect in a concurrent reduction in the services populated in HKLM\SYSTEM\CurrentControlSet\Services in WinPE -- they were the same in WinPE’s registry in both an W10PE ISO produced from a “normal” 21H2 ISO and in one produced from a 21H2 ISO that had been put through WinReducer. This was a bit frustrating, as the result is a lot of “bloat” in the Services key for WinPE vs. what I am used to in a stripped W10 build. It therefore took a very long time for me to slog through and ensure nothing broke in WinPE flatboot or USB boot after being disabled or modified. At times, services in the sub-keys of the Services key would be able to be disabled in flatboot, but not USB boot, and vice versa (an example of this is “WimFsf” can be disabled in flatboot but not USB boot, and “vdrvroot” can be disabled in USB boot but not flatboot, among other items). Examples of bloat would be AMD drivers that I personally would not need because I use an i7-6700k, or a whole slew of SCSI-related drivers and services. Normally, these are removed in WinReducer, but, again, did not seem to be able to be touched via normal means in WinPE. It is possible they can be removed via scripts/other functionalities of Win10XPE (likely via removing packages with DISM), but again, this is beyond my current abilities or knowledge base, and, frankly, I put so much work into the process of disabling Win10PE services, that I was too tired to parse the process of potentially removing things in Win10XPE.
  • I will now list the services that are set to a “Start” value in my W10PE’s HKLM\SYSTEM\CurrentControlSet\Services key of DWORD 0x01, 02, or 03 (Automatic, Automatic (delay), and Manual, respectively). These are what I found is needed for, after flatboot, USB boot to work. Everything else has a “Start” value of DWORD 0x04 for “disabled.” Note these will NOT result in a successful flatboot! You will need, for that, also “vdrvroot” and “storahci” to be enabled, at the least. Hopefully I am not forgetting anything for a successful flatboot, but you can always test. An important warning!: you MUST set every “ErrorControl” DWORD in EVERY service in the Services sub-key to “0” prior to disabling them, and I would also recommend setting all available “FailureActions” to the following values to reflect three “Do Nothing” options for actions to take at failure:

00 00 00 00 00 00 00 0000 00 00 00 03 00 00 0014 00 00 00 00 00 00 00C0 D4 01 00 00 00 00 00E0 93 04 00 00 00 00 0000 00 00 00
  • Also!: You MUST search registry and find and delete from any “UpperFilters” and “LowerFilters” values that contain any of the following items, otherwise disabling them in the Services key will result in an issue at boot or otherwise: fvevol, volsnap, rdyboost, iorate.
  • The following list allows for full functionality in my i7-6700k Audio PC (single PC, note I am NOT using Audiophile Optimizer, Fidelizer, or JPLAY) using a JCAT Femto Ethernet Card, a JCAT Femto USB V2 card, and a SOtM tX-USBultra Special Edition USB reclocking/reconditioning unit (which is seen by Windows as a “Generic USB Hub”), using an internet browser, TIDAL app in exclusive mode, Minority/MajiorityClean, RewriteData, and Process Hacker, with little other functionality needed for my use case.
  • Okay, here’s the list of services I do NOT have set to “disabled” in the HKLM\SYSTEM\CurrentControlSet\Services key:

ACPIAFDAudioEndpointBuilderAudiosrvBasicDisplayBasicRenderCNGCryptSvcDXGKrnlDcomLaunchDeviceInstallDhcpDiskFBWFFltMgrKSecDDLSMLanmanWorkstationMsfsNDISNdisVirtualBusNetAdapterCxNetBTNetSetupSvcNpfsNtfsProfSvcRamdiskRpcEptMapperRpcSsSystemEventsBrokerTcpipUEFIUSBHUB3USBSTORUSBXHCIUserManagerWdf01000WimFsfWofacpiexe1rexpresshwpolicyi8042prtkbdclassksthunklmhostsmouclassmountmgrmsisadrvnsinsiproxypartmgrpcipdcswenumumbususbaudio2usbccgpvolmgrVolume
  • In flatboot, I would recommend comparing the above list to processes that are actually running in the services tab of Process Hacker or similar. Some, such as “cdrom,” “bttflt,” and others, run despite the fact that they are set to Start DWORD 0x04 for disabled. The only way I have found to be able to stop those from running is to manually go into the VHD of W10PE -> windows\system32\drivers -> and rename or delete their .sys files (e.g. rename “cdrom.sys” to “cdrom.syso”) -- this causes them to not load at boot. Unfortunately, this is not the case for every single service that runs despite being disabled in registry, and some cause issues if they are deleted or renamed in system32\drivers. It is also the case that a few of them can be stopped in command line or Process Hacker without issue, and some are set to enabled but stop after boot on their own. I can only say that the above were needed to not be set to "disabled" in my registry in order for USB boot to successfully complete and my hardware devices to install correctly. You can compare what is running in your services tab vs. what is running in mine after post-boot measures further down in the post. Testing in flatboot is also important. Unfortunately, I hesitate to give a broad recommendation here because it seems to me to be system/hardware-dependent…
  • Prior to booting, in flatboot, I also set the following services in their sub-keys to “Type” DWORD 0x10 for “own process” so that they run in their own svchost process and can later be killed: LSM and SystemEventsBroker. Otherwise, you will be unable to stop them via other means, as far as I know, without killing other services you cannot kill due ot their sharing svchost entries with those services.
  • Okay, now for some post-boot reduction/tweak information. As I mentioned before, there are some housekeeping tweaks of sorts to do post-boot that I tend to do for every Windows 10 Audio OS install, including disabling devices in DeviceManager or NirSoft’s DevManView. For convenience, here is what I have set to “Disabled” (you must have “Show Hidden Devices” enabled to see some of these things) in Device Manager at the moment for my W10PE build. Note that every system is different - what populates in Device Manager is dependent on many hardware and even software variables, including differences in individual motherboards, so there may well be things listed here that are not present in your system and vice versa, and also note I have already directed Device Manager to “Uninstall device” for a variety of things, as this particular WinPE build has been on for four or five days now:


ACPI Processor AggregatorIntel(R) USB 3.0 eXtensible Host Controller - 1.0(Microsoft) [this is the remnant of where my USB drive was plugged in on my motherboard for USB boot - I have already uninstalled its associated USB hub and the drive itself, which removes their entries from registry]Microsoft Windows Management Interface for ACPI (x2) Motherboard Resources (x8)PCI Memory ControllerPCI Simple Communications ControllerHigh Precision Event Timer (this is also known as HPET, and I also have this disabled in BCDEdit/Bootice -- there are some audiophiles who think it sounds better on, but most, seemingly, keep it off, as I do. You can try both based on SQ if you’d like, but you need to have it enabled in both Boot settings and here, as far as I know -- and, possibly, in your BIOS settings, depending on your mobo)Legacy deviceProgrammable Interrupt ControllerSystem timerPCI-to-PCI Bridge (there are three of these populated in my Device Manager, importantly I have only disabled the one listed which does not have anything connected to it after sorting devices by connection)SM Bus ControllerVideo Controller (VGA Compatible)Microsoft GS Wavetable SynthMicrosoft Kernel Debug Network AdapterNDIS Virtual Network Adapter EnumeratorUMBus Root Bus Enumerator

Everything else I have enabled.
  • After doing this and some other housekeeping (such as optimizing my JCAT Femto Ethernet Card’s settings via Marcin’s recommendations), I ensure everything is working, and then usually use RewriteData on a few things (such as MinorityClean/MajiorityClean, internet browsers, and TIDAL app). Happily, I have found that, at least with WinXShell, you are, automatically, logged into Windows as a “Default” user, which results in literally every process and program you start being executed with NT AUTHORITY\SYSTEM permissions. Note that if you direct Win10XPE, prior to ISO creation, to allow you to “Switch to Administrator,” this will not occur, which, for our purposes, seems disadvantageous, so I would recommend not using that feature of Win10XPE. For instance, you can run MinorityClean/MajiorityClean as NT AUTORITY\SYSTEM simply by opening it, as opposed to using the sexe64 method or via HungryBear’s Script, which is essentially the reason for going that route to begin with.
  • Relatedly, I suspect the reason why you are able to, as I mentioned in previous posts in this thread, change affinity/priorities/etc. in Process Hacker or similar programs for previously off-limits processes such as “csrss.exe”, or “lsass.exe” is because you are logged into NT AUTHORITY\SYSTEM in WinPE. I am unsure, however -- this may also be allowable as any user in WinPE. I also now have confirmation from one user, via PM, that they are able to change affinities and priorities for csrss.exe and lsass.exe, for example, in Windows Server. All I am sure of is that, as Administrator in W10, this was never possible for me.
  • I have found that Opera GX, while gaudy and gimmicky, is a good browser to use for our purposes in that it allows for user-customizable throttling on RAM and CPU usage. I have set it to its lowest allowable setting (1GB of RAM usage and 25% CPU usage). This is particularly useful because I am working with only 8GB of RAM total for Win10PE’s RAMDisk/processes. Google Chrome is too resource-heavy. Sound-wise Opera GX may also be slightly better than Chrome -- a bit more analog/relaxed, although it is subtle.
  • After getting everything settled, I then proceed to direct WinPE to establish a static IP address so I may disable many network-related services. This is done via the netsh command in command line in my case, but you could also use PENetwork to do so before deleting/disabling it, as I mentioned in my last post. Simply Google netsh commands for static IP establishment, it’s fairly easy if you have done so before by other means. After doing this, I then kill the svchost process in Process Hacker for both DHCP and nsi, as they are no longer needed.
  • Next, I use command line to kill “DeviceInstall” with the command line “sc stop deviceinstall” -- this service I found to be necessary, at boot, for installation of my JCAT Femto Ethernet card, but can then be stopped post-boot. It shares a svchost process, usually, with DcomLaunch. Command line will tell you that is is “Stop Pending” and that it is not killable/stoppable, but if you check in Process Hacker it will no longer be running in the same svchost instance as DcomLaunch or in the Services tab.
  • I then launch BernieK’s script toward the end of the guide in his signature to stop, in particular, ProfSvc and UserManager. I make sure to not have CryptSvc stopped and delete its line in his script, as I have found WinPE (unlike W10) for some reason causes quite a bit of issues when CryptSvc is disabled around network connectivity. Both internet browsers and in particular TIDAL app complain when it is stopped, if they do not outright cease working. Therefore, I only “suspend” CryptSvc’s svchost entry most of the time, but more on that in a bit. BernieK’s script then looks like this with CryptSvc missing:

net stop camsvc /yesnet stop DeviceAssociationService /yesnet stop fdPHost /yesnet stop FDResPub /yesnet stop netprofm /yesnet stop NlaSvc /yesnet stop QWAVE /yesnet stop LanmanServer /yesnet stop sppsvc /yesnet stop UserManager /yesnet stop StateRepository /yesnet stop lmhosts /yesnet stop ProfSvc /yesnet stop Wcmsvc /yesnet stop EventLog /yesnet stop LanmanWorkstation /yesnet stop NetSetupSvc /yesnet stop MSDTC /yesnet stop UsoSvc /yesnet stop KeyIso /yesnet stop DsmSvc /yesnet stop SstpSvc /yesnet stop wildsvc /yesnet stop EventSystem /yestaskkill /T /F /IM WmiPrvSe.exetimeout 1net stop Winmgmt /yesnet stop TimeBrokerSvc /yes
  • I save the above as “dsk.cmd” and run in command line. Note some of the services here are not running or included in WinPE already, but I kept them in for the hell of it. No harm no foul in telling Windows to stop something not running already.
  • Here, I kill the svchost processes for SystemEventsBroker and LSM, which should be running in their own svchost processes from the previously mentioned Type DWORD 0x10 setting. WinPE, unlike W10, allows for LSM to be killed with seemingly no consequence for my use case. SystemEventsBroker is not present in my previous W10 build, but it, too, does not seem to be needed, as I have had no issue getting rid of it after booting (although it causes issues at boot in flatboot if disabled prior to boot). Note that W10PE does not have a “CoreMessagingRegistrar” service or a “BrokerInfrastructure” service running at all, unlike “normal” W10.
  • Next, I go into Process Hacker and right click the following three services, which should be running: NetBT, Wdf01000 and DXGKrnl. I hit “disable” twice on them and restart Process Hacker, which should result in Wdf01000 and DXGkrnl being listed as “Stop pending” and NetBT stopped entirely -- "stop pending" effectively means the other two are stopped. I have found no issues with these being stopped for my use case, despite their supposed purpose. Lastly, I do the same for “acpiex” -- this, in my system, at first causes Process Hacker to crash. I use Process Explorer or Task Manager to kill Process Hacker, then restart it and disable it yet again. This time, acpiex will be listed as “Stop pending” like the other two after being restarted, effectively, again, killing it. Unsure about what causes the quirk in "acpiex"'s behavior and its crashing of Process Hacker, but it does not seem to cause any other issues.
  • This leaves the following services as listed as “Running” in the Services tab of Process Hacker, which lies at 42 for me currently. I know samotc has mentioned he has less services running than this in his W10PE, which seems possible to me given he is not running network, although some of them (such as “BasicDisplay” and “BasicRender”) I do not see how he could not have running and still boot, so unsure there, but would love to know! You certainly could get into the mid-to-low 30’s, at the very least, without network. In keeping with that, I have put in an asterisk next to items that I believe can be disabled if you are not needing network connectivity, although I probably am missing a few. Remember I am talking about services listed as running in something like Process Hacker or another similar program -- services.msc does NOT usually list everything actually running as correlated to what is set in the HKLM\SYSTEM\CurrentControlSet\Services key, at least in my experience:


ACPIAFD*AudioEndpointBuilderAudiosrvBasicDisplayBasicRenderCNGcondrv*CryptSvc*DcomLaunche1rexpress*FBWFFltMgri8042prtkbdclassKSecDDksthunkmouclassmountmgrMsfsmsisadrvNDIS*Npfsnsiproxy*NtfspartmgrpcipdcRamdiskRpcEptMapperRpcSsswenumTcpip*Ucx01000UEFIusbaudio2usbccgpUSBHUB3USBXHCIvolmgrWimFsfWof
  • I forgot to mention, but I am using a PS/2 Mouse and Keyboard. If you are using USB peripherals there, there may be another service needed, but you certainly would not need “i8042prt” to be enabled. Also, “e1rexpress” represents Microsoft/Intel’s PCI Ethernet Controller driver, which is needed for my JCAT Femto Ethernet Card. It would not be needed, potentially, for another wired ethernet solution, such as onboard LAN controllers.
  • Okay, now for some of the fun part: reducing processes, which is sort of where we started when samotc first made his thread about using WinPE as an Audio OS. I am happy to report that, after making my own with his guide’s help, that WinPE is, indeed, MUCH more amenable to killing or suspending processes than “normal” W10, as I suspected it would be. As I’m typing, here is what is listed in Process Hacker for my W10PE build after 4 or 5 days of use as my base processes (so, not counting MajiorityClean, TimerResolution, or Process Hacker itself):

System Idle ProcessSystemSmss.exeInterruptsRegistryCsrss.exeWininit.exeServices.exesvchost.exe (RpcSs, RpcEptMapper)svchost.exe (DcomLaunch)svchost.exe (AudioEndpointBuilder)svchost.exe (AudioSrv)svchost.exe (CryptSvc)Lsass.exeFontdrvhost.exeCsrss.exeWinlogon.exe (suspended by PSSuspend64.exe to prevent 72-hour automatic reboot)Fontdrvhost.exe
  • I only just discovered today (I waited to do this until after doing everything else! Beware!) that I can, in this order, kill: the two smallest (by MB) “WinXShell.exe” instances, then Pecmd.exe, and finally the last, and largest by MB, “WinXShell.exe” instance, which is why you do not see them. I do not know how you would fair with Explorer, but the behavior in WinPE after killing PeCmd and WinXShell (black screen, just windows such as Process Explorer etc. that I already had open still open) is nearly identical to what would happen after killing all “explorer.exe” instances in “normal” W10. In “normal” W10 it was not possible to kill dwm.exe, however, which does not exist with a W10XPE build using WinXShell, so I am unsure how or if that would be possible. Obviously, if you do kill whatever shell you are using, you will need to keep Process Explorer, command line, or another program open to re-launch or manage things, as you will lose taskbar and desktop icons. If you go further, as I will detail, and suspend or kill other processes, you will probably be safest keeping Process Hacker or similar open, at the least.
  • As you can see, the above is 18 processes. If, like samotc, you did not use either network or Windows audio’s mixer (e.g. ASIO only, WASAPI/exclusive mode and obviously normal “DirectSound” audio need said mixer), you could safely stop the svchost.exe entries for “AudioEndpointBuilder”, “AudioSrv”, AND, potentially, CryptSvc. This would leave you with 15 processes. CryptSvc is a bit of a wildcard -- in “normal” W10 builds I have done, it would be persistent -- I would disable it in registry, but it would run. I would stop it post-boot, but it would inevitably restart. I would usually resort to renaming its system32 entry (e.g. “Cryptsvc.dllo”), which would end the issue. However, in “normal” W10 builds, CryptSvc had little to no impact on W10’s functioning. In W10PE, however, it appears to be necessary for a variety of programs, at least ones needed for network connectivity. Chrome, for instance, was fine with its being gone for awhile, but would randomly give me security errors that would not be surmountable. TIDAL just flat out has an issue with it being gone. I’m curious if there is a way to unload modules from these programs’ exe’s while they are running to circumvent their dependency on CryptSvc, but I am unsure. I have resorted, instead, to suspending the process, which works most of the time, although I do have to restart it in Process Hacker at times to get parts of either Opera GX or especially TIDAL app working. If you are not using network, I would likely kill it, but experiment to see if anything breaks.
  • Here is where things get VERY interesting: you can safely kill “lsass.exe” in Win10PE. I was literally shocked when this worked. Lsass.exe, for those who do not know, is a cornerstone of Windows’ security subsystem. In “normal” W10, killing it would result in almost immediate reboot, hanging, BSOD, or other critical issue. Not here, however - I could kill lsass.exe in W10PE and still use literally everything but TIDAL app, which would no longer lock onto my DAC. This reminds me of the days of cicsmemoryplayer on the forum Audio Asylum -- years ago, an alternative shell, file playback player, and other ecosystem was developed by a user there named “cics” and a variety of other forum users, who would use Windows XP, at the time, to be reduced to ridiculously small sizes through sheer deleting of system files. Among the features, however, of “cMP,” as it was known, was the ability to kill/suspend lsass.exe, which, in my build way back then, would successfully suspend for only one track of playback before Windows XP would hang and I would need to reboot. Still, the SQ impact of killing lsass.exe back then and now is VERY noticeable, and I would not necessarily say it is always good… you reach a very high level of detail and transparency, but god help you if you’re listening to a poorly recorded track, as everything will be shown in excruciating detail, warts and all. It also can cause even good recordings to sound harsh. Anyway, play with this at your own risk both SQ-wise and functionality-wise, but if you killed lsass.exe, the two svchost instances for AudioSrv and AudioEndpointBuilder, AND the instance for CryptSvc, as well as killing shell processes and the other processes I've detailed earlier in this post, you would be left with a whopping low of 14 processes running! Holy cow!
  • Because I need network connectivity, however, I do not go this far, and instead resort to keeping Process Hacker open (I also rename its “kprocesshacker3.sys” file in its own directory to keep it from running, it isn’t needed, in my experience), killing all shell-related processes, and then suspending (but not terminating!) lsass.exe, the svchost.exe process for CryptSvc, and, lastly, and this is also interesting, the svchost.exe instance for DcomLaunch.
  • If you had followed my previous posts here or in samotc’s other thread, I had been able to kill DcomLaunch in my previous W10 so long as I kept audiodg.exe running under AudioSrv -- the moment audiodg.exe stopped running, it could not restart. I was surprised I could do this without breaking W10, but it did work, so I kept it. In W10PE, unfortunately, DcomLaunch appears too critical, and killing its svchost.exe will result in an instant BSOD, at least in my case. However, suspending its process instance has little consequence, and when it does, you can simply restart it.
  • I should mention that, in Process Hacker at least, there is a bug of sorts at this level of tweaking where the “Processes” tab will stop responding or show a blank screen when lsass.exe is suspended (but not terminated!). If this occurs, you can hover your mouse over the blank or frozen Processes tab screen until the description of “lsass.exe” shows up, right-click, and select “Restart,” and things will run again properly. Similarly, if you suspend but do not terminate lsass.exe, internet browsers such as Opera GX, or TIDAL app playing back music, may have some issues loading pages or songs. If this occurs, you can simply “restart” the lsass.exe process. I suspect this would happen across various programs with lsass.exe suspended but not terminated -- again, extremely strangely, terminating lsass.exe does NOT cause this issue in most programs, only suspending it.
  • Last item would be what I set in Process Hacker for affinities and priorities. Currently, for affinities, I set literally everything I can to 3 of the four available cores for my CPU EXCEPT for MajiorityClean and TimerResolution, which I keep at all cores. I then keep the svchost.exe instance for AudioSrv and AudioEndpointBuilder assigned to the other core the rest of the processes are not using. For priorities, I set everything EXCEPT AudioSrv, AudioEndpointBuilder, MajiorityClean, and TimerResolution to "Idle" in Process Hacker, while the others get "Realtime." I give Realtime also to TIDAL app and Opera GX. Lastly, the "I/O priority" setting is handled as "High" for all the processes which get "Realtime" CPU priority, and "Very Low" for everything with "Idle" CPU priority.
Okay, I think that’s all for now. Please let me know if you have other questions or ideas for reducing things further. Has been a lot of fun!

I should end with a thank you to samotc for his help getting me here, he has been fantastic. As I understand it, samotc has tried many other Ramdisk installs with non-WinPE Windows OS's, and this is my first foray into Ramdisk. The SQ boost is just amazing in WinPE. It is, hands down, the biggest audio OS-based boost in SQ I have ever experienced with any solution, and I have tried quite a few beyond RAMdisk. The clarity is really, really something, just insane amounts of detail retrieval and noise floor reduction. Without him this would not have been possible. Highly recommended for those willing to put in the work!

Happy listening! :)
  • aircondition, keith_correa and maxst67 like this

#28 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 21 December 2021 - 06:36 AM

Hi internethandler, very, very good job !!
Since I do not have network support, I have been able to eliminate CryptSvc, which offers an ostensible sound improvement, instead I have not been able to do it with "lsass.exe" in any way, it will be because I do not have network support ?
I will try your way for it.
There is another alternative method of loading a Win10XPE in RAM, it consists of leaving the Flatboot VHD, installing the SVBUS driver v2 "signed" that can be downloaded in reboot.pro or github, following the instructions described in "readme.txt" and then copy it to a USB pen and install Grub4dos on it. You can load it into RAM with the command "map --top --mem". The only drawback is that G4D DOES NOT WORK on EFI systems (yes ON UEFI/CSM) or GPT partitions (only in MBR) for that I would need Grub4 EFI and there I cannot help since I have no experience.
I must also warn that SVBUS is taken by antivirus programs as a virus, so they must be disabled when mounting the VHD.
Thank you for your wonderful contributions. It is a pleasure to have people like you in these forums, it makes us all learn, of course with our effort, but as an old Spanish saying says "who wants something, something costs him". An affectionate greeting.

  • rebone likes this

#29 seeteeyou

seeteeyou

    Die Hard

  • Members
  • PipPipPip
  • 368 posts

Posted 21 December 2021 - 07:11 AM

There is another alternative method of loading a Win10XPE in RAM, it consists of leaving the Flatboot VHD, installing the SVBUS driver v2 "signed" that can be downloaded in reboot.pro or github, following the instructions described in "readme.txt" and then copy it to a USB pen and install Grub4dos on it. You can load it into RAM with the command "map --top --mem". The only drawback is that G4D DOES NOT WORK on EFI systems (yes ON UEFI/CSM) or GPT partitions (only in MBR) for that I would need Grub4 EFI and there I cannot help since I have no experience.


I still remember these posts by Menace and you here
 
http://jplay.eu/foru...-guide/?p=50938
http://jplay.eu/foru...-guide/?p=51630
http://jplay.eu/foru...-guide/?p=51671
 
Here are some discussions about grub4dos for UEFI / Grub4EFI
 
https://msfn.org/boa...b4dos-for-uefi/
https://inonameteam....d-6340-1-1.html
http://bbs.c3.wuyou....read&tid=422652

 

GRUB4DOS for UEFI
 
Experiments on GPT/UEFI with grub4dos, grub2, grub4EFI
 
Grub4dos for UEFI for beginners [Questions and Help topic]
 
G4E Installer
 
Grub4EFI - Install and Service - (one way among others)

 
Grub2Win could be another avenue
 
https://sourceforge....grub2win/files/
 
And then there's something else called Ventoy as well
 
https://github.com/ventoy/Ventoy
https://github.com/ventoy/wimiso
 
At least part of it might be in Turkish but most likely we should be able to understand what to do

 

https://disk.yandex..../wHKPP-Sdz5XcXw 
https://www.tnctr.co...4dos-multiboot/


 
https://github.com/M...ltiBoot-Utility
https://www.tnctr.co...lity-tr-en-v15/


 
FYI - in some cases it might somewhat easier to run the "portable" version of some software because registry keys etc. should be stored independently.
 
Here's foobar2000 as an example
 
https://www.videohel...ware/foobar2000
https://www.videohel....8_portable.zip
https://www.upload.e...sh.paf.exe.html
 
Here's yet another alternative, simply enter 1.6.8 (as an example) when we're prompted for the version number
 
https://www.mediafir...ractor.exe/file
 
If we weren't really able to trust those binaries, then we could use 7-Zip to extract everything from an official installer of foobar2000 and then overwrite those corresponding files / folders manually
 
https://www.foobar2000.org/download
 
Pretty much the same deal with Microsoft Store, go to this link as follows
 
https://store.rg-adguard.net
 
Then copy and paste this URL below
 
https://www.microsof...00/9pdj8x9spf2k
 
Get a copy of the file Resolute.foobar2000_1.6.80.0_x86__cg7j1awqsza28.appx (as an example) and it's coming directly from Microsoft @ http://tlu.dl.delive...p.microsoft.com
 
Once again just use 7-Zip to extract everything we want afterwards.
 
 
Not sure about how "portable" it really is
 
https://www.opera.co...mputer/portable
 
We could always go for this portable version of Opera instead
 
https://portableapps.../opera_portable

https://download3.portableapps.com/portableapps/OperaPortable/OperaPortable_82.0.4227.43.paf.exe?20190321

Or enter 82.0.4227.43 (as an example) after running this file
 
https://www.mediafir...Online.exe/file
 
Official source of binaries
 
https://download.ope...indows&arch=x64
 
We'll be redirected to the executable afterwards and here's an example
 
https://get.opera.co...3_Setup_x64.exe
 
Finally 7-Zip will get the job done.
 
 
Portable version of Opera GX
 
https://portableapps...era-gx-portable

https://download3.portableapps.com/portableapps/OperaGXPortable/OperaGXPortable_82.0.4227.50_Rev_2.paf.exe?20190321

Enter 82.0.4227.50 (as an example)
 
https://www.mediafir...Online.exe/file
 
Official binaries
 
https://download.ope...era GX&arch=x64
https://get.opera.co...0_Setup_x64.exe
 
 
Personally I prefer Brave Browser in terms of privacy, though these might not get it updated very frequently
 
https://github.com/p...rtable/releases
 
That's why I would go here and look for the installer BraveBrowserStandaloneSetup.exe
 
https://github.com/b...rowser/releases
 
Usually I just opened the folder %TMP% before running that installer, then grabbed the file that's similar to this one below
 
brave_installer_96_1_33_106.exe.{AFE6A462-C574-4B8A-AF43-4CC60DF4563B}
 
Use 7-Zip to extract the file chrome.7z and then once again use 7-Zip that afterwards, finally I could update Brave Browser manually.
 
 
And then here's ungoogled-chromium a.k.a. Google Chrome sans all that spying / snooping
 
https://github.com/p...rtable/releases
https://github.com/p...0.4664.45-12.7z
 
Manual update as I described above
 
https://github.com/m...chrome/releases
https://github.com/m...4.93-1_Win64.7z
 
 
If all that spying / snooping were no big deal at all, then we could go ahead to get Google Chrome
 
https://portableapps...chrome_portable
https://downloads.so..._online.paf.exe
 
Or enter 96.0.4664.110 (as an example) after running this
 
https://www.mediafir...Online.exe/file
 
Direct links to get the official binaries
 
https://noki.top/chrome
https://tools.shuax.com/chrome/
https://chrome-dl.com/api/chrome.xml
 
 
As always we could also go for Mozilla Firefox instead
 
https://portableapps...irefox_portable
https://downloads.so...English.paf.exe
 
Find out what the latest version is
 
https://en.wikipedia.org/wiki/Firefox
 
Enter 95.0.2 (as an example)
 
https://www.mediafir...Online.exe/file
 
Or try Microsoft Store instead
 
https://store.rg-adguard.net
 
Copy and paste this URL, then download the file Mozilla.Firefox_95.0.1.0_x64__n80bbvh6b1yt2.msix (as an example) and use 7-Zip to extract everything afterwards
 
https://www.microsof...ox/9nzvdkpmr9rd
 
Official binaries (use 7-Zip to extract everything inside that core folder and then overwrite those corresponding files / folders manually)
 
https://www.mozilla....irefox/windows/
https://download-ins...refox/releases/
https://download-ins...etup 95.0.2.exe
 
 
Someone in Taiwan also made something specifically for his own releases of Windows 10 / 11 PE
 
https://sites.google...ite/tools241/fx
https://blog.xuite.n.../blog/380930541
 
 
Portable version of Waterfox
 
https://cdn.waterfox...English.paf.exe
https://web.archive....English.paf.exe
 
Enter Classic 2021.10 (as an example) or G4.0.5
 
https://www.mediafir...Online.exe/file
 
Official binaries
 
https://cdn.waterfox...in64/installer/
https://cdn.waterfox...21.10 Setup.exe
https://web.archive....21.10 Setup.exe
 
Waterfox Classic 2021.10.1 Portable?
https://www.reddit.c...rtable/hj53fzr/
https://www.computer...x-11816212.html
 
 
Portable version of (Mozilla Firefox-based) Pale Moon
 
http://rm-as.palemoo...9.4.3.win64.exe
http://rm-eu.palemoo...9.4.3.win64.exe
http://rm-us.palemoo...9.4.3.win64.exe
 
Official binaries
 
http://rm-as.palemoo...29.4.3.win64.7z
http://rm-eu.palemoo...29.4.3.win64.7z
http://rm-us.palemoo...29.4.3.win64.7z
 
Enter 29.4.3 (as an example)
 
https://www.mediafir...Online.exe/file
 
Another alternative
 
https://www83.zippys...Iowbc/file.html
 
Yet another source
 
https://rtfreesoft.blogspot.com
https://msfn.org/boa...-builds-part-2/
 
 
BTW, either "old" or "new" Microsoft Edge should be one of the worst choices out there
 
https://forums.mydig...-block-it.64893
https://forums.mydig...soft-edge.79237
 
Portable version here
 
https://soft98.ir/in...osoft-edge.html

https://dl2.soft98.i...62.Portable.rar

 
AVX2 version of Google Chrome could also be used to overwrite the portable ones
 
https://github.com/R..._Clang/releases
https://chromium.woo...avx2-nosync.zip


  • rebone likes this

#30 seeteeyou

seeteeyou

    Die Hard

  • Members
  • PipPipPip
  • 368 posts

Posted 21 December 2021 - 02:16 PM

Please let me know if you have other questions or ideas for reducing things further.

 

There's really not much I'd like to add, not sure if you're OK with getting TIDAL off the Audio PC or otherwise. In addition, it's also necessary to find out whether you're unfolding MQA somewhere or not.

 

Basically we could use anything similar to Kazoo as long as TIDAL integration is supported, it could be running on Android / iOS / Windows while we're streaming TIDAL to the UPnP / DLNA renderer that's running on the Audio PC with support for WASAPI / ASIO

 

https://docs.linn.co...1_onwards#Tidal

 

In other words, no need to put Opera GX on the Audio PC and we'll simply need something similar to "Audiophile UPnP Renderer" (or foobar2000 with foo_upnp) instead

 

https://audiophilest...er-for-windows/

https://sourceforge....er/files/Setup/

 

Another alternative is Logitech Media Server with TIDAL integration

 

https://forums.slimd...-changes-ahead!

 

It's pretty funny that lossy Spotify would actually sound better than lossless Qobuz

 

https://pinkfishmedi...5/#post-3863086

It all works as described above BUT I then decided to try Squeezeserver (LMS) on my i9 iMac and PiCorePlayer on the RPi. WOW, significantly better sound quality, very surprised at the magnitude of the improvement. Even Spotify (via the Spotty LMS plugin, for me a big plus point of LMS over Roon) now easily beats my previous best streaming source of Qobuz/local files played through Moode/RoipeeeXL.

 

Though Squeezelite-X could be somewhat tricky because support for WASAPI should be removed at some point

 

https://forums.slimd...ll=1#post908499

Just tried wasapi and it's working here

 

Previous versions could be found here

 

https://1drv.ms/f/s!...YHGQ1-VHk7TQZXw

 

 

 

BubbleUPnP is another Android app with TIDAL integration and maybe Windows Subsystem for Android on Windows 11 could also work?

 

https://play.google....roid.bubbleupnp

 

As always unfolding MQA might not work very well if we're going through UPnP / DLNA etc.

 

 

 

*IF* USB Audio / WASAPI were actually working over Ethernet, then the (headless) Audio PC could simply sit there and do nothing other than serving the USB DAC / network connection to another PC

 

https://www.virtualh...server_software

https://www.virtualhere.com/node/958

 

Once again we could go to https://store.rg-adguard.net first, then copy and paste this link below

 

https://www.microsof...er/9pk805v256r6

 

Get a copy of the file VirtualHerePty.Ltd.VirtualHereUSBServer_2021.1003.1240.0_neutral_~_qx28r1c1n9qrp.msixbundle and extract VirtualHereUSBServer_x86_64.msix afterwards. Finally we'll use 7-Zip to get that executable vhusbdwinw64.exe as shown below

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2021-10-03 12:47:20 .....         7729         7729  square150_logo.png
2021-10-03 12:47:20 .....         1884         1884  square44_logo.png
2021-10-03 12:47:20 .....      3000496      2929678  vhusbdwinw64.exe
2021-10-03 12:47:20 .....         1979          921  AppxManifest.xml
2021-10-03 12:47:20 .....         4138         2120  AppxBlockMap.xml
2021-10-03 12:47:20 .....          610          289  [Content_Types].xml
2021-10-03 12:47:20 .....        11007         7236  AppxMetadata\CodeIntegrity.cat
2021-10-03 12:53:40 .....        10955         7275  AppxSignature.p7x
------------------- ----- ------------ ------------  ------------------------
2021-10-03 12:53:40            3038798      2957132  8 files

Its client is available here

 

https://www.virtualh...ient/vhui64.exe

https://www.virtualh...client_software

 

Network latency could be an issue, though

 

https://virtualhere....artifacts-added



#31 kalaha777

kalaha777

    Beginner

  • Members
  • 4 posts

Posted 23 December 2021 - 09:57 AM

Good time everyone. Thanks for the answers and help with my questions. Ported all programs to win 10xpe, except RegistryChangesView, UltraISO. I thought that all manipulations should be performed in win 10XPE or Strelec. Thank you very much for unsubscribing. Having problems creating the VHD. All manipulations for creating VHD and changing BSD need to be done only from the main system. When creating flat boot with win10xpe and strelec, many features are stripped down. BCD editing without the main system is not possible. I think for beginners, it should be mentioned that all settings need to be made from under the main system. I want to mention, I ran into the difficulty of editing the system BCD, when booting, two systems appeared in the menu: win10 and win10pe. When I click win10pe, the system went to reboot. From the samotc instruction, when creating a VHD, a folder was created in the root directory (vhd), and when editing the BCD system, a link was only to the file (/win11xpe.vhd). This nuance is not mentioned in the instructions. I do not know why the instructions say without specifying the directory and how win11xpe could be loaded at the same time. After registering the full path to the file in my case (\ vhd \ win10xpe.vhd) only then win10xpe was able to boot. I wrote it so that non-experienced users could avoid this error. I would like the author to add clarifications to these points in his instructions. You can also mention the procedure for creating a separate profile for the BCD system, a very handy necessary thing ... Not quite figured out why you need to edit Other BCD file ... What does this editing give? 1) It was not possible to tighten the screen brightness control and for some reason the Ethernet connection does not work correctly. It is especially important to set up your internet connection. 2) How to correctly install the sound card driver and (DAC_Asio)? With great respect to the author, special thanks to internethandle and the forum participants.
  • kalaha777 likes this

#32 kalaha777

kalaha777

    Beginner

  • Members
  • 4 posts

Posted 23 December 2021 - 10:01 AM

Sorry for repeating the post. For some reason, it constantly throws it out and requires you to re-enter the registration key ...

#33 Nobudy

Nobudy

    Die Hard

  • Members
  • PipPipPip
  • 285 posts

Posted 23 December 2021 - 12:01 PM

this is way too much hassle for the small benefit its get on sound



#34 internethandle

internethandle

    Die Hard

  • Members
  • PipPipPip
  • 280 posts

Posted 23 December 2021 - 08:52 PM

Something that is too much work to some is fun and worth it to others. I found the sound quality impact to be more impactful vs. any other OS level tweaking I’ve done, including something like MajiorityClean/MinorityClean. Too many variables in systems to say how much of an impact it would have in any individual user’s system, it may be less in others. But yes, this is definitely quite a bit of work and not something I would recommend to most people unless they are willing to take the time.
  • keith_correa likes this

#35 keith_correa

keith_correa

    Advanced

  • Members
  • PipPip
  • 54 posts

Posted 24 December 2021 - 07:54 AM

Hi internethandle!

 

Thanks for your detailed posts about reducing WinPE further. I get WinPE to work following samotc's guide in the first post and get audio to work just fine. I then tried to take it a step further to reduce the footprint by following what you recommended in your last 2 posts but mainly from "Part 2 of creating and modifying/optimizing Win10PE for audio".

On WinPE's registry, offline, I first set the values of "ErrorControl" and "FailureActions" to what you recommended.

In the registry, I then set the value of "Start" to 4 for all sub-keys under the Services key except for the sub-keys that you listed as not disabled on your build.

I then went through the services on your build that you listed as running in Process Hacker and checked in the registry that these were not set to disabled. They were not.

I then built the wim & iso and using Rufus, wrote the iso to a flash drive. When booting from the flash drive, after the initial loading, the Windows logo is displayed and the spinner below it is displayed for a couple of seconds.

The screen then goes blank and I get a message box with the title bar displaying: "Sign-in process initialization failure" and an error message displaying: "Interactive sign-in process initialization has failed.". Any clue what could be causing this? Any pointers to solve this from you or anyone else would be much appreciated!



#36 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 24 December 2021 - 08:06 AM

Good time everyone. Thanks for the answers and help with my questions. Ported all programs to win 10xpe, except RegistryChangesView, UltraISO. I thought that all manipulations should be performed in win 10XPE or Strelec. Thank you very much for unsubscribing. Having problems creating the VHD. All manipulations for creating VHD and changing BSD need to be done only from the main system. When creating flat boot with win10xpe and strelec, many features are stripped down. BCD editing without the main system is not possible. I think for beginners, it should be mentioned that all settings need to be made from under the main system. I want to mention, I ran into the difficulty of editing the system BCD, when booting, two systems appeared in the menu: win10 and win10pe. When I click win10pe, the system went to reboot. From the samotc instruction, when creating a VHD, a folder was created in the root directory (vhd), and when editing the BCD system, a link was only to the file (/win11xpe.vhd). This nuance is not mentioned in the instructions. I do not know why the instructions say without specifying the directory and how win11xpe could be loaded at the same time. After registering the full path to the file in my case (\ vhd \ win10xpe.vhd) only then win10xpe was able to boot. I wrote it so that non-experienced users could avoid this error. I would like the author to add clarifications to these points in his instructions. You can also mention the procedure for creating a separate profile for the BCD system, a very handy necessary thing ... Not quite figured out why you need to edit Other BCD file ... What does this editing give? 1) It was not possible to tighten the screen brightness control and for some reason the Ethernet connection does not work correctly. It is especially important to set up your internet connection. 2) How to correctly install the sound card driver and (DAC_Asio)? With great respect to the author, special thanks to internethandle and the forum participants.

1. Modifications to the BCD with Bootice can be done from the main system or from WinPE (another BCD file instead of current BCD file)
2. When creating the VHD, whether it is with WinNTSetup or with diskmgr.msc, the system gives the option of where to do it and of course, you have to tell bootice where the .vhd file is, so that it can start it.
3. The screen brightness control cannot be adjusted because WinPE does not allow it, you would have to ask Microsoft why they designed it this way.
4. To correctly install your DAC driver, start WinPE flatboot, run the registrychangesview program from the folder where you have it, and from "registry data source 1" click on "create registry snapshot", then install the driver. After the installation, go back to registrychangesview> registry data source 2> create registry snapshot and click on it, all this are perfectly described in the guide.


#37 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 24 December 2021 - 08:13 AM

this is way too much hassle for the small benefit its get on sound

 

Well, that's your opinion, or what happens on your system, on mine I had Windows Server Core 2019 RAMDISK and the difference with the Win10XPE is brutal, in favor of the XPE.

It is by far the best OS I have tried, I had many times doubts between RAMDISK CORE 2019 and WTFPlay, but between Win10XPE and WTFPlay there is no color, it is very much superior to win10XPE, at least on my system, I cannot comment on another.



#38 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 24 December 2021 - 08:24 AM

Something that is too much work to some is fun and worth it to others. I found the sound quality impact to be more impactful vs. any other OS level tweaking I’ve done, including something like MajiorityClean/MinorityClean. Too many variables in systems to say how much of an impact it would have in any individual user’s system, it may be less in others. But yes, this is definitely quite a bit of work and not something I would recommend to most people unless they are willing to take the time.

 

Sure, it's a lot of work, but I've never said it wasn't, just that it could be done.
What is worth it? Well, that will depend on each one, to some it will seem that it is, among which I count myself, and to others that I do not, like everything in this life. What happens is that until it is tested, it is not known.
Then everything depends on the desire and the computer skills or knowledge of each one, but I think that in this forum there are people who have enough knowledge to help those who have difficulties, as long as they give an accurate description of the steps they have taken and where they have the problem, and what problem is it.


#39 samotc

samotc

    Die Hard

  • Members
  • PipPipPip
  • 201 posts
  • LocationSalamanca, Spain

Posted 24 December 2021 - 11:13 AM

"but between Win10XPE and WTFPlay there is no color, it is very much superior to win10XPE, at least on my system, I cannot comment on another."

 

I´m sorry, I mean Win10XPE is VERY SUPERIOR TO WTFPlay.


  • keith_correa likes this

#40 keith_correa

keith_correa

    Advanced

  • Members
  • PipPip
  • 54 posts

Posted 24 December 2021 - 06:31 PM

Hi internethandle!

 

Thanks for your detailed posts about reducing WinPE further. I get WinPE to work following samotc's guide in the first post and get audio to work just fine. I then tried to take it a step further to reduce the footprint by following what you recommended in your last 2 posts but mainly from "Part 2 of creating and modifying/optimizing Win10PE for audio".

On WinPE's registry, offline, I first set the values of "ErrorControl" and "FailureActions" to what you recommended.

In the registry, I then set the value of "Start" to 4 for all sub-keys under the Services key except for the sub-keys that you listed as not disabled on your build.

I then went through the services on your build that you listed as running in Process Hacker and checked in the registry that these were not set to disabled. They were not.

I then built the wim & iso and using Rufus, wrote the iso to a flash drive. When booting from the flash drive, after the initial loading, the Windows logo is displayed and the spinner below it is displayed for a couple of seconds.

The screen then goes blank and I get a message box with the title bar displaying: "Sign-in process initialization failure" and an error message displaying: "Interactive sign-in process initialization has failed.". Any clue what could be causing this? Any pointers to solve this from you or anyone else would be much appreciated!

Problem solved! Turns out that the "CoreMessagingRegistrar" service needed to be enabled and now all works fine.






2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users