<NickH>
adamcstephens: the head of river has been on zig 0.17.2 for almost a week now, so depending on how old your build is you may be using it already
leviathan has joined #river
leviathan has quit [Client Quit]
haliucinas has quit [Read error: Connection reset by peer]
haliucinas has joined #river
eShaev9z_ has joined #river
eShaev9z has quit [Ping timeout: 264 seconds]
angry_vincent has joined #river
vyivel has quit [Remote host closed the connection]
vyivel has joined #river
angry_vincent has quit [Ping timeout: 260 seconds]
leopoldek has quit [Remote host closed the connection]
angry_vincent has joined #river
<lordmzte>
ifreund: well, it seems like the hyprland folks have found a workaround though :)
<ifreund>
lordmzte: river uses the wlroots renderer. wlroots policy is to stick to open standards and not add workarounds for black-box proprietary drivers like nvidia
<ifreund>
I think this is the only way to make development sustaniable
<ifreund>
nvk is a new open source implementation of vulkan for nvidia hardware in mesa that's seen fantastic progress this year
<ifreund>
zink is an implementation of opengl on top of vulkan in mesa that can be combined with nvk for an alternative to noveau
angry_vincent has quit [Ping timeout: 256 seconds]
angry_vincent has joined #river
angry_vincent has quit [Remote host closed the connection]
angry_vincent has joined #river
<dagle>
Managed to crash river yesterday, then I found out that I actually managed to crash the gpu and it required a reboot. :)
<leon-p>
careful: gpu crashes could indicate issues in the power distribution of your setup. I fried a set of RAM once that way because a laptops battery was acting up
<dagle>
I think this was a driver / mesa / something else issue.
<ifreund>
dagle: sounds like a GPU reset, wlroots has made the necessary changes to allow us to recover from those but they haven't landed in a wlroots release yet
<ifreund>
with wlroots 0.18 we should be able to handle that kind of error
pfr has joined #river
pfr has quit [Client Quit]
pfr has joined #river
pfr has quit [Client Quit]
pfr has joined #river
leviathan has joined #river
pfr has quit [Client Quit]
<lordmzte>
ifreund: I do understand that wlroots doesn't upstream workarounds, but wouldn't it make sense to maintain a fork of wlr with patches regarding this? I already have my own minimally patched fork of wlr, mainly for screenshare, but i'm not sure if there's a patch for this problem I'm having, but there might be. About nvk, I don't think I'm ready to
<lordmzte>
move away from proprietary nvidia drivers just yet, sadly, mostly because I often use cuda for de-/encoding and rendering and do often need GPU performance. Is wlr's vulkan backend considered better than the gles2 backend on nvidia hardware?
<leon-p>
can't you do compute on vulkan? I am pretty sure cuda isn't really needed for that anymore.
<lordmzte>
I don't think mpv supports hardware decoding with vulkan :D
<lordmzte>
(and neither does kdenlive support hardware encoding without cuda. blender probably doesn't either)
<leon-p>
🤷 maybe I'll look it up once I am at my desk again. That laptop has an nvidia chip. Would be neat if I could use it from Linux so I could finally play sins of a solar empire again...
<lordmzte>
The vulkan renderer also seems broken with cursors. I only have half a cursor despite `WLR_NO_HARDWARE_CURSORS=1`
leviathan has quit [Quit: Client closed]
<ifreund>
lordmzte: I personally will have nothing to do with non-upstream wlroots forks, it's not a supported use-case for wlroots or river
<ifreund>
perhaps the explicit synchronization work that looks like it will land soonish will help with your flickering, iirc nvidia's implicit sync is totally broken
<lordmzte>
I totally understand! Thanks for the insights!
<ifreund>
I know it's frustrating that your hardware doesn't work, this is really on your hardware vendor though not river/wlroots
<ifreund>
at least one nvidia engineer is working with upstream wlroots/wayland-protocols to improve the situation fwiw
alexherbo2 has joined #river
maralorn has joined #river
waleee has joined #river
leopoldek has joined #river
<lordmzte>
Of course, but given that nvidia is notoriously bad at actually addressing the problems of their customers, I have to rely on workarounds in wlr/river, but I of course understand that you don't want to have to worry about that, I understand.
haliucinas has quit [Read error: Connection reset by peer]
haliucinas has joined #river
waleee has quit [Quit: WeeChat 4.1.2]
<adamcstephens>
you do have another option, even if not ideal. buy a gpu from another company :)
leopoldek has quit [Remote host closed the connection]
<lordmzte>
Well, not only do GPUs cost money, but also nvidia GPUs are unfortunately the most powerful last time I checked anyways. I could do dual GPU, but that's kinda expensive in terms of electricity and probably a driver nightmare
<vimproved>
ifreund: yeah i saw the GPU reset stuff land in sway recently
maralorn has quit [Ping timeout: 250 seconds]
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #river
lillian has quit [Ping timeout: 256 seconds]
lillian has joined #river
alexherbo2 has quit [Remote host closed the connection]
<ifreund>
lordmzte: hmm, its still not terribly helpful due to inlining sadly but it seems to be corruption of one of the linked lists iterated in Root.commitTransaction()
<ifreund>
it would be really helpful if you could reproduce it under valgrind, I can try and see if I can reproduce it myself tomorrow
<lordmzte>
Hmm, last time I touched valgrind, everything would slow down to 0 and I didn't get any useful info out of it. Got any quick guides for it?
<ifreund>
lordmzte: the bug you hit seems unrelated to backend-specific code so it should be possible to reproduce in a nesed river session
<ifreund>
just run valgrind river from within a river session, reproduce the crash, and give me the valgrind output
<ifreund>
the only problem is, valgrind will make river run very slowly, so the crash might not reproduce if it is a race condition...
<ifreund>
trying with a debug build of river would also be worthwhile as it ususally gives much better stack traces
<lordmzte>
hmm, valgrind won't launch due to missing debug symbols for ld.so
<lordmzte>
hmm, might be due to updating stuff and not rebooting, brb
<lordmzte>
nope, still no good
<ifreund>
huh, what distro?
<lordmzte>
arch
<lordmzte>
huh, fixed by setting `DEBUGINFOD_URLS`
<lordmzte>
dinner time, will give this a shot afterwards
<ifreund>
thanks!
<lordmzte>
Got a valgrind log with a debug build of river. Seems to be an assertion failure, there's a nice trace now: https://paste.rs/FqbBW
<lordmzte>
Also of note: I was unable to reproduce this in a nested session, it works there.
<lordmzte>
vinput (the offender here) gets access to the clipboard via some old protocol (forgot the specifics) that requires a window, but the app itself doesn't have a window, so it creates a surface and then immediately destroys it again. smells raceconditiony to me.
<lordmzte>
(yes I need to improve my code)
angry_vincent has quit [Ping timeout: 252 seconds]
<ifreund>
lordmzte: yes! this valgrind output will be very useful thanks
<ifreund>
as for vinput, that "old protocol" is literally wayland.xml and this is a feature(TM) to avoid e.g. proprietary programs without focus from sniffing passwords off your clipboard
<ifreund>
you probably want the "privledged" wlr-data-control protocol for fancy clipboard manager like stuff
<lordmzte>
Yea I know, that's what I was referring to. I also don't think this "feature" really makes sense because you can barely see the window popping up for a few milliseconds.
<lordmzte>
windows user probably won't even recognize a window popping up and immediately disappearing as unusual lol
<lordmzte>
s/user/users
<ifreund>
yeah, it's questionally effective in practice for sure
<lordmzte>
since I haven't explained what vinput actually is: it's a script that reads the clipboard into a tmpfile, opens that in an editor and when that exists, puts that file in the clipboard. it's handy for having a one-button solution to type out messages in a sane editor and stuff.
<lordmzte>
and yes, I do fully realize that this could be a 3 line shell script thank you very much
<lordmzte>
but that's boring
<ifreund>
I was gonna say wl-copy and wl-paste would do that just fine xD
<lordmzte>
vinput was written with xlib before i switched to WL. that was........ delightful.