Just one example: Around 2009 I met Thiago Vignatti. His master thesis was about improving X so it was easy to use in a multi-seat setup (2 monitors/keyboard/mouse) so a single computer could be simultaneously used by two people.
He later worked for Nokia, Intel and eventually his own startup related to VR.
During his time as a Google summer of code student, his project was to paralelize X code so it could run in multiple threads, making better use of modern hardware with many cores. His project failed. The reason: X code was so bad that paralelizing and making it thread-safe required so many locks that it ran slower! It was a better idea to start from scratch. I remember, at the time, taking a look at the source code and asking him why there was a X86 emulator built-in in X source code. His answer was that that was required to run some video BIOS on non-x86 computers, namely Sun workstations. That was the level of legacy code in X.
This is just an illustration of many problems X had. Vignatti was one of the X devs that migrated to wayland development. Many other core X devs did the same. People saying that X is fixable, that it can be improved or what else... These people may be right, but I trust X core developers more than these people when the subject is X development.
So far I've noticed big improvements in graphical fluidity and energy efficiency when running wayland on an old notebook. If devs are also having a much better time supporting wayland... I'm all for it, even if it still has some rough edges.
Thanks, looks like there is a shitload under the mountain. I agree it is very hard, or impossible to fix the issue, and fixing it might as well mean a lot of new code anyway.
He later worked for Nokia, Intel and eventually his own startup related to VR.
During his time as a Google summer of code student, his project was to paralelize X code so it could run in multiple threads, making better use of modern hardware with many cores. His project failed. The reason: X code was so bad that paralelizing and making it thread-safe required so many locks that it ran slower! It was a better idea to start from scratch. I remember, at the time, taking a look at the source code and asking him why there was a X86 emulator built-in in X source code. His answer was that that was required to run some video BIOS on non-x86 computers, namely Sun workstations. That was the level of legacy code in X.
This is just an illustration of many problems X had. Vignatti was one of the X devs that migrated to wayland development. Many other core X devs did the same. People saying that X is fixable, that it can be improved or what else... These people may be right, but I trust X core developers more than these people when the subject is X development.