running katelabs on linux

bagenzo's picture

was playing some katelabs worlds today and remembered that info about this isn't anywhere i can find, so here's how to run katelabs on linux (tested on debian 11)

1. create a new 32-BIT wineprefix:
WINEARCH=win32 WINEPREFIX="/home/YOUR_USERNAME/.katelabs" winecfg

! important ! only works with a 32 bit wineprefix - some of the stuff below will fail to install otherwise

2. install necessary stuff with winetricks:
WINEPREFIX="/home/YOUR_USERNAME/.katelabs" winetricks amstream dmband dmcompos dmime dmloader dmscript dmstyle dmsynth dmusic dmusic32 dsound dswave qasf qcap qdvd qedit quartz vcrun6 xvid

after doing this you should no longer get a "memory access violation" error after selecting the resolution

Comments

Blueberry Soft's picture

THANK YOU! I'd tried before

THANK YOU!

I'd tried before with my default prefix and gave up, never even thought to try a 32-bit one in this case.

Whales's picture

Works

Can confirm this works, thankyou. Framerate seems OK, I'll comment more as I try some people's worlds.

Fonts still look a little bit distorted (see attached).

I had to download my own copy of winetricks because the one my distro ships has a nasty bug where a whole bunch of .dll files get deleted, ruining the wineprefix. If you start seeing errors about missing DLLs: download your own copy of the winetricks script and run that instead.

Wine-6.16 (development version, newer than release). Void Linux x86_64 glibc with kernel 5.12.14_1.

AttachmentSize
font2.png63.63 KB
font1.png87.14 KB
Whales's picture

Bugs when using Katelabs on

Bugs when using Katelabs on Linux/Wine:

(1) Fonts look really bad and require squinting (more pictures attached).

I get this in my console, perhaps there is a small chance it's related:

014c:fixme:d3d:state_linepattern_w Setting line patterns is not supported in OpenGL core contexts.

Perhaps the black background behind fonts is drawn by thick-line-drawing along the font face edges? @KateB could you please comment on this? I might be completely wrong :)

Not sure if the core context without proper linedrawing support is the fault of something on my end or not. On one hand wine says it's 'unimplemented', on the other hand some graphics drivers on windows will tolerate you using compatibility-profile OpenGL stuff even after requesting a core profile.

(2) Game only works on first monitor. If I drag it onto a second or third: the video freezes (and sometimes the game crashes too).

(3 new) Can't enter certain symbols intro text boxes whilst holding shift. Eg : < > |

I'll edit and add more here as I discover them. Otherwise everything seems to work: graphics, world, sound, animation, controls, etc. Performance is fine on every map so far except for the museum of horrors.

AttachmentSize
font4.png94.53 KB
font3.png34.25 KB
Kate B's picture

I'm not entirely sure how

I'm not entirely sure how font rendering works as it's handled by directX rather than me- but I can take some guesses that it's probably what you say- it could also be because the font is black. some parts of the engine treat black as a transparent colour. the font's not supposed to do this but I reckon that could be some reason why it's rendering the inside transparent. (I'd say look at some text in the game in a different colour but I don't believe there are any, off the top of my head)

as for the video freezing, SOMETIMES minimizing it and maximizing it over and over can bring it back- but sometimes it doesn't

Whales's picture

Thankyou for the reply

Thankyou for the reply Kate.

Interestingly only _some_ text is affected by this bug (see attached).

Affected:

  1. Basically all GUI text
  2. In-game text boxes at lower quality

Not affected:
  1. Loading screen text (bottom of window, black background with progressbar and rubber band sounds)
  2. List of savefiles
  3. In-game text boxes at higher quality

Perhaps it's only small fonts that suffer this problem. That would indeed suggest it's an anti-aliasing issue (or more specifically: a font hinting issue, as hints get thrown out at larger font sizes).

I tried another game of yours today (Topheavy), it has the exact same issue.

May I ask what DirectX calls you use to render the fonts? I presume you're rendering them to a texture. I'm more an OpenGL person, but if you give me the func names I might be able to look them up and possibly find info on how I might be able to affect their rendering (hopefully with system settings).

AttachmentSize
textbox_quality1024.png3.36 KB
textbox_quality256.png1.91 KB
font5_somegoodsomebad.png303.08 KB
Whales's picture

Quote:some parts of the

Quote:
some parts of the engine treat black as a transparent colour.

Hmm. Could the engine ever accidentally match on a colour key (eg white) and change it to some other colour (eg black)? Eg if the colour/transparency keying variables are unitialised? See attached, where the pixels that would be perfectly white are instead set to black.

EDIT: the font rendering seems to work better with a dark background, see font_backcolour.png

AttachmentSize
font_backcolour.png4.54 KB
lotsatext.png43.71 KB
lotsatext_transparencykey.png14.32 KB
Danni's picture

Those are subpixel

Those are subpixel anti-aliasing artifacts, and nothing to do with line drawing modes. Forcing font anti-aliasing off via winetricks or another method might help.

Whales's picture

No luck, changing the AA

No luck, changing the AA modes (including off) has no effect on the game. It does however affect text in other Wine applications.

(My WINEPREFIX env var is set correctly for this prefix and I'm using ./winetricks fontsmooth=X. I also tried twiddling the registry keys directly and changing system DPI, the font rendering didn't seem to budge.)

Kate B's picture

thought I'd commented on

thought I'd commented on this but I guess I didn't- thank you for this! I'm glad that this works for so many people and I'm glad people are sharing the game and talking about it.