3

I have a problem with a new Dell XPS 15 1050. After installation (or just using the live image) of 18.04 (and .1) and turning on WiFi, I get dramatic screen flickering every few seconds, especially when pulling data across WiFi. This includes bursts of coloured static for many seconds, artefacts, and the screen going black until a key is pressed.

I've tried multiple different combinations of graphics drivers with the same effects.

I have also tried Fedora with the same results.

I can't understand why no one else seems to have had this problem. I'd suspect a hardware problem but Windows seemed to work OK. Any ideas appreciated.

$ sudo lshw -C video
*-display UNCLAIMED
description: 3D controller
product: GP107M [GeForce GTX 1050 Ti Mobile]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
resources: memory:ec000000-ecffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:3000(size=128) memory:ed000000-ed07ffff
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:138 memory:eb000000-ebffffff memory:80000000-8fffffff ioport:4000(size=64) memory:c0000-dffff 


$ sudo lshw -C network
*-network
description: Wireless interface
product: QCA6174 802.11ac Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:3b:00.0
logical name: wlp59s0
version: 32
serial: 9c:b6:d0:fd:9b:55
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=ath10k_pci driverversion=4.17.4-041704-generic firmware=WLAN.RM.4.4.1-00079-QCARMSWPZ-1 ip=192.168.2.201 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:139 memory:ed200000-ed3fffff

2 Answers2

3

Solution is i915.edp_vswing=2 kernel parameter

Although OP has solved the problem thanks to Arch Linux link in next section questions still remain about what it means.

From announcement: Display Port Presentation December 2010:

  • Embedded DisplayPort (eDP) was developed to be used specifically in embedded display applications

    • Notebook, Netbook, and Notepad PCs
    • All-in-One PCs
  • It is designed to replay LVDS technology

As many people here already know, i915 is Intel's display driver for Linux that has been around for decades.

The vswing component I cannot fathom but, you can find the C code that controls it here: https://patchwork.kernel.org/patch/6349211/

The parameter settings (after = sign) can be:

  • 0=default, to do nothing
  • 1=not sure, haven't found answer yet
  • 2=control flicker, which OP used

I will set my kernel parameter to 1 and reboot after posting this answer.

This is a temporary setting for older kernels according to what I read tonight. So you should occasionally remove the setting after new kernels are installed to see if it's still necessary.

Finally there is an interesting tidbit here: https://patchwork.kernel.org/patch/9303023/

>   /*
> -  * FIXME On Dell XPS 13 9350 the OpRegion panel type (0) gives us
> -  * low vswing for eDP, whereas the VBT panel type (2) gives us normal
> -  * vswing instead. Low vswing results in some display flickers, so
> -  * let's simply ignore the OpRegion panel type on SKL for now.
> +  * FIXME On Dell XPS 13 9350 and Dell XPS 13 L322X the
> +  * OpRegion panel type (0) gives us low vswing for eDP,
> +  * whereas the VBT panel type (2) gives us normal vswing
> +  * instead. Low vswing results in some display flickers, so
> +  * let's simply ignore the OpRegion panel type on SKL and
> +  * IVYBRIDGE for now.
>    */

Original post that helped OP stumble on solution

Here is a great link for you: Arch Linux Dell XPS 13 (9350):

Content adaptive brightness control

In the XPS 13 the display panels (both FHD and QHD+) come with adaptive brightness embedded in the panel firmware, this "content adaptive brightness control" (usually referred to as CABC or DBC) will adjust the screen brightness depending on the content displayed on the screen and will generally be found undesirable, especially for Linux users who are likely to be switching between dark and light screen content. Dell has issued a fix for this however it is only available to run in Windows and for the QHD+ model of the laptop so this precaution should be taken before installing Linux, the FHD model of the XPS 13 (9350) cannot be fixed. This is not a problem with the panel but rather a problem with the way the panels are configured for the XPS 13, as the same panel exists in the Dell's Latitude 13 7000 series (e7370) FHD model but with CABC disabled. The fix is available directly from Dell.

Additionally check these posts from other Dell users:

  • Thanks for trying but those links weren't really relevant for the problem. However, the ArchLinux page for the XPS 15 helped lead me to the solution: https://wiki.archlinux.org/index.php/Dell_XPS_15#Graphics . – Rich Smith Aug 13 '18 at 22:44
  • @RichSmith I love the Arch Linux web pages. They've taught me so much over the years. – WinEunuuchs2Unix Aug 14 '18 at 00:27
  • I guess I'll award you the bounty for research then :) Interesting stuff, thanks. – Rich Smith Aug 14 '18 at 08:48
0

I seem to have fixed the problem but I have little idea why.

Adding the kernel parameter...

 i915.edp_vswing=2

...eliminates the problem. I'd still be interested if anyone can explain why.

More info about the parameter in this blog post: https://webcache.googleusercontent.com/search?q=cache:7Zsl522ei0QJ:https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/+&cd=2&hl=en&ct=clnk&gl=uk&client=firefox-b-ab

  • I spent some time trying to explain why in my answer above but unfortunately I'm not a computer engineer so it's probably laughable. Still it might get you started on the right path... – WinEunuuchs2Unix Aug 14 '18 at 00:47