hi! this isn't QUITE mips specific but whilst figuring out the pixel format disconnect between xsetbackground and the sgi indy newport driver, I came across a fun endian conversion issue. The short version - the image in memory is host endian, the image->byte_order field needs to reflect the endianness of the image, not of the xserver. An alternate solution is to not switch the endianness of the image from the image conversion and just set image->byte_order to LSBFirst (ie little endian); that works too. This allows my amd64 freebsd box run xsetbackground to the indy newport and have the endianness conversion work right. It also works correctly on the sgi indy client -> server. I'm happy to submit a different diff that just leaves the endian swizzling out of xsetbackground and lets xlib/xserver do the right thing. Up to y'all. :-) -adrian
Attachment:
20250113-netbsd-xsetwallpaper-endian-1.diff
Description: Binary data