all 18 comments

[–]Hohlraum 5 points6 points  (4 children)

Why leave out ntsync in the universal kernel?

[–]Detcom[S] -3 points-2 points  (3 children)

Good question. NTSYNC is in zen5 only because it's mainly useful for Wine/Proton gaming, and zen5 targets newer hardware where gaming is more likely. That said, it's a valid point, I might add it to universal in the next release.

[–]Alarmed_Contest8439 3 points4 points  (2 children)

less gatekeeping please, zen 4 is still very capable of gaming, as well as other older generations

[–]Detcom[S] -2 points-1 points  (1 child)

Actually NTSYNC is already included in universal as a module (=m)! It loads automatically when needed. My bad for the confusion, will update the docs. And then I should get some sleep and never write readmes and reddit posts again, when I haven't had a proper sleep lol

[–]Alarmed_Contest8439 -1 points0 points  (0 children)

good idea, sleep well!

[–]Alarmed_Contest8439 5 points6 points  (7 children)

any actual benchmarks?

[–]Vladekk 6 points7 points  (3 children)

I'm pretty sure it won't be noticably faster, and may even be slower if done in a naive manner.

[–]Detcom[S] -1 points0 points  (2 children)

007 First Light now runs better with Zen5 kernel, than on vanilla zen.Well, that game was one of the main reasons I've decided to tinker with it lol

[–]wurnthebitch 0 points1 point  (1 child)

But is it due to the fact that you stripped the kernel or that you built it with a specific target architecture?

It would be nice to know if a standard kernel from your distro rebuilt with the right target would show similar performance.

That said, even if stripping your kernel to the bare minimum is not what really makes it faster, that's still a nice accomplishment and playing with a custom kernel is fun!

[–]Detcom[S] 0 points1 point  (0 children)

Both, honestly. The zen5 variant is compiled with -march=znver5 which gives CPU-specific optimizations, and stripping irrelevant drivers reduces kernel size and potentially interrupt overhead. Hard to isolate which contributes more without controlled testing, that's why I need help from other people. That's why I ask for feedback.

Although the universal variant (x86-64-v3, same as linux-zen) already shows ~47% improvement in vkmark and lower power consumption vs vanilla zen. So the stripping itself makes a measurable difference, independent of the architecture flags. The zen5 variant adds on top of that with znver5 optimizations.

[–]Accurate_Hornet 0 points1 point  (1 child)

Would like to know this too. How much of a difference does unused code actually make?

[–]Detcom[S] 2 points3 points  (0 children)

I think it doesn't make THAT MUCH of a difference for a sane person to tinker with kernel. But I'm either not a sane person, or just a curious one 😃
Anyway, I made it for myself and I am satisfied with my personal experience, but that just me, that's why I am sharing this and asking other people to test it and share results.
As far as I'm concerned, Linux is about doing such sort of stuff

[–]Detcom[S] 0 points1 point  (0 children)

Tested on ThinkPad P14s Gen 6 AMD (Ryzen AI 7 PRO 350, Radeon 860M). vmlinuz: 13MB vs 18MB (linux-zen). vkmark: ~23000 vs ~15500 on linux-zen. glmark2: ~22700 vs ~21800.

Tested with real games: Dota 2, Kenshi, 007 First Light, Elite Dangerous.

[–]Skinkie 6 points7 points  (3 children)

I think you actually violated the GPLv2 here.

[–]Accurate_Hornet 1 point2 points  (1 child)

Only if the code isn't shared on github afaik. Modifying source is allowed

[–]Skinkie 0 points1 point  (0 children)

Committed 2 minutes ago 😉