Originally posted by RealNC
View Post
Announcement
Collapse
No announcement yet.
KDE KWin's Move Away From GBM Surfaces
Collapse
X
-
Originally posted by jorgepl View PostI hope the kernel team is able to modernize that side of linux. Now that Linux gaming is becoming bigger, we need all the support we can get from there.
Leave a comment:
-
Originally posted by oiaohm View Post
KMS and DRM are adding the means to do both implicit and explicit fencing.
Linux kernel graphics drivers drivers include with the Linux kernel are explicit fencing. Its the wrappers like KMS/DRM that implement the implicit fencing so the drivers don't have to. Yes if no implicit sync ioctl or syscall is used then the implicit sync functionality in Linux kernel does nothing.
Nvidia doing their own thing means they were not behind the Linux kernel provided wrappers. Thing to remember users are not going to update all their applications any time soon. So trying to demand everyone changes to explicit sync instantly completely failed. Also there is a problem with the way explicit sync has been done result in a few cases where there is not performance gain or equal performance in the explicit sync direction instead there is a performance loss. These explicit sync problems still need to be addressed. Its the waiting problem.
This waiting problem is a classic bad penny problem that keeps on turning up. Someone does some modification that massive reduces the size of waits they implement it claim all kind of gains they poorly benchmark it so they fail to notice they just made a spinlock again. The issue with a spinlock is that you are waiting in userspace instead of going to kernel space to wait where the CPU resources can be reallocated.
There is a real repeating failure to learn this one from history.
There is another problem is failure to notice that applications are going to get fencing wrong. Explicit sync will not prevent applications setting up fences for existing hardware behavior that will not remain true into the future.
Leave a comment:
-
Originally posted by ranixon View PostThat argument is for 20 years old hardware that were recently droped that can't run anything modern. 10 years old Hardware isn't that old, even Radeon R600 GPUs where moved to the NIR backend in sep, 2022 and they are GPUs from 2007.According to various forums and sites, a Vulkan driver for Terascale is possible: but will require an inordinate amount of dedication to create and is highly complex and...
If you are looking a vulkan support covered hardware R600 only TeraScale 3 RV960(yes a subset of northern islands) appear to have the hardware in memory management required for Vulkan so the 2010 card. But no one is investing the developer time to bring this up.
Lot of 20+ year old hardware has been dropped because the hardware is most failing at this point and no one is there to take care of the drivers or even test that the drivers have not been broken up updates. So this was not dropped just because it could not run anything modern they were dropped that there was no test reports that the worked at all.
Leave a comment:
-
Originally posted by ranixon View Post
That argument is for 20 years old hardware that were recently droped that can't run anything modern. 10 years old Hardware isn't that old, even Radeon R600 GPUs where moved to the NIR backend in sep, 2022 and they are GPUs from 2007.Last edited by shmerl; 15 March 2023, 09:38 PM.
- Likes 1
Leave a comment:
-
Originally posted by shmerl View Post
Supporting ancient GPUs is not worth keeping everything else back. Having some legacy branch for them is good enough for those who need it for some reason.
Leave a comment:
-
Originally posted by Berniyh View PostIntroducing Vulkan rendering does not mean that OpenGL will be dropped. Why does it have to be one or the other?
afaik, Vulkan support is planned with Plasma 6, but I doubt it's high priority. OpenGL works, after all.
Originally posted by Berniyh View PostAlso, isn't it always that users with older GPUs complain that Plasma/kwin is too resource-heavy anyway.
So supporting those is just so that they can start up the thing to complain? :P
Depends on how older or powerfull they are, a Radeon HD 6870 doesn't support vulkan but can run Plasma with no problems.
Leave a comment:
-
Originally posted by mdedetrich View PostThere is no point in discussing anything if you use the assumption that it could theoretically be implemented incorrectly because you can argue whatever you want. Ontop of this you also have it the wrong way around, its far easier to get things wrong with implicit sync then with explicit, and due to this implicit sync is far more brittle to changes for both the OS and the drivers because the entire premise of implicit sync is based on very loose assumptions that can change over time (and in the worst case people rely on that loose behaviour which then prevents you changing behaviour even if its arguably broken).
Yes application developer will rely on loose behavior this is their nature. They test something it appear to work they ship it they don't care if it works correctly. Applications will do fencing wrong be it implicit or explicit then mandate the OS keeps it the same.
Originally posted by mdedetrich View PostIts more complex than that, there are also other parts of the stack like Wayland/XWayland that need to add support. For example Wayland protocol technically has an explicit sync interface but no DE/compositor implements it because the rest of the graphics stack is primarily implicit sync.
This is slowly changing though, its already been broadly accepted that the move to explicit sync needs to be done it will just take time.
While those doing compositors have the example cases where explicit sync end up eating more CPU time than implicit sync people will keep on doing implicit sync in places. The power efficiency problem sometimes you don't care if you are doing less. The wait problem with explicit sync need to be fixed so that the kernel waits instead of userspace.
Applications needing implicit sync is going to be around for decades they are not going way anytime soon. Application developers still at times write new opengl applications that are implicit sync because its good enough for their use case.
Yes then you have the failure to learn from our decades of implicit sync. Implicit sync issue of depending on very loose assumptions that can change over time explicit sync has almost exactly the same problem. Just we have not had decades of explicit sync usage yet to make this horrible reality clear to us.
mdedetrich what is special about explicit sync fence that prevent application developer presuming it protects something it does not we have seen this with implicit sync. Yes at some point sync behavior with explicit sync will have to be tweaked on a per application base just like what has to happen with old implicit sync applications so they perform better. This is not if this problem will happen it simply when.
Leave a comment:
-
Originally posted by jorgepl View PostIs there no alternative to KMS/DRM in the kernel for explicit sync? If so, I understand that's an area where Linux falls behind Windows and macOS
Helper to setup the plane_state fence in case it is not set yet. By using this drivers doesn’t need to worry if the user choose implicit or explicit fencing.
Linux kernel graphics drivers drivers include with the Linux kernel are explicit fencing. Its the wrappers like KMS/DRM that implement the implicit fencing so the drivers don't have to. Yes if no implicit sync ioctl or syscall is used then the implicit sync functionality in Linux kernel does nothing.
Nvidia doing their own thing means they were not behind the Linux kernel provided wrappers. Thing to remember users are not going to update all their applications any time soon. So trying to demand everyone changes to explicit sync instantly completely failed. Also there is a problem with the way explicit sync has been done result in a few cases where there is not performance gain or equal performance in the explicit sync direction instead there is a performance loss. These explicit sync problems still need to be addressed. Its the waiting problem.
This waiting problem is a classic bad penny problem that keeps on turning up. Someone does some modification that massive reduces the size of waits they implement it claim all kind of gains they poorly benchmark it so they fail to notice they just made a spinlock again. The issue with a spinlock is that you are waiting in userspace instead of going to kernel space to wait where the CPU resources can be reallocated.
There is a real repeating failure to learn this one from history.
There is another problem is failure to notice that applications are going to get fencing wrong. Explicit sync will not prevent applications setting up fences for existing hardware behavior that will not remain true into the future.
- Likes 2
Leave a comment:
Leave a comment: