| onefang | Silly season is over, back to "work" for me. You lot didn't break anything? | 06:29 |
|---|---|---|
| freaxeh | just the world | 07:25 |
| onefang | Fixing that isn't my responsibility. Phew. | 07:25 |
| dbbs | ame | 09:13 |
| freemangordon | Hi there, I am one of maemo leste maintainers. We are in process of rebasing lest on top of daedalus from chimaera and we face some issues with starting Xorg as user | 20:03 |
| freemangordon | do we need anything else on top of elogind? | 20:04 |
| freemangordon | Is there any information about those 'libseat' patches? | 20:04 |
| freemangordon | some detail on the issue: on OMAP devices we use our own fork of xf86-video-omap, however, its core wasn't changed | 20:09 |
| freemangordon | what happens is that the call of drmSetInterfaceVersion() fails | 20:09 |
| freemangordon | the same call works fine with Xorg from debian | 20:10 |
| fsmithred | freemangordon, maybe you need to add seatd. | 21:36 |
| freemangordon | it is added | 21:38 |
| freemangordon | [ 5556.003234] omapdrm omapdrm.0: [drm:drm_ioctl [drm]] comm="seatd" pid=4275, dev=0xe201, auth=1, DRM_IOCTL_SET_MASTER | 21:38 |
| freemangordon | so, seatd becomes DRM master | 21:39 |
| freemangordon | and that's why Xorg fails to do drmSetInterfaceVersion() , IIUC | 21:39 |
| gnarface | hey freemangordon, great to see you over here finally. just fyi, i'm running daedalus on my desktop, and i don't actually need seatd or elogind to start it. i do need my user to be in the "video" and "input" groups though for anything to work right (and "audio" too incidentally, but that's immaterial to Xorg itself) | 21:51 |
| gnarface | afaik most the video drivers as of this release will work as a normal user except NVidia's official ones, which still require the legacy suid-root wrapper to work. | 21:52 |
| gnarface | the phone hardware you're poking at could be an exception though... | 21:52 |
| gnarface | i don't know | 21:52 |
| gnarface | and it's also possible for that legacy suid root wrapper to be in use unnecessarily, as it is possible for vestiges of its configuration to be left behind, clogging up the works | 21:53 |
| freemangordon | gnarface: hi! the issue is that seatd makes itself DRM master, so xorg DDX driver cannot issue some IOCTLs. But, the same code works nicely in chimaera | 21:53 |
| gnarface | but you should be able to just get startx to run Xorg without elogind or seatd running (the Xorg log will start out with a bunch of complaints about missing seatd but it doesn't appear to actually impact functionality) | 21:53 |
| freemangordon | Xorg works as root | 21:54 |
| freemangordon | but not rootless | 21:54 |
| freemangordon | well... | 21:54 |
| gnarface | just out of curiosity, have you tried it without seatd? | 21:54 |
| freemangordon | yes | 21:54 |
| gnarface | hmmm | 21:54 |
| gnarface | which video driver is this? | 21:54 |
| freemangordon | wait, libseat says it will run embedded seatd if no other one is found | 21:55 |
| freemangordon | that one https://github.com/maemo-leste/xf86-video-omap | 21:55 |
| gnarface | not really a kernel developer or a maintainer, so i'm out of my area of expertise here, but it seems likely to me that the problematic change could be to the video driver itself | 21:55 |
| gnarface | could be/could have been | 21:56 |
| freemangordon | fails here https://github.com/maemo-leste/xf86-video-omap/blob/master/src/omap_driver.c#L157 | 21:56 |
| freemangordon | no, we use exactly the same kernel and DDX driver on chimaera | 21:56 |
| gnarface | oh, hmmm | 21:56 |
| freemangordon | 6.6.y | 21:56 |
| gnarface | is there any xorg.conf in place or are you relying on full auto-detect? | 21:56 |
| freemangordon | there is xorg | 21:56 |
| freemangordon | driver gets probed | 21:57 |
| freemangordon | see, it works as root | 21:57 |
| freemangordon | also, by mistake we took xorg from bookworm and it worked too (as user) :) | 21:57 |
| gnarface | yea, i hear ya, i'm just trying to frame this problem in reference to problems i've had to make custom xorg.conf fixes for in the past, to do things like force certain DRM versions | 21:58 |
| gnarface | DRM/DRI? | 21:58 |
| freemangordon | DRM I guess | 21:58 |
| freemangordon | it also issues one more call later on, to detect the OMAP it runs on | 21:58 |
| freemangordon | which also fails | 21:58 |
| gnarface | i had a problem a while back with some hardware that didn't handle DRI3 well and it was like... i dunno failing down completely unless i forced DRI2 or something like that... | 21:59 |
| freemangordon | it is DRI2 | 21:59 |
| gnarface | vaguely recall seeing some issue with DRI auto-detect basically shooting itself in the foot on certain intel embedded graphics | 21:59 |
| freemangordon | modesetting refuse to start on SGX ;) | 21:59 |
| freemangordon | ok, but then we will have the same issue on chimaera | 22:00 |
| gnarface | but it was the type of thing where it started happening only after they added the feature to xorg in the first place | 22:00 |
| gnarface | if you're using the same xorg in both then i guess that blows that theory though... | 22:00 |
| freemangordon | xorg DDX is the same | 22:00 |
| freemangordon | xorg itself not, obviously | 22:01 |
| gnarface | hmm, that issue i recall might have been actually before chimaera anyway | 22:01 |
| gnarface | well, stick around here, it's a slow channel but someone actually knows what's going on | 22:01 |
| freemangordon | but bookworm Xorg works, which should be more or less teh same as the one in daedalus, minus libseat | 22:01 |
| freemangordon | yeah, sure | 22:02 |
| gnarface | yea, that's weird... so i agree that seems to make the devuan patches suspect | 22:02 |
| freemangordon | we are not on a hurry | 22:02 |
| gnarface | i'm not the one who did them though | 22:02 |
| freemangordon | well, I don't look for who's to blame either :) | 22:02 |
| gnarface | but i'm not having a problem starting it with bare startx and no elogind or seatd on other hardware either, so there's that | 22:02 |
| gnarface | but you said modesetting fails? it's not supposed to fail on framebuffer devices either right? | 22:03 |
| freemangordon | eh... | 22:03 |
| freemangordon | do you really think we shall run hildon-desktop without GPU? | 22:03 |
| freemangordon | ok, glamor fails, not modesetting | 22:03 |
| freemangordon | not to say modesetting is not ideal, when it comes to rotation support | 22:04 |
| gnarface | oh, ok, so i was gonna just say that i think it would fail here too if i didn't have grub to do an initial video setup automatically or hardcoded by grub config... but glamor failing specifically makes this sound a lot like the problem i recall from some release earlier on that intel graphics | 22:04 |
| freemangordon | glamor fails because it looks for GL extansions that SGX driver does not support | 22:05 |
| gnarface | SGX? | 22:05 |
| freemangordon | PVR | 22:05 |
| gnarface | hmmm | 22:05 |
| freemangordon | powervr | 22:05 |
| gnarface | got it | 22:05 |
| freemangordon | but anyway, DDX we use is close to perfect | 22:06 |
| freemangordon | it does ~50 on glmark when run in window under hildon-desktop (so compositing). this is on omap4 (motorola droid 4) | 22:08 |
| freemangordon | ok, lets wait to see if anyone has an idea. if not, we'll either use bookwork xorg or disable libseat support | 22:09 |
| gnarface | well, this is probably well beyond the reach of basic troubleshooting strategies, but it might help if you drop a xorg log example of the failure case at paste.debian.net and leave the link here | 22:10 |
| gnarface | maybe someone will see a clue | 22:10 |
| gnarface | even if indirectly | 22:10 |
| freemangordon | I am not sure that will be of any use, as I know where and why the issue. | 22:10 |
| freemangordon | what I don;t understand/know is how to tell seatd to drop DRM master | 22:11 |
| gnarface | just thinking about pattern matching, someone might see a pattern that relates it to another older bug that's been fixed already elsewhere | 22:11 |
| freemangordon | yeah, I ee | 22:11 |
| freemangordon | *see | 22:11 |
| freemangordon | BTW, I also asked on the libseat IRC channel | 22:12 |
| gnarface | like i said the glamor failure makes this sound very much like a repeat of an older bug on other hardware, but i admit that at the time i saw that bug i think i dodged it by just switching to a different driver | 22:12 |
| freemangordon | ah, glamor | 22:12 |
| freemangordon | but, I am not really interested in running glamor on OMAP | 22:12 |
| gnarface | (i saw it on an intel embedded gpu iirc, which can use either the "modesetting" or "intel" driver and the new default had become "modesetting" and i just changed it back to "intel" iirc) | 22:13 |
| freemangordon | not until modesetting is supporting HW rotation (not through GPU) | 22:13 |
| freemangordon | which I guess will never happen | 22:13 |
| fsmithred | joerg, do you know anything about this? ^^^ | 22:14 |
| freemangordon | in case someone wants to look at kernel side logs https://pastebin.com/DZZJiXED | 22:16 |
| joerg | sorry no. Hi fmg | 22:18 |
| freemangordon | hi doc | 22:18 |
| joerg | cgroups? | 22:25 |
| freemangordon | no, maybe I will have to find another way to issue those ioctls | 22:26 |
| onefang | You keep mentioning it runs as root fine, did you check your non root user is in those groups gnarface mentioned? | 22:27 |
| freemangordon | yes, user is member if video group | 22:28 |
| freemangordon | onefang: the issue is that seatd is DRM master | 22:28 |
| freemangordon | there can be only one DRM master | 22:28 |
| * onefang goes back to waking up. | 22:29 | |
| joerg | get rid of seatd | 22:29 |
| freemangordon | that's why DRM_IOCTL_SET_VERSION issued by Xorg fails with EACCESS | 22:29 |
| gnarface | joerg: that was one of my suggestions too, but apparently that's also been tried | 22:29 |
| freemangordon | joerg: yeah, might happen | 22:29 |
| gnarface | or at least, disabling it has been tried... would it have to be patched out completely to work? | 22:30 |
| freemangordon | but i want to first see if I can fix it properly | 22:30 |
| freemangordon | gnarface: using Xorg from bookwork == patched out completely, no? and it works | 22:30 |
| freemangordon | *bookworm | 22:30 |
| gnarface | uh... no, i don't think? | 22:31 |
| gnarface | afaik bookworm also has the seatd thing, or so i thought... | 22:31 |
| freemangordon | I don't think so | 22:31 |
| * freemangordon chacks | 22:31 | |
| gnarface | i thought seatd was a change that came along to daedalus from bookworm | 22:31 |
| freemangordon | *checks | 22:31 |
| gnarface | though some change to how xorg handles it might have been made so it could work without systemd | 22:32 |
| freemangordon | nope https://salsa.debian.org/xorg-team/xserver/xorg-server/-/tree/debian-bookworm/debian/patches?ref_type=heads | 22:32 |
| gnarface | disabling seatd works fine here other than the log noise, but maybe that's just because i'm not using a framebuffer display? | 22:32 |
| freemangordon | anyway, lets wait | 22:33 |
| gnarface | i almost follow what's going wrong up to the concept of there needing to be a "DRM master" sorry | 22:33 |
| freemangordon | thanks, ttyl | 22:33 |
| freemangordon | gnarface: there can be only one DRM master at a time | 22:33 |
| freemangordon | and only DRM master is allowed to issue some IOCTLs | 22:33 |
| gnarface | hmmm | 22:34 |
| freemangordon | seatd sets itself as DRM master | 22:34 |
| gnarface | but if it's disabled then what happens? | 22:34 |
| freemangordon | seatd? it can't be disabled as it is compiled-in in Xorg | 22:34 |
| gnarface | i didn't patch anything, i just stopped the seatd daemon and changed the rc*.d symlinks | 22:34 |
| freemangordon | seatd was not even instaleld initially | 22:35 |
| gnarface | xorg bitches at startup that it can't find seatd but aside from that everything moves along as if nothing happened | 22:35 |
| freemangordon | but here fails with the same error | 22:35 |
| freemangordon | no matter seatd or not | 22:35 |
| gnarface | hmm | 22:35 |
| freemangordon | hmm,... lemme confirm | 22:35 |
| freemangordon | yep, uninstalled seatd, still the same error | 22:39 |
| gnarface | freemangordon: just out of curiosity, that's with elogind running and a graphical login being started, or have you tested by just starting xorg bare with startx? | 22:50 |
| rrq | "seatd" is one of two solutions to mediate device access for non-root user running xorg, which was something introduced some four years ago or so. | 23:17 |
| rrq | the first solution involves logind and dbus | 23:17 |
| rrq | the libseat addition for Xorg was then added to allow either logind or seatd for that mediation | 23:19 |
| rrq | being drm_master (or not) wouldn't be something introduced by seatd | 23:19 |
| rrq | there is that (new?) vga_arbiter device .. does that do something useful here? | 23:21 |
| rrq | (mediation" means to open the device and pass back the opened file descriptor) | 23:22 |
| rrq | and the mediators also set themseles up to receive VT release/acquire interrupts from the kernel, to associate device access with VT activation | 23:30 |
| gnarface | ah, it occurs to me that i do have dbus here, because enlightenment needs it, maybe that's why i'm not seeing this... | 23:32 |
| gnarface | freemangordon: does your setup exclude dbus? | 23:32 |
| rrq | mmm I have a vague memory that mediation resulted in Xorg losing a linux capability that is needed for certain drm ioctls, and that this can be changed by binding that capability as a file attribute... can't recall specifics | 23:43 |
Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!