16:47m0ebius: probably an old question, but why is there eye strain on linux? some folks claim it only happens with proprietary nvidia drivers and never with nouveau... if that is so, then what is causing it exactly? Temporal dithering? Hardware acceleration? Are these 2 somehow interrelated?
16:47m0ebius: by the way, i shouldn't really say linux but *nix
16:47m0ebius: i've experienced the same thing on freebsd
16:48m0ebius: the feeling is weird.. you can't really see it, only feel it.. some perceived fuzziness and tension in temple-side ocular muscles
16:49imirkin_: for reasons that i've never understood, fonts look different with nvidia blob driver vs nouveau and otherwise identical userspace
16:50imirkin_: i happen to like the nouveau-look of fonts better (crisper), but i really see no reason why the difference could exist
16:51m0ebius: it's not just the fonts, it's everything i think
16:51m0ebius: contrary to common belief the issue manifests globally in fact
16:51imirkin_: i think we use dynamic 2x2 dithering as well, which is the default
16:52imirkin_: but there are other options you can select if you want to try to "reproduce" it
16:52m0ebius: yes, but people say it can be disabled whereas it's seemingly impossible to do with proprietary driver
16:52imirkin_: but yeah, dunno what kind of post-processing the blob might be doing
16:52m0ebius: but good to know.. i'll try dynamic 2x2
16:53imirkin_: it's the default iirc
16:53m0ebius: it's set to auto by default
16:53m0ebius: not sure what it does exactly and when
16:53imirkin_: dynamic 2x2 :)
16:53imirkin_: or maybe it doesn't ... hmmm ...
16:53m0ebius: i've used your driver a bit on opensuse, but experienced some occasional screen lockups...
16:54imirkin_: we might only enable dithering if we feel like we need to
16:54imirkin_: e.g. 8bpc pipe with 10bpc fb
16:54imirkin_: (or 6bpc pipe with 8bpc fb, which is semi-common on laptop screens)
16:55m0ebius: i'm on a laptop
16:55m0ebius: here's a post from ledstrain forum:
16:56m0ebius: Nov '15
16:56m0ebius: JTL JTL Another option may appear as default setting: "auto". Which makes it hard to know if that means on or off. Some time ago I talked to the devs in Nouveau's IRC channel. They checked how it's done and said Nouveau's temporal dithering option is always disabled, except for laptop type displays. IIRC for such displays color depth checks are done to see if temporal dithering is needed to create the illusion of 8-bit colors.
16:56imirkin_: check your edid to see if it's 6 or 8bpc
16:57m0ebius: lemme try..
17:02m0ebius: nevermind Philips btw
17:02m0ebius: it's my external monitor which has been unplugged for weeks now
17:03m0ebius: not sure why it's stuck there
17:03imirkin_: yeah dunno. would have to see the actual edid.
17:03m0ebius: how do i do that?
17:03imirkin_: on windows? nfc.
17:04imirkin_: on linux, cat /sys/class/drm/cardN-conn/edid > /tmp/edid
17:05imirkin_: (or pull it off of xrandr --verbose)
17:05m0ebius: ok, lemme reboot
17:11m0ebius: the first command creates an empty file
17:11m0ebius: and the second...
17:15imirkin_: ok, so it decodes like this: https://hastebin.com/necelaqaja.coffeescript
17:15imirkin_: 6 bits per primary color channel
17:16m0ebius: ok, so should i stick with dynamic and 6bpc?
17:16imirkin_: aka "welcome to dither-town"
17:16imirkin_: up to you ... either dynamic or static should work fine
17:16m0ebius: ok, thanks
17:17imirkin_: you definitely want *some* dithering, or it'll look pretty bad
17:17m0ebius: alright.. we'll see if it's any better. thanks
17:18imirkin_: (you can even disable it if you like ... just to see ... but gradients will look heavily banded)
17:18m0ebius: should it be auto or enabled though?
17:18imirkin_: auto enables it when display pipe bpc < fb bpc (basically)
17:18m0ebius: Auto / Dynamic 2x2 / 6bpc
21:16m0ebius: apparently with dithering comes even more eye strain, i disabled it and it's a bit of a relief now
22:05imirkin_: yeah, there's no perfect solution
22:05imirkin_: all software is used to having 8bpc colors, and you only have 6
22:06imirkin_: you could do 16bpp default modes instead of 24
22:06imirkin_: which will remove the need to do dithering
22:06imirkin_: but will likely bring back memories of win95
22:12m0ebius: i don't really see a lot of banding
22:12m0ebius: how do i even test it
22:13imirkin_: most obvious thing is to look at a gradient
22:14imirkin_: if you look at a perfect 8bpp gradient and ignore the bottom 2 bits, each strip will be 4x wider than the original
22:18m0ebius: ok, just tested it
22:18m0ebius: with no dithering there are lines
22:18m0ebius: interestingly enough, it's the same in 8bpc mode
22:18m0ebius: in 6 it's ok
22:19m0ebius: and auto everywhere does the same thing as 6
22:19imirkin_: the underlying buffer is 8bpc
22:19imirkin_: so if you set dither to 8bpc, then that's a no-op
22:20imirkin_: by default it'll dither to 6, so auto and 6 should be the same in your case