Yesterday I finally got around to building and installing the latest stable release of X.org (X11R7.3). They somehow decided that everything was to be split in many little packages. It discouraged me last time and made me choose to keep using XFree86. But since everyone seems to be moving to X.org, this time I went through the tedious task of downloading every packages. They don’t come with any makefiles or scripts with the proper make order either, and they have a lot of dependencies on other stuff as well (fontconfig, expat, …). I therefore had to figure out the proper build older and all this made me miss the simplicity of XFree86′s make world.
I had to call invoke X with “xinit — -ignoreABI” for my nVidia driver to work. Supposedly nVidia will come up with a new driver to fix that.
There was an issue with the ButtonPress/ButtonRelease mouse events which would cause multiple ButtonDown to be generated in Ecere applications. I addressed this issue, and went on to figure out why the Chess AI was taking so long to play his move. I learned that usleep in Linux will make the entire process sleep, not only the thread. I also reworked the X event loop to use select on the X display socket.
This should make Ecere Chess a lot more playable on Linux. I played a few games, I had a rook and a knight and he managed to fork my rook with his only knight for a stalemate
Another game, he had a terrible start moving his king all around, all the way to my side of the board (I was going right for his king courageously with a lone pawn to pester him). I still ended up checkmate. My chess skills definitely need sharpening.