~whereswaldon

North Carolina

https://waldon.blog

Interested in Linux, decentralization, cryptography, golang/rust/c, and communication.

I spend most of my free time on:

  • Arbor, a tree-based, decentralizable chat platform
  • Gio, an immediate-mode UI framework for Go
  • Gio-Extras, my collection of libraries to extend Gio

If you get value out of my work, please consider sponsoring me on Liberapay or GitHub.

Trackers

~whereswaldon/arbor-dev

Last active a month ago

~whereswaldon/gio-extras

Last active 8 months ago

~whereswaldon/pointstar

Last active 1 year, 3 months ago

~whereswaldon/github-action-replication-testing

Last active 1 year, 8 months ago

~whereswaldon/Capital-Letters

Last active 1 year, 8 months ago

~whereswaldon/trellis

Last active 2 years ago

#219 Intel GPU Hang on compute renderer 3 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Well, uh, this is awkward. I can no longer reproduce either. After updating to the latest code, it works really well. It doesn't hang at all. I'm going to keep experimenting with it for a bit, but we might be able to close this. Trideo's performance is really excellent now! I can run it with absurd numbers of triangles (2000 per frame) and it keeps up. Gio used to be the bottleneck, but now it's the CPU-bound image processing instead. Well done!

#219 Intel GPU Hang on compute renderer 3 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

I can try to do that tomorrow. I got it in GNOME Wayland on Arch. Can you try GNOME on F34 while I work to get an F34 system? I no longer have one since leaving my last job.

#247 Architecture documentation could use a update 8 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

I've updated the architecture document to remove obsolete API references and to clarify some of the existing ones. Thanks again for pointing this out!

REPORTED RESOLVED FIXED

#247 Architecture documentation could use a update 10 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Thanks for pointing this out! I'll try to go through and update those soon. Maybe see if we can managed the code in the architecture document as runnable examples so that we get CI failures when they break.

#246 The editor only supports keyboard letter input, and does not support the system switching other input methods, such as Chinese and Japanese input methods 10 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Which OS is this on? Is it Android, or a desktop system like Windows, macOS, or Linux? I saw your posts in sprig, but I don't know what platform you're on. I expect this not to work on Android right now, but I'm less sure about our IME support on other platforms.

#219 Intel GPU Hang on compute renderer 13 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

I have reduced trideo to just operate on a jpeg image provided as argv[1]. You can find that version on this branch.

It does reproduce the GPU hang for me in this form.

#219 Intel GPU Hang on compute renderer 13 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

On a bright note, I am able to run sprig on the compute renderer, so it's definitely working with a non-trivial application. The main branch isn't on the right gio commit, but the material-list branch is.

#219 Intel GPU Hang on compute renderer 13 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Also, I tried the example program for the chat library ~jackmordaunt and I are building, and it seems to exhaust the material atlas?

git clone https://git.sr.ht/~gioverse/chat
cd chat
go get gioui.org@latest
GIORENDERER=forcecompute go run ./example/kitchen

I get a few frames, then the program crashes with:

error: premature window close: compute: no space left in material atlas
exit status 1

Now this could totally be an application error on our part. Perhaps the images we're loading are being duplicated in the texture cache or something without our knowledge. This does run on the old renderer though, so it seems on the surface like a difference in behavior.

#219 Intel GPU Hang on compute renderer 13 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Okay, the kitchen is running fine on that latest commit. Something trideo is doing is causing this hang. Trideo is very simple. It draws a bunch of triangles every frame on top of a solid black background. It basically invokes this function hundreds of times each frame. Can you try it on a linux box with a webcam and see if you can replicate the hang? You may need to adjust the hardcoded webcam device path to the proper one for your local system.

#219 Intel GPU Hang on compute renderer 13 days ago

Comment by ~whereswaldon on ~eliasnaur/gio

Okay, running trideo on the latest gio commit did something interesting with the compute renderer. The GPU did hang, but the Gio program kept right on running and rendering frames. It didn't get a GL error and crash or anything.

My GPU hang (from dmesg):

[Tue Jul 20 07:48:55 2021] i915 0000:00:02.0: [drm] Resetting rcs0 for preemption time out
[Tue Jul 20 07:48:55 2021] i915 0000:00:02.0: [drm] trideo[2705812] context reset due to GPU hang
[Tue Jul 20 07:48:55 2021] i915 0000:00:02.0: [drm] GPU HANG: ecode 9:1:85ddfffa, in trideo [2705812]
[Tue Jul 20 07:49:26 2021] i915 0000:00:02.0: [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.

I'm going to try the kitchen on this machine next, in case it's application-dependent, but I don't want to lose this partially-written comment in a reboot so I'm posting it now.