Xorg vs wayland performance

While I realise wayland is most likely the preferred method as it comes with the native engineering releases of debian, has anyone gotten good response out of xorg?

I installed xfce4, and was surprised with the incredably slow frame rates (2-5 seconds) for moving a simple window with screen taring. Almost like the driver is just not compatible with xorg.

I did not try TWM or some simple window manager, preferring a desktop environment for testing. Since xfce doesn’t currently run on wayland, has anyone else been able to have a better desktop environment experience?

I had installed cwt’s arch distro #18 (? I think?) on nvme and used framebuffer + IceWM for about a month. Other than the cursor being kind of … windows 95-like in speed, the thing was about as useful as a Pentium 4 PC. Performance was erratic though, for instance Abiword and Thunar worked great, but most other apps took a while to load (GIMP), and a few were to slow to be of any use (Krita).

I then felt a sort of a tech rush, downloaded every compiler and interpreter and toolchain under the sun, and scoured the web for archives of old legacy X11 stuff.

… really oddball stuff. For instance GopherVR which required some sort of Motif so I …stupidly used LessTiff instead on OpenMotif, but it still worked. Most of the legacy X11 stuff worked in the end, after some messing around and tweaking.

It just seemed fitting … Revived 64. Made me feel my starfive 2 was a lab computer or something, very special.

I kept a list, and can post it, if anyone wants me to. But this stuff as of now no longer works, or works properly since I’ve updated cwt’s fantastic distro to 19 (latest) and now seems to ignore framebuffer and goes wayland. Which makes X11 in the likes of NCSA Mosaic, XLife and GopherVR, buggy and useless; cursor, while now smooth, is jumpy or garbled and icons in IceWM now vanish. Wayland I guess - 10 years and better every day. These museum apps do still work over VNC as they used to though.

Try setting up a bare arch system in the framebuffer way and use IceWM. It takes 3 honest seconds to load from lightdm login screen, XFCE takes like 5 minutes. I have no idea how people manage to use it.


I might as well post my notes, maybe someone will find a use to them. I used un-accelerated framebuffer for all of this (sorry for the flavor in text, can’t help myself):

Builds and works and is stable:
X Tools: working: xkill, xclipboard, xload, xmag. Not working: xcalc, xclock (haven’t tested xeyes, they annoy me)
LibreOffice: the repo version wasn’t working for me, so I rebuilt it. Now it works fine, but is really slow to start. If you’re driving unaccelerated, use Abiword instead at this point.
xOSView - computer stats - works
xlife 6.7 - cellular automata - works, surprisingly so since it won’t compile on my amd64-x86 laptop.
GopherVR - 3D Gopherspace browser - works perfectly now but first there was a headers issue (repored Xm/CutPaste.h: No such file or directory ). I had to port LessTif, for which the source was here LessTif download | SourceForge.net
which in turn, being from 2008, failed to recognized operating system type. I then followed the on-screen instructions to replace the existing config.guess, and there we go. LessTif RV64
most of the stuff that comes with config.guess will compile after replacing their original version (43 kb) with the downloaded one (49 kb). Or rather honestly, some of it, at least.
GopherVR then had some issues finding assets after system-wide install; manually create /hershey/ in /usr/share/lib/ or wherever the prompt points to, and put the required .hfont file in there, as having it in the same dir as the app (./ is also suggested) won’t work. Or you can just run the app from its cloned git folder.
fsv - file system visualizer - works, may benefit from OpenGL as it is kind of slow
xSnow - builds and works fine
Ballerburg - has issues with finding assets on system-wide install, best ran from its own dir in /user that contains all three files, like windows apps used to. Unplayably slow so far, may require hardware acceleration.
Micropolis - this one messed me up for a bit since it built an executable called “Micropolis,” but installed it as low-case “micropolis”. Well it builds and works in any case. Needs OpenMotif I think, and not LessTif. Really quick, likely the fastest un-accelerated app for me.
-edx - a random XWindows Wordstar clone - works, but has no utf-8 support. I may consider loudly complaining to clouds in the sky and then subverting the world over this.
x3210 - IBM Systems compliant terminal emulator - builds and works fine; can be used to access mainframes over local network.
tek4010 - vector output terminal emulator - builds and works fine, but seems to have issues running its demo scripts on system-wide install.
stockfish - chess engine - works fine with gnuchess and Xboard, don’t remember if I had to build those as well, or had found them in the repo.

(Ed: I haven’t yet gotten the drivers to work, so this stuff lags tremendously for me, but should compile and work fine for anyone with accelerated GPU:)
Celestia (GTK, QT) - old astronomy software - builds, works. Hope it works fast enough with the GPU, it really should. source: celestia, celestia-data
minivmac - ancient mac emulator - builds, works
picodrive - cartridge-based Sega systems emulator - builds, works, would need optimizations for software renderer though as a GPU-less Rock Pi S runs this emu better
Ship of Harkinian - Zelda 64 recompilation for OpenGL - builds, works, may need to wait for further GPU optimization to be playable.
Hammer of Thyrion - Hexen 2 recompilation for OpenGL/software - should work better unaccelerated, probably needs own code optimization.
Battle for Wesnoth - builds, works.
XGalaga: builds, but won’t play with software acceleration, so I’m unsure it works.

Builds and works, but can be unstable:
pMARS - core wars simulation software - server variant builds fine, but could not get X11 and GTK support going.
GNUShogi - server builds and works, but I can’t find the recipe to produce the xShogi version
XFrisk - builds and works, but has issues: the client app will crash when re-selecting a player, and AI seems to be stuck in loops; I suspect permission problems. I guess it’s fine for humans, haven’t tested it over LAN yet, though.

Builds but not working in any usable capacity so far:
Battalion (1994): downloaded linux version, did “make clean” and rebuilt it, but after choosing my monster it detects “stack smashing” and terminates. May need acceleration or it’s a motif issue again. (Ed: just disable stack protector when compiling and it won’t crash, but warning, not recommended.)
x48 graphing calc emulator: no visual output and segfaults when pressing 3
Portralis - obscure abandoned Angband variant from win 98 era - builds, but segfaults. Oh well. (Ed: did some work on it, it now runs until I move my char.)
XInvaders3D: builds but is way too fast and then the polygons collapse into a dot (Ed: not after you reset the machine, apparently. It just works now, should have moved it to working.)
NCSA MOsaic. builds after putting -fcommon in compiler flags. Its layout is corrupted, so unlike on x86 machines it no longer works. After symlinking /usr/X11R6/lib/ with /usr/local/lib, toolbar and icons start to work. No text, though, and the rendering engine barely functions. (Ed: installing some fonts somewhere got me further than this, but it doesn’t work anymore anyway)

Problems / TODO:
asterisk -fails to acknowledge the config.guess file I’ve been serving it, even after make cleaning and such. It’s even suggesting me to do just that, but then just ignores it. I probably need to load up on some more toolchains. (Ed: this is like one of the ‘holy grails,’ isn’t it? Machine-sellers?)
needs libmodbus to operate, which builds fine from git
did not finish compiling it for reasons, will try again sometime
Hyperion - hercules emulator - needs some libraries in /crypto which it doesn’t find in the end
needs zig compiler
needs llvm 17, only 16 is found in repo; llvm 17 is massive and takes a while to build. A whole working day in fact. Hope it completes (Ed: in the end, it failed to link everything at 99%)

erlang & elixir interpreters - just for fun and future proofing, as I’d like to run a fediverse server off a risc-v router one day
docker & k8s - I hear they don’t work yet

further notes:
AbiWord works way faster on this device than anywhere else on my equipment. Seems to outrun even intel devices.
GTK 1.2 is needed for a bunch of stuff, yet the only source has long been abandoned. Might get around to updating it one day, because why not

1 Like

Well, I think the major issue is the closed source GPU drivers. They only sort of work.

llvm 18, can confirm. It does compile on the VF2, it does take hours.
I never liked ARCH, so I stick with Debian. Everything I attempt really comes down to GPU driver support. I did think about trying Gentoo, but then, I don’t have Kernel or system issues, I only have GPU issues.

In the real world, I don’t actually care which display server is used. X11, Wayland, something new and different - I just expect it to work. It seems rather silly to abandon a program with 40 years of development, that people mostly understand how to configure. Its fine really, wayland I have no issue with. Trying to figure out how to make the rest of the software work is challenging enough at this point.

I haven’t noticed an issue with LibraOffice on Gnome/Wayland, and forwarding X over ssh also seemed to work well for both Writer and AbiWord.

I haven’t tried any of the games, but I have tried several other things:

Go, TinyGo, OpenCV, LLVM, all work fine.

I haven’t tried any games, because I have been concentrating on trying to get the camera to work.

I have an IMX219 camera and it only works with libcamera. v4l2 works about 18% of the time, and almost every program that tries to access the mipi csi camera seg faults. Its rather frustrating that the chip manufacturer decided to go with some rando gpu instead of a known quantity.

I am really thinking about jumping ship to those new low power x86 boards. As much as I like this new hardware, and the possibilities, some days you really just need to finish a project…

Xeyes works just fine.

1 Like

I’d like to see that GPU active as well, but I’ve been using the same IceWM-based setup on all my devices for a while now, and would like to use here, too. What I think is needed is a working modesetting driver that allows to switch to GPU from software when called for.

This way not only you get both worlds, you also get a decent mileage out of the device, as focusing on having a pure GPU accelerated UI when the drivers are not even there yet, is, after a years time, getting to be a bit … stale.

I mean, you can normally use the thing, firefox and OpenOffice and all, in un-accelerated IceWM. It will be slower, though the UI itself will load much quicker. But it will also work, and some users might want to just use it, maybe use the GPU for some fancy calculations, maybe cut down on heat or power usage, so why ditch X11 so abruptly and not at least leave it an option? That’s what I don’t understand.

I am sure support for GPU will come eventually, as will some sort of modesetting driver, my fear is that by then the majority of interest will have moved on to greener pastures. This is why I mentioned future-proofing with erlang & elixir. I meant the device, not architecture.

Like you said it yourself, sometimes you just need to finish a project.

Xorg is stable with broad support but can be less efficient, possibly causing issues like slow frame rates in XFCE. Wayland offers smoother graphics but has limited compatibility with some desktops. For better performance, update your graphics drivers and try different desktop environments or window managers.

Dear noramila,

Are you an AI? Because you sound like an LLM. Thanks for the tip about updating the graphics drivers. As soon as they are released in open-source from the gpu manufacturer, I’m sure everyone in the linux world will update their drivers…