• Compensating for LCD light leakage with xrandr

    Home » Forums » AskWoody support » Linux for the Home user » Linux – all distros » Compensating for LCD light leakage with xrandr

    • This topic has 0 replies, 1 voice, and was last updated 4 years ago.
    Author
    Topic
    #2363803

    As you may know, I just bought a new Dell XPS 13 laptop. It’s a fantastic little machine in many ways… it’s light and thin (as is the trend these days), which really does help the cause of portability. I do wish it had full size USB ports and HDMI port, but I can live with the USB-C/Thunderbolt dongle. It uses a USB-C charger, like my phone, so while the phone charger won’t charge the laptop, the laptop charger will charge the phone, saving me one charger I have to carry.

    The keyboard is good (not great), the touchpad is great (the best I have seen on a PC), the speakers are quite good, and the performance of the 11th gen i5 is fantastic in normal use. It is not meant for extended number crunching or other workloads that put it under high load for long periods of time, but it holds its own with Prime95, clocking down to 3100 MHz to stay within the thermal limits. It’s decent, but under the kinds of loads a laptop like this was meant for, it’s pretty fantastic. It manages to best my Dell G3 gaming laptop with a 6-core i7 (8th gen) in CPU Geekbench, both in single core and multicore, and the XPS only has a 4-core i5 (though both the i7 and i5 have hyperthreading on. I know it has a potential risk, but it’s not something I have heard about being actually exploited).

    The boot time, also, is fantastic. It should be, given that the NVMe SSD clocks in at 3400 MB/s read and 3100 MB/s write (100 below the nominal spec), but the POST is so fast too that it boots to Neon in just a few seconds. Waking up from sleep is fast too, taking under a second before I can enter my password and continue working.

    The fit and finish of the aluminum chassis is pretty nice too. It’s a machined aluminum case, with anodized edges (double anodized for hardness), and the difference in fit and finish between it and the Acer Swift (which has a stamped aluminum case) is evident. The way it fits together when the lid is closed is very tight and precise, and it feels solid in hand, with the lid open or closed.

    The finishing touch on the unit is the 16:10 ratio display panel, with ~95% sRGB gamut and high contrast ratio. The bezel is truly tiny, with the screen taking up so much of the space inside the lid that there’s no room for the usual “Dell” branding under the screen.

    It’s not perfect, though, and I have the misfortune of being a perfectionist.

    On both sides of the screen, there is noticeable light leakage in the LCD panel. Light leakage usually shows up the most when the screen is dark, but in this case, a full black screen looks very dark, with only a tiny bit of light fringing around the edges. With a brighter screen, there’s a bright box all the way around the screen, with the right and left edges the most noticeable.

    One Dell agent agreed that it was excessive after I sent some digital photos, and he dispatched a tech and a new screen (the whole lid) to fix it. The new screen was slightly better than the old one, I think, but the issue remains. When I tried a second time, he asked for photos again, and I could not get a picture that reflected what I was seeing. In the photos (using my digital camera, an old but trusty Canon Powershot A540), it looks like a very slight bit of brightness, but to my eyes, it’s awful. I have owned a lot of LCDs over the years and never had one this bad, but it doesn’t show on camera. The new tech said he also didn’t see anything overly bad in my old screen photos, and I can’t disagree too much. It doesn’t look bad in the pics.

    They offered to have me send the unit in to be looked at, but I know how this kind of thing goes. It’s commercially acceptable, all of that stuff, the same thing that leads them to tell us that a few dead pixels are fine. Well, they’re not fine to me.

    They told me they have a no-questions-asked exchange policy, so I had them send another one, and it’s slightly worse. I’ll keep the old one. I am still waiting for them to send the return label as they said they would; the radio silence after they sent the other one is strange, given how they were before, sending a ton of emails about the issue and wanting me to update them on every little thing. I’ve emailed them twice but nothing yet.

    So yeah, it seems to be an issue that is typical of this model, and reviews of the 9310 on laptop sites have just mentioned “slight light leakage around the edges.” I am really wondering if there is something unique about my eyes… I had read an anecdote before about how some people have eyes that are sensitive to the polarization of light, which is a possibility given that LCDs operate on the principle of polarization, but it seems a little farfetched.

    At any rate, I have begun to seek mitigations for the issue. One possibility came to mind: The bezel is so thin, and especially so on the sides. What if I reduced the usable part of the screen, natively 1920×1200, to 1900×1200? The 10 pixels on either side would effectively increase the bezel size a tiny bit, but it would black out the overly bright pixels.

    I was not sure if this was even a possibility, but I found that it is actually quite simple to define a new resolution in Linux.

    Using what I saw in that page, I entered:

    cvt 1900 1200

    It returned

    Modeline "1904x1200_60.00"  191.00  1904 2032 2232 2560  1200 1203 1213 1245 -hsync +vsync

    I guess it can’t do 1900. Shame… having them both a factor of 100 was pleasing to my mind.

    I copy-pasted the line (excluding the word “Modeline”) as in the article:

    xrandr --newmode "1904x1200_60.00" 191.00 1904 2032 2232 2560 1200 1203 1213 1245 -hsync +vsync

    and then

    xrandr --addmode eDP-1 "1904x1200_60.00"

    Then I went to the resolution dialog in the KDE settings, and sure enough, my new resolution was there! But would it do what I wanted and “letterbox” things horizontally, or would it stretch (scale) it to fit?

    One way to find out. I selected the mode, and it put the little 8 pixel bars on either side as I wanted. The excessive brightness is gone… the improvement in appearance is fantastic.

    Is this kind of thing possible in Windows? As easily as this? I have no idea, but it is possible in Linux (using X server. No idea if it can be done in Wayland). Once the change is made permanent (defining the resolution), I can easily switch between this and the native panel resolution of 1920×1200 at will.

    To make it permanent, I added the two lines to a new shell script in /etc/profile.d, as in the page I cited. Haven’t booted yet to see if it is still there, but if not, I will figure it out, now that I know it is possible.

    I’ve only narrowed the screen by 1.2 millimeters on each side. Hardly noticeable in screen space, but a big difference in getting rid of the bright fringing!

     

    Dell XPS 13/9310, i5-1135G7/16GB, KDE Neon 6.2
    XPG Xenia 15, i7-9750H/32GB & GTX1660ti, Kubuntu 24.04
    Acer Swift Go 14, i5-1335U/16GB, Kubuntu 24.04 (and Win 11)

    Reply To: Compensating for LCD light leakage with xrandr

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: