System76 have done something very interesting with Pop!_OS lately, a change that should give you better performance in games and get a more responsive desktop overall on Linux.
It comes in the form of their new System76 Scheduler, which they describe as:
Scheduling service which optimizes Linux's CPU scheduler and automatically assigns process priorities for improved desktop responsiveness. Low latency CPU scheduling will be activated automatically when on AC, and the default scheduling latencies set on battery. Processes are regularly sweeped and assigned process priorities based on configuration files. When combined with pop-shell, foreground processes and their sub-processes will be given higher process priority.
These changes result in a noticeable improvement in the experienced smoothness and performance of applications and games. The improved responsiveness of applications is most noticeable on older systems with budget hardware, whereas games will benefit from higher framerates and reduced jitter. This is because background applications and services will be given a smaller portion of leftover CPU budget after the active process has had the most time on the CPU.
Announcing the update that's rolled out on Twitter, System76 engineer Michael Murphy mentioned "There's a Pop!_OS update for pop-shell and system76-scheduler being released that will give CPU priority to the focused window and its sub-processes. Which means improved performance in games, and increased responsiveness in applications".
Our friends at Linux4Everyone asked a question in regards to gaming and how it actually improved it, to which Murphy replied: "QA team had the smoothest VR gaming experience with this, and it gave a boost to framerates. Just a natural side effect of having some finely tuned process priorities that give the focused window (such as a game) a higher priority than background applications and services".
Sounds like Pop!_OS is doing increasingly awesome work to make Linux a great desktop operating system for gamers and creatives.
i dont have free space or HDD's avaliable to test myself.
anyway, this tech dont seem impresssive, i'm a bit tired of seing huge improvments in the proprietary software world, and gimmicks on the free one.
dont get me wrong, blender and godot are amazing, but i'm still not convinced that an new desktop enviroment is nescessary and will help linux grow instead of just fragment.
sometimes it seems like we are just reinventing the whell and "stealing" money from other distros instead of developing some real tech
compare lumen /nanite from unreal engine to this, what have the bigger potential to be an game changer?
some "rocket science" algorithms to allow an "unlimited" ammount of polygons to be rendered on screen in real time, with another "cutting edge" tech to make lights ingame feel almost as good as raytracing without the processing cost of raytracing in scenes with that ammount of polygons...
meanwhile we get hyped at stuff like "automatically seting your cpu to performance mode when you gonna game" or "automatically seting priorities straight for processes"
hell, even microsoft is doing some nice inovative stuff, directX 12 came before vulkan was a thing.
i know system 76 is not as big as epic or microsoft, the question is, maybe the path for linux to go foward is, using the money that can only be gained by selling proprietary software and using it to fund open source, like what valve is doing funding wine/proton, vulkan, mesa, futex, etc.
i know this leave an sour taste on our mouth, the question is "the goals justify the means"
and an philosofical discussion i would like to propose:
if we give up having many stores to rely only on steam and stuff that work well with lutris/heroic, because those work well with linux , we are giving up part of or "freedom"
if we give up on the ability to change the wallpaper as canonical was proposing with ubuntuphone to try to convince oems to adopt the system (aka seling the consumers wallpaper as an place to put brand adivertise )
we give up having many tools, like tools to make mods (eg: custom maps for an specific game)
give up using floss drivers because the proprietarys are better.
and so on... at some point we end up with less freedom than on windows...
sigh...
sorry for the confusing comment, i cant formulate phrases in english right now.
Quoting: elmapuli'm not into distro hopping anymore, can someone benchmark this and see if it make a huge difference?
i dont have free space or HDD's avaliable to test myself.
anyway, this tech dont seem impresssive, i'm a bit tired of seing huge improvments in the proprietary software world, and gimmicks on the free one.
dont get me wrong, blender and godot are amazing, but i'm still not convinced that an new desktop enviroment is nescessary and will help linux grow instead of just fragment.
sometimes it seems like we are just reinventing the whell and "stealing" money from other distros instead of developing some real tech
compare lumen /nanite from unreal engine to this, what have the bigger potential to be an game changer?
some "rocket science" algorithms to allow an "unlimited" ammount of polygons to be rendered on screen in real time, with another "cutting edge" tech to make lights ingame feel almost as good as raytracing without the processing cost of raytracing in scenes with that ammount of polygons...
meanwhile we get hyped at stuff like "automatically seting your cpu to performance mode when you gonna game" or "automatically seting priorities straight for processes"
hell, even microsoft is doing some nice inovative stuff, directX 12 came before vulkan was a thing.
i know system 76 is not as big as epic or microsoft, the question is, maybe the path for linux to go foward is, using the money that can only be gained by selling proprietary software and using it to fund open source, like what valve is doing funding wine/proton, vulkan, mesa, futex, etc.
i know this leave an sour taste on our mouth, the question is "the goals justify the means"
and an philosofical discussion i would like to propose:
if we give up having many stores to rely only on steam and stuff that work well with lutris/heroic, because those work well with linux , we are giving up part of or "freedom"
if we give up on the ability to change the wallpaper as canonical was proposing with ubuntuphone to try to convince oems to adopt the system (aka seling the consumers wallpaper as an place to put brand adivertise )
we give up having many tools, like tools to make mods (eg: custom maps for an specific game)
give up using floss drivers because the proprietarys are better.
and so on... at some point we end up with less freedom than on windows...
sigh...
sorry for the confusing comment, i cant formulate phrases in english right now.
Many good discussion points in there that I generally like, but I try to refrain from doing so unless in forum topics more dedicated to the matter.
So why post here? One part you raise is, I think, important: "stealing" from other distros. Basically, this is true. Not stealing of course, but remixing what is possible and offering (subjectively, of course) nicer defaults for users. Turns out that all of these things can already be done with scripting or manually poking around a system, on pretty much any distro (I use wrapper scripts to launch some games, restoring everything back to normal when the game process exits). Occasionally some useful things make their way into something like XDG and interoperability becomes easier.
Which is where I'm hopeful some of this performance tweaking will head: perhaps a configuration set that any desktop can take and roll with, make it portable across desktops, that sort of thing.
....also don't worry, there's been plenty of desktop innovation that Microsoft never could match. Like virtual desktops. So much so that projects such as LiteStep were created to bring desktop flexibility to Windows.
Quoting: elmapulhell, even microsoft is doing some nice inovative stuff, directX 12 came before vulkan was a thing.I don't remember it being quite like that. Didn't they kind of get developed/specified around the same time? DX12 might have been officially released before Vulkan was quite finalized, but it was all happening about the same time and basically drawing on the same ideas, which were being developed mostly in public.
Quoting: Purple Library GuyQuoting: elmapulhell, even microsoft is doing some nice inovative stuff, directX 12 came before vulkan was a thing.I don't remember it being quite like that. Didn't they kind of get developed/specified around the same time? DX12 might have been officially released before Vulkan was quite finalized, but it was all happening about the same time and basically drawing on the same ideas, which were being developed mostly in public.
the ideas are the same, because the hardware is the same, and its about being low level, not about building a lot of libraries on top of the hardware, so i think its natural to come to the same conclusions, but i dont know much about low level programing, nor about the development being public.
i dont know if the khronos group is something akin to w3c with public proposals that get adopted by the browser vendors in different speeds or what, what i do know is that the gaming market try to squeze every little bit of performance from the hardware and microsoft was the first to offer an solution in that regard, wich gave then a big advantage, or maybe their product was adopted by more companies due to the windows marketshare.
maybe mobile games use vulkan and it can be argueed that more developers chose vulkan than dx12, but while mobile gamers are an bigger and more profitable market, they suck in general (almost all are pay to win gacha games) so i dont count then really as gaming...
Quoting: CybolicThis sounds like something that could also be implemented with bspwm, so I'll be sure to keep an eye on what tweaks they're doing.Here's a quick version for anyone interested. Thanks to mmstick for correcting me on the logic.
bspwm-scheduler.sh
Quoting: CybolicQuoting: CybolicThis sounds like something that could also be implemented with bspwm, so I'll be sure to keep an eye on what tweaks they're doing.Here's a quick version for anyone interested. Thanks to mmstick for correcting me on the logic.
bspwm-scheduler.sh
Thanks, seems interesting.
I see it uses bspc command, does it require bspwm ? or it will work under mutter with bscp command installed ?
Quoting: DebianUserQuoting: CybolicQuoting: CybolicThis sounds like something that could also be implemented with bspwm, so I'll be sure to keep an eye on what tweaks they're doing.Here's a quick version for anyone interested. Thanks to mmstick for correcting me on the logic.
bspwm-scheduler.sh
Thanks, seems interesting.
I see it uses bspc command, does it require bspwm ? or it will work under mutter with bscp command installed ?
It very much depends on bspwm. If there's another tool that continuously prints out the WID when the focused window changes, it could be adapted, but I don't know of any.
Quoting: elmapulQuoting: Purple Library GuyQuoting: elmapulhell, even microsoft is doing some nice inovative stuff, directX 12 came before vulkan was a thing.I don't remember it being quite like that. Didn't they kind of get developed/specified around the same time? DX12 might have been officially released before Vulkan was quite finalized, but it was all happening about the same time and basically drawing on the same ideas, which were being developed mostly in public.
the ideas are the same, because the hardware is the same, and its about being low level, not about building a lot of libraries on top of the hardware, so i think its natural to come to the same conclusions, but i dont know much about low level programing, nor about the development being public.
i dont know if the khronos group is something akin to w3c with public proposals that get adopted by the browser vendors in different speeds or what, what i do know is that the gaming market try to squeze every little bit of performance from the hardware and microsoft was the first to offer an solution in that regard, wich gave then a big advantage, or maybe their product was adopted by more companies due to the windows marketshare.
maybe mobile games use vulkan and it can be argueed that more developers chose vulkan than dx12, but while mobile gamers are an bigger and more profitable market, they suck in general (almost all are pay to win gacha games) so i dont count then really as gaming...
Many of the "low level" (more accurately it maps more directly to modern hardware, allowing for "thinner" drivers) APIs came about at roughly the same time because of general developer interest in wanting to squeeze more performance out of things. Johan Andersson (from EA, working on Frostbite 3) probably has more impact than others, and worked directly with AMD during Mantle development I believe. Console-like access to the hardware was wanted for a long time even before then: hardware trends feed into software development trends, which feed back into hardware designs, which feed into software development....and so on.
Khronos developed Vulkan with limited public input at first, just to keep control of the design and get it ready (with Mantle donated to Khronos to help this along, because it was AMD's way of getting performance boosts to catch up with nvidia). After that initial release however, Khronos have opened up Vulkan development to community input (anyone can offer API changes, help with tests, build documentation, etc, it's all openly developed now). This also means that Mesa can already provide Vulkan 1.3 support (it's there in the latest & greatest release candidate) rather than waiting for a spec to be released and be perpetually behind proprietary drivers.
See more from me