Как можно реализовать без js?
Никак. Только .block1:hover + .block2 { ... }
.block1:has(ul > .x:hover) + .block2 {
  display: block;
}

Но это в будущем. Сейчас не работает.

UPD
Сегодня пришла рассылка
Новая статья https://css-live.ru/vecssti-s-polej/roditelskomu-s...
Старая статья про селектор https://css-live.ru/css/psevdoklass-has-ne-tolko-r... (оказывается уже есть в  Safari TP 137)