Plus non mining nodes need to advertise the fact that they are willing to accept bigger blocks to give the confidence to miners that they can create them without them being orphaned.
soft consensus (pool only)
or hard consensus (node or pool)
both actually need node approval. otherwise its orphan hell.
(yep after activation segwit will stop native blocks bing built ontop of segwit blocks)going soft just means only pools get to OFFICIALLY vote. but pools will UNOFFICIALLY wait for safe number of nodes even if nodes dont get OFFICIAL vote
segwit going soft is more about segwit alligned at the top of the network as the upstream filters(already set up (FIBRE).
segwit nodes will also white list other segwit nodes to receive segwit blocks blacklisting non segwit nodes(thus no old node being upstream)to then white or blacklist non segwit nodes downstream of who segwit wants to filter a block to. into a sesspool of nodes where some have been pruned. some have witness some dont. why by those nodes wont really communicate with each other due to lack of full data and other things.
(hense sesspool)
meaning the only true real validators are the upstream filters.
leaving the other nodes downstream as just unnecessary nodes, faking the true FULL VALIDATION node count. right up and to the point where the upstream nodes just blacklist all native nodes because their "old, pruned non full validators".. to then force native nodes to upgrade to segwit or be dropped out. (much like nodes refuse to talk to anything prior to v0.8 )
however because a bigger blocksize node uses normal block formation that doesnt need to be translated. doesnt need nodes to be in a certain order doesnt need to intentionally ban nodes nor does it need to PREVENT relaying new style unconfirmed tx's to old nodes to avoid new attack vectors.
the network of nodes allowing bigger blocks are all on an even playing field.
and all of this could have been achieved years ago in either GUI as an new options tab where users could adjust acceptable blocksize or a new RPC call in the debug console to change settings. thus users wouldnt need to beg devs after that for constant tweaks everytime the size increases because users could have done it themselves to stay on the network rather then becoming unsynced if a blocksize change occured
basically if segwit activated now
their would only be 3000~ true full validation nodes, other 3000 deemed as non full validation relay nodes
and also 75% of pools blocks would get orphaned and 75% of pools own nodes would be banned
..
if segwit waited for 95% pools(where by node count didnt change). 5% of blocks wold be orphaned and 5% of pools would be banned
and still only 3000~ real full validation nodes.. other 3000 deemed as non full validation relay nodes