[2021-09-23T00:08:23Z] hi [2021-09-23T00:13:45Z] I'm trying to compile libudev-zero [2021-09-23T00:26:06Z] okay [2021-09-23T00:26:45Z] testuser[m]: was that testuser you? [2021-09-23T00:27:47Z] you don't seem like the kind of person to be using pidgin in the wee hours of the morning [2021-09-23T00:28:10Z] it's mid obvi [2021-09-23T00:28:11Z] oh it was GalaxyNova [2021-09-23T00:28:36Z] testuser[m]: you may want to register testuser with services [2021-09-23T00:28:52Z] dilyn: obvs [2021-09-23T00:28:57Z] good of him to check in on us [2021-09-23T00:51:15Z] oh yeah sorry for that [2021-09-23T00:51:18Z] I was testing something [2021-09-23T00:51:28Z] and called the user testuser, without thinking about it xD [2021-09-23T00:52:07Z] acheam: How could you tell it was pidgin [2021-09-23T00:52:23Z] GalaxyNova: is illiliti from Europe? [2021-09-23T00:52:36Z] They're from russia IIRC [2021-09-23T00:52:53Z] are they a team? [2021-09-23T00:53:39Z] what? [2021-09-23T00:53:49Z] you said 'they' [2021-09-23T00:54:08Z] I don't know association of illiliti [2021-09-23T00:55:26Z] $ file libudev.so.1 [2021-09-23T00:55:29Z] libudev.so.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, for NetBSD 9.0, not stripped [2021-09-23T00:55:46Z] oh [2021-09-23T00:55:51Z] just gender neutral pronoun [2021-09-23T00:56:08Z] ^ we don't know illiliti's identity :v [2021-09-23T00:56:14Z] glad you got it to build ryoshu :O [2021-09-23T00:56:54Z] I had to stub linux/input and netlink [2021-09-23T01:08:56Z] also uh, has any one else experienced running firefox inside the guest causing qemu to segfault? [2021-09-23T01:13:54Z] I think I need evdev before proceeding with udev [2021-09-23T01:20:37Z] GalaxyNova: magic [2021-09-23T01:33:27Z] https://github.com/freebsd/freebsd-src/tree/8d73071c47ff1f911bdaec6356f37feb4e3b7cb5/sys/dev/evdev [2021-09-23T01:58:31Z] acme-client error messages on openbsd are almost worse than c++ compiler error messages [2021-09-23T02:06:07Z] impossible [2021-09-23T02:10:03Z] are evdev and udev actually that related? [2021-09-23T02:10:13Z] I thought they worked in conjunction to provide functionality for libinput [2021-09-23T02:37:55Z] noocsharp: how so? [2021-09-23T02:38:02Z] I've found -v to be plenty verbose to debug issues [2021-09-23T02:38:13Z] -vv does even more [2021-09-23T02:47:13Z] yeah, it took -vv for me to figure out what was wrong [2021-09-23T02:47:34Z] but it's still pretty obscure [2021-09-23T03:12:20Z] Hi [2021-09-23T03:16:10Z] Hi! [2021-09-23T03:24:25Z] Hi! [2021-09-23T03:26:14Z] Matrix is cool [2021-09-23T03:38:21Z] But you just said it's bloated lol [2021-09-23T03:38:36Z] yeah... but that doesn't make it any less cool! [2021-09-23T03:38:51Z] the fact that it's so easy to bridge services to it is amazing [2021-09-23T03:38:57Z] Yeah [2021-09-23T04:09:42Z] omfg [2021-09-23T04:09:54Z] either mutt or claws mail is buggered out [2021-09-23T04:09:55Z] ? [2021-09-23T04:10:01Z] wat [2021-09-23T04:10:17Z] because I just saw that many of my recent messages have been sent in like 16 parts, as I write the email [2021-09-23T04:10:26Z] hm [2021-09-23T04:10:26Z] like, its sending drafts as I write the email [2021-09-23T04:10:30Z] its probably claws [2021-09-23T04:10:39Z] testuser[m]: it seems like there's some significant latency in the matrix bridge [2021-09-23T04:10:50Z] is that normal? [2021-09-23T04:10:57Z] (luckily only the last couple emails, and nothing too too important) [2021-09-23T04:11:06Z] but how does that even happen [2021-09-23T04:11:36Z] =-O [2021-09-23T04:11:47Z] Test [2021-09-23T04:11:54Z] GalaxyNova: UTC time right now is 5:11:53 [2021-09-23T04:11:54Z] its 0.5 second latency [2021-09-23T04:12:06Z] now 5:12:05 [2021-09-23T04:12:15Z] 0.5sec isnt bad [2021-09-23T04:12:20Z] ah [2021-09-23T04:12:23Z] guess its fine [2021-09-23T04:13:07Z] I'll keep using IRC for the time being, but scrolling up the matrix channel is a lot easier than searching the logs [2021-09-23T04:13:17Z] just use a bouncer [2021-09-23T04:13:42Z] I don't really know how to set that up [2021-09-23T04:13:56Z] good opprotunity to learn then [2021-09-23T04:14:24Z] But why learn when you can just be lazy :P [2021-09-23T04:14:50Z] also since you're online [2021-09-23T04:14:59Z] I wanted to ask you how OpenBSD compared to KISS [2021-09-23T04:15:16Z] because I'm looking into switching to it [2021-09-23T04:15:32Z] very different [2021-09-23T04:15:36Z] just gotta try it for yourself [2021-09-23T04:16:15Z] do you think it's less "KISS"? [2021-09-23T04:16:22Z] yes [2021-09-23T04:16:28Z] more bloat [2021-09-23T04:17:20Z] :-/ [2021-09-23T04:18:46Z] but its sekure [2021-09-23T04:23:26Z] well I guess it's not necessarily "bloated", just includes lots of programs by default [2021-09-23T04:23:39Z] which as far as I understand are more lightweight than the alternatives [2021-09-23T04:40:41Z] acheam: What did you find OpenBSD did better than linux [2021-09-23T06:28:20Z] Someone fix / adopt the qemu package [2021-09-23T06:28:43Z] it no longer builds and the maintainer is inactive [2021-09-23T06:29:18Z] Also something must be wrong with the patches because I've encountered a bunch of random segfaults for no reason [2021-09-23T06:37:59Z] why dont you adopt it [2021-09-23T06:39:05Z] because I'm too dumb to maintain the patches [2021-09-23T06:39:26Z] and the patches broke in the new release [2021-09-23T06:41:20Z] then learn how to fix them [2021-09-23T06:43:10Z] perhaps [2021-09-23T06:43:54Z] you just need to apply the patch, look at the .rej and apply the failed patch manually [2021-09-23T06:49:09Z] that's the easy part [2021-09-23T06:49:21Z] the hard part is finding our why tf qemu crashes when I open firefox in the guest [2021-09-23T06:49:39Z] I've run it through gdb multiple times and even built it in debug mode but no luck [2021-09-23T06:49:42Z] just garbage backtrace [2021-09-23T06:50:05Z] show [2021-09-23T06:50:12Z] does it just say "??" [2021-09-23T06:50:19Z] just random memory addresses [2021-09-23T06:50:23Z] build with -g3 and set KISS_STRIP=0 [2021-09-23T06:50:23Z] and question marks [2021-09-23T06:50:26Z] show [2021-09-23T06:50:30Z] alright [2021-09-23T06:50:31Z] later [2021-09-23T06:50:34Z] gtg [2021-09-23T06:50:37Z] ok [2021-09-23T08:46:14Z] dilyn: have you had this issue in chromium where half of the clickable stuff just locks up [2021-09-23T08:46:24Z] like you cant click the address bar or switch tabs via clicking [2021-09-23T08:46:32Z] but with keyboard it works [2021-09-23T09:20:55Z] hello [2021-09-23T09:21:18Z] hi [2021-09-23T09:35:37Z] acheam: i think i noticed something like that happening with me, but I don't think my emails were actually sent like that [2021-09-23T10:24:14Z] illiliti i think the next step is to implement evdev [2021-09-23T10:26:51Z] i got udev-zero to build [2021-09-23T10:27:04Z] stubbing netlink and linux input [2021-09-23T10:27:40Z] i still dont know how to get netlink implemented [2021-09-23T10:42:48Z] you also need linuxish sysfs [2021-09-23T10:42:52Z] libudev-zero uses it for enumeration/input detection [2021-09-23T10:45:34Z] anyway i think what are you doing is bad idea in general [2021-09-23T10:45:57Z] libudev-zero highly relies on linux features [2021-09-23T10:46:54Z] i think it's better to implement libudev API for netbsd from scratch [2021-09-23T10:47:28Z] see freebsd's libudev-devd [2021-09-23T11:00:14Z] to be clear, you can use libudev-zero as a base but you still need to implement basic stuff like enumeration and monitoring from scratch [2021-09-23T11:18:42Z] yes [2021-09-23T11:18:56Z] i need to implement these features [2021-09-23T11:19:11Z] i dont know as of today equivalents [2021-09-23T11:24:58Z] as far as i understand, /dev/drvctl should be enough to implement enumeration and monitoring [2021-09-23T11:25:15Z] DRVLISTDEV for enumeration [2021-09-23T11:25:20Z] DRVGETEVENT for monitoring [2021-09-23T11:28:38Z] I will give it a try [2021-09-23T12:55:53Z] hi [2021-09-23T13:11:51Z] Hi [2021-09-23T14:00:28Z] testuser[m]: no I haven't; but those black box graphical glitches are back :| [2021-09-23T14:00:48Z] GalaxyNova: I have patches that work with the latest release; I don't experience any of the problems you are tho [2021-09-23T14:45:10Z] illiliti do I understand correctly that pressed input clicks are processed through libudev [2021-09-23T14:49:31Z] no [2021-09-23T14:49:55Z] libudev only monitors device state change [2021-09-23T14:51:08Z] input clicks are processed through libinput on linux [2021-09-23T14:51:48Z] libinput uses libudev to get input devices [2021-09-23T14:52:46Z] i see [2021-09-23T14:53:17Z] i am processing it slowly [2021-09-23T14:53:48Z] then possibly drvctl can do everything [2021-09-23T15:13:15Z] am i right? [2021-09-23T15:17:42Z] i guess so [2021-09-23T15:57:32Z] thank you [2021-09-23T17:10:01Z] wow, replacing eudev with mdevd was suprisingly painless [2021-09-23T17:12:35Z] what id mdevd [2021-09-23T17:14:25Z] device manager by skarnet [2021-09-23T17:39:42Z] If you use mdevd master it can also hotplug/communicate with libudev-zero which is really nice. [2021-09-23T17:42:12Z] Though I guess the git commit extra/mdevd uses is probably that particular feature. [2021-09-23T18:16:58Z] illiliti: https://susepaste.org/77258606 [2021-09-23T18:18:06Z] yeah, hotplugging seems to be working fine [2021-09-23T18:20:00Z] ryoshu: what does this mean? [2021-09-23T18:24:49Z] illiliti: 1 usbdevs open("/dev/usb0", 0, 0x7f7fff333df9) Err#13 EACCES [2021-09-23T18:24:59Z] I wonder whether I can list USB devices as user [2021-09-23T18:25:03Z] how about linux case? [2021-09-23T18:27:16Z] linux provides sysfs for that [2021-09-23T18:27:20Z] /sys/bus/usb/devices [2021-09-23T18:28:04Z] why do you need access to /dev/usb*? DRVLISTDEV isn't enough? [2021-09-23T18:29:14Z] I'm experimenting [2021-09-23T18:29:47Z] ah [2021-09-23T18:30:07Z] I'm learning this interface. [2021-09-23T18:31:38Z] https://nxr.netbsd.org/xref/src/usr.sbin/usbdevs/usbdevs.c [2021-09-23T18:34:50Z] it uses DRVLISTDEV call underhood [2021-09-23T18:34:56Z] https://nxr.netbsd.org/xref/src/usr.sbin/usbdevs/usbdevs.c#349 [2021-09-23T18:36:16Z] Yes, I'm experimenting. I need time. [2021-09-23T18:36:33Z] ok [2021-09-23T19:48:26Z] illiliti: unless I am wrong, drvctl does not show detailed list of devices [2021-09-23T19:48:40Z] it is more for listing device drivers in the system [2021-09-23T19:49:26Z] illiliti: https://susepaste.org/35911078 [2021-09-23T19:51:02Z] so in order to list USB devices (vendor:product), I need to read /dev/usb* [2021-09-23T19:51:33Z] and I need to be a root [2021-09-23T19:52:02Z] it shows parent devices and their childs [2021-09-23T19:52:06Z] it's good enough(i think) to implement enumerate stuff [2021-09-23T19:52:46Z] we get some opaque idea that some device driver is there [2021-09-23T19:52:55Z] without details of the device [2021-09-23T19:53:08Z] child devices are represented in /dev [2021-09-23T19:53:16Z] yes [2021-09-23T19:54:42Z] udev_monitor_filter_add_match_subsystem_devtype(mon, "input", NULL); [2021-09-23T19:54:52Z] how would you implement such function? [2021-09-23T19:56:16Z] strncmp(dev, "wskbd", 5) [2021-09-23T19:56:25Z] same for wsmouse [2021-09-23T19:57:29Z] i.e if dev starts with wskbd or wsmouse, then mark it as input [2021-09-23T19:59:03Z] don't bother with devtype [2021-09-23T19:59:31Z] it's usually useless [2021-09-23T20:01:45Z] ryoshu: does netbsd support joysticks/gamepads? [2021-09-23T20:01:55Z] yes [2021-09-23T20:02:14Z] joy(4) [2021-09-23T20:02:18Z] maybe others for modern stuff [2021-09-23T20:02:26Z] /dev/joy [2021-09-23T20:02:49Z] good [2021-09-23T20:03:19Z] mark joy as input device too [2021-09-23T20:04:30Z] systemd man pages are quite stub [2021-09-23T20:04:38Z] https://www.freedesktop.org/software/systemd/man/udev_device_get_action.html [2021-09-23T20:04:47Z] yeah [2021-09-23T20:04:58Z] totally useless shit [2021-09-23T20:05:10Z] I'm confused what is really wanted and whether I can deliver it [2021-09-23T20:06:48Z] i don't know what events netbsd support. On linux there's add, remove, change, bind, unbind, ... [2021-09-23T20:07:26Z] add and remove are self-explanatory [2021-09-23T20:11:57Z] the rest is linux specific [2021-09-23T20:12:06Z] "device-attach" and "device-detach" [2021-09-23T20:12:14Z] only these 2 [2021-09-23T20:13:40Z] make aliases [2021-09-23T20:13:43Z] device-attach == add [2021-09-23T20:13:44Z] device-detach == remove [2021-09-23T20:16:40Z] udev_device_get_devnode(dev) returns like /dev/wskbd0, am I right? [2021-09-23T20:16:56Z] yep [2021-09-23T20:17:04Z] udev_device_get_subsystem() how about this? [2021-09-23T20:17:21Z] I guess that syspath is /sys thing so linux specific [2021-09-23T20:17:59Z] subsystem is a class of device. e.g "input" [2021-09-23T20:19:54Z] syspath is tricky to implement when you don't have actual sysfs [2021-09-23T20:20:37Z] is it essential for something? [2021-09-23T20:20:53Z] I just plan to remove linux specific functions from API [2021-09-23T20:20:59Z] https://github.com/FreeBSDDesktop/libudev-devd/ << this might be helpful [2021-09-23T20:21:34Z] udev_enumerate_get_list_entry() returns linked list of syspaths [2021-09-23T20:23:15Z] looks like libudev-devd just returns devnodes [2021-09-23T20:23:28Z] struct udev_list_entry [2021-09-23T20:23:57Z] I think and hope it's abstracted enough to avoid syspath [2021-09-23T20:24:25Z] udev_monitor_new_from_netlink() I plan to rename to udev_monitor_new_from_drvctl() :) [2021-09-23T20:24:34Z] or just udev_monitor_new() [2021-09-23T20:25:07Z] it might need some patching in 3rd party but at least it shouldn't look so bad [2021-09-23T20:25:46Z] apps that expect original udev api will not work if you rename these functions [2021-09-23T20:26:07Z] libudev-devd managed to do it without renaming. i think you can too [2021-09-23T20:27:15Z] we can manage, like max 10 popular programs use API anyway [2021-09-23T20:28:00Z] as a next step we can evaluate your API that is more portable [2021-09-23T20:28:09Z] and port these 10 programs to it [2021-09-23T20:29:18Z] yeah, i plan to convince mainstream apps to use new lib [2021-09-23T20:29:28Z] because libudev is too linux-specific [2021-09-23T20:32:57Z] using sys/sysmacros.h and stuff are linux-specific too, in libudev.h [2021-09-23T20:33:12Z] so patch is necessary anyway [2021-09-23T20:34:03Z] yeah [2021-09-23T20:35:59Z] systemd basically sabotaged the whole *nix ecosystem by introducing libudev [2021-09-23T20:36:07Z] why is your header called udev.h and not libudev.h? [2021-09-23T20:36:34Z] cp -f udev.h ${DESTDIR}${INCLUDEDIR}/libudev.h [2021-09-23T20:36:40Z] ok, I can see it's installed as libudev.h [2021-09-23T20:37:34Z] to avoid pulling libudev gpl from system by an accident in the build of udev-zero? [2021-09-23T20:39:22Z] yes [2021-09-23T20:43:58Z] ryoshu: do you know how to implement get_parent() ? [2021-09-23T20:44:34Z] what is the expected result? [2021-09-23T20:44:55Z] pckbc2 [2021-09-23T20:44:55Z] pckbd0 [2021-09-23T20:44:55Z] wskbd0 [2021-09-23T20:45:04Z] get_parent(wskbd0) -> pckbd0 ? [2021-09-23T20:45:15Z] this [2021-09-23T20:46:01Z] i think this is the only way to implement this function [2021-09-23T20:46:27Z] const char *udev_device_get_sysname(struct udev_device *udev_device); [2021-09-23T20:46:29Z] const char *udev_device_get_sysnum(struct udev_device *udev_device); [2021-09-23T20:46:32Z] is this related to /sys ? [2021-09-23T20:46:39Z] yep [2021-09-23T20:46:54Z] unsigned long long udev_device_get_usec_since_initialized(struct udev_device *udev_device); hmm, I don't think I have this data [2021-09-23T20:46:57Z] anywhere [2021-09-23T20:47:00Z] except dmesg [2021-09-23T20:47:07Z] forget about this [2021-09-23T20:47:15Z] it's unused [2021-09-23T20:47:23Z] just stub it [2021-09-23T20:47:34Z] I plan to trim unapplicable calls [2021-09-23T20:48:43Z] why? just leave them stubbed [2021-09-23T20:49:33Z] if something uses it, I/we can find out [2021-09-23T20:49:44Z] ok [2021-09-23T20:49:48Z] instead of silently currupting things [2021-09-23T20:49:48Z] also, you can implement sysname/sysnum by parsing devnode [2021-09-23T20:50:28Z] devnode == /dev/wskbd0, sysname == wskbd, sysnum == 0 [2021-09-23T20:50:56Z] devpath=? [2021-09-23T20:51:08Z] udev_device_get_seqnum? [2021-09-23T20:51:15Z] udev_device_get_devtype? [2021-09-23T20:51:56Z] devpath is syspath without /sys [2021-09-23T20:52:07Z] seqnum is a number of event [2021-09-23T20:52:31Z] devtype is linux-specific and usually unused [2021-09-23T20:52:32Z] sorry for asking such questions, docs are not meaningful enough [2021-09-23T20:52:47Z] yeah, i know :) [2021-09-23T20:53:06Z] I don't have linux handy, but printing results for: [2021-09-23T20:53:12Z] udev_device [2021-09-23T20:53:18Z] and sharing would be helpful [2021-09-23T20:53:30Z] usb_device*() [2021-09-23T20:53:35Z] udev_device*() [2021-09-23T20:53:48Z] will do [2021-09-23T21:01:05Z] what is SEQNUM? [2021-09-23T21:01:14Z] I get SUBSYSTEM and ACTION [2021-09-23T21:01:19Z] but not SEQNUM [2021-09-23T21:01:24Z] like 2 for wskbd2 ? [2021-09-23T21:02:15Z] no no [2021-09-23T21:03:16Z] SEQNUM is defined when device was received via hotplug event [2021-09-23T21:03:37Z] what does it say? [2021-09-23T21:04:34Z] I can skip it I think [2021-09-23T21:04:42Z] grep.app shows no real users anyway [2021-09-23T21:05:24Z] yes, it's linux specific feature [2021-09-23T21:05:31Z] it's intended to synchronize(?) events [2021-09-23T21:07:15Z] https://github.com/mirror/busybox/blob/master/util-linux/mdev.c#L108-L110 [2021-09-23T21:07:57Z] i'm pretty sure nowadays it's not needed [2021-09-23T21:09:06Z] linux can synchronize uevents without help from userspace [2021-09-23T21:10:15Z] what was devtype? [2021-09-23T21:10:43Z] https://github.com/mirror/busybox/blob/master/util-linux/mdev.c#L165 [2021-09-23T21:10:48Z] OK, I think I can read from here [2021-09-23T21:11:23Z] https://termbin.com/hcv1 [2021-09-23T21:12:12Z] thank you! [2021-09-23T21:12:22Z] devtype is possible to implement [2021-09-23T21:13:01Z] udev_device_get_driver() seems interesting as it maps for wskbd0 to wskbd [2021-09-23T21:13:03Z] and similar [2021-09-23T21:13:30Z] devtype is rarely used [2021-09-23T21:13:39Z] don't bother with it [2021-09-23T21:14:10Z] get_driver is rarely used too [2021-09-23T21:14:14Z] I guess udev devs just designed their API by dumping raw data from the kernel as-is [2021-09-23T21:14:56Z] and like 50% or more seems not that useful [2021-09-23T21:18:45Z] yeah, it's badly designed [2021-09-23T21:20:54Z] udev_set_log_priority and udev_get_log_priority + udev_set_log_fn can be dropped too [2021-09-23T21:21:04Z] https://termbin.com/0cno [2021-09-23T21:21:42Z] https://termbin.com/t6i7 [2021-09-23T21:22:28Z] udev_device_get_properties_list_entry - udev_device_set_sysattr_value how about these? [2021-09-23T21:22:31Z] thank you! [2021-09-23T21:22:56Z] udev_device_get_properties_list_entry returns linked list of internal properties [2021-09-23T21:23:15Z] udev_device_set_sysattr_value is linux-specific [2021-09-23T21:23:23Z] and rarely used [2021-09-23T21:23:41Z] it writes new value to sysfs attribute [2021-09-23T21:24:32Z] ah [2021-09-23T21:27:35Z] is there a way to distinguish mouse and touchpad on netbsd? [2021-09-23T21:29:09Z] looking [2021-09-23T21:35:45Z] illiliti: unless I miss something, there is no way with wscons/wsmouse [2021-09-23T21:35:53Z] but I want evdev anyway [2021-09-23T21:40:04Z] wscons is too generic, i see [2021-09-23T21:40:28Z] is this a problem for udev? [2021-09-23T21:41:28Z] libinput distinguishes mouse and touchpad through libudev [2021-09-23T21:41:40Z] how? [2021-09-23T21:41:45Z] SUBSYSTEM? [2021-09-23T21:42:31Z] https://github.com/illiliti/libudev-zero/blob/master/udev_device.c#L397-L506 [2021-09-23T21:43:08Z] ID_INPUT_TOUCHPAD [2021-09-23T21:43:13Z] ID_INPUT_MOUSE [2021-09-23T21:44:35Z] it's not a problem if you want to implement evdev [2021-09-23T21:45:27Z] anyway you have to because libinput depends on evdev [2021-09-23T21:47:18Z] so we call e.g. udev_device_get_property_value(u, "ID_INPUT_MOUSE") and receive "1" [2021-09-23T21:47:21Z] right? [2021-09-23T21:47:28Z] what are: [2021-09-23T21:47:29Z] struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device); [2021-09-23T21:47:32Z] struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device); [2021-09-23T21:48:37Z] udev_device_get_properties_list_entry used to iterate over properties [2021-09-23T21:48:57Z] udev_device_get_tags_list_entry is udev-specific [2021-09-23T21:49:12Z] I don't get tags vs properties [2021-09-23T21:49:51Z] udev_device_get_tags_list_entry is not implemented [2021-09-23T21:50:02Z] whatever that is, drop [2021-09-23T21:50:08Z] tags specified via udev rules [2021-09-23T21:50:43Z] hwdb? [2021-09-23T21:50:48Z] no [2021-09-23T21:50:51Z] or something else [2021-09-23T21:50:52Z] ok [2021-09-23T21:53:31Z] udev_device_new_from_environment is interesting, but unimplemented [2021-09-23T21:53:38Z] so drop :) [2021-09-23T21:53:54Z] I counter check users in grep.app, but there are usually none or 1 [2021-09-23T21:54:27Z] or very few, but not crucial [2021-09-23T21:55:16Z] yep [2021-09-23T21:56:18Z] udev_device_new_from_device_id unimplemented too [2021-09-23T21:57:25Z] just try to implement everything what libudev-zero has [2021-09-23T21:58:03Z] and you'll be good [2021-09-23T22:13:19Z] udev_device_get_parent_with_subsystem_devtype I don't get this [2021-09-23T22:13:48Z] does it look for parent->greyparent->etc? [2021-09-23T22:14:02Z] yes [2021-09-23T22:14:32Z] I still want devtype [2021-09-23T22:14:51Z] you don't need it [2021-09-23T22:15:14Z] it's useless and too linux-specific [2021-09-23T22:15:19Z] but udev_device_get_parent_with_subsystem_devtype takes it? [2021-09-23T22:15:41Z] it's optional [2021-09-23T22:17:01Z] anyway I think that code using udev_device_get_parent_with_subsystem_devtype assumes linux hierarchy [2021-09-23T22:17:07Z] so it's waste of time to emulate it [2021-09-23T22:17:58Z] maybe [2021-09-23T22:18:40Z] many apps uses it though [2021-09-23T22:19:26Z] yes, instead of emulating linux kernel internals here, better to adapt users IMO [2021-09-23T22:20:03Z] agree [2021-09-23T22:49:09Z] udev_device_unref.. returns NULL [2021-09-23T22:49:21Z] always [2021-09-23T23:22:17Z] is there a subsystem value for unknown/unrecognized? [2021-09-23T23:23:18Z] NULL [2021-09-23T23:25:41Z] what devices has unknown subsystem? [2021-09-23T23:26:06Z] i'm pretty sure any device has subsystem [2021-09-23T23:28:44Z] I want to get INPUT work nicely where others return temporarily UNKNOWN [2021-09-23T23:29:04Z] before I can go over all the drivers [2021-09-23T23:30:20Z] ok [2021-09-23T23:39:37Z] have you implemented evdev yet? [2021-09-23T23:40:51Z] not yet! [2021-09-23T23:40:52Z] O [2021-09-23T23:40:59Z] I'm working on libudev [2021-09-23T23:42:07Z] silly question, once a device is detached, is struct udev_device valid? [2021-09-23T23:42:13Z] removed [2021-09-23T23:42:25Z] yes [2021-09-23T23:42:34Z] is it cleaned at some point? [2021-09-23T23:43:05Z] you need to destroy it manually [2021-09-23T23:43:09Z] udev_device_unref [2021-09-23T23:43:50Z] how about detach->attach sequence, can I get two udev_devices with almost the same content?