Bug 372557 - Plasma/XRandR detects not existing monitor
Summary: Plasma/XRandR detects not existing monitor
Status: RESOLVED DOWNSTREAM
Alias: None
Product: KScreen
Classification: Plasma
Component: common (show other bugs)
Version: 5.8.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Sebastian Kügler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-16 21:10 UTC by Piotr Mierzwinski
Modified: 2016-12-29 00:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kscreen configuration (972 bytes, text/plain)
2016-11-22 19:53 UTC, Piotr Mierzwinski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Mierzwinski 2016-11-16 21:10:41 UTC
After installation Frameworks 5.27.0 and intel video driver (version mentioned below) my configuration of monitor extended with new not existing monitor called "laptop monitor" (code in configuration eDP1). I work on desktop and I didn't connect any devices to my motherboard (by HDMI or other socket).

Wasn't be so bad only this monitor broke my desktop. All opened windows went to this desktop. I had to drag them (blindly) to main desktop by Alt+hold left button of mouse (BTW. Thanks for this great option). Some new windows still opens on this not visible desktop (for example mplayer). I have installed desktop pager plasmoid and it thinks that some additional display devices is connected, because it's shape is a bit flatten, the same I could connect something by HDMI to my laptop.

I tried to remove the entry describing new not existing display from configuration file placed in ~/.local/share/kscreen directory. For this purpose I logged off, switched to text terminal and removed entry from this file and also removed row "eDP1" from file ~/.config/plasmashellrc in section:
[ScreenConnectors]
0=DP1
1=eDP1

After reboot (run in terminal) and login again to plasma and unwanted entry back, so also not existing display.

I'm not sure if this is issue made by new intel driver or kscreen.

Software:
  Plasma 5.8.3  (kscreen 3.8.3)
  xf86-video-intel 1:2.99.917+730+gdad64e9-1
  kernel 4.8.8-ARCH
Hardware:
  Skylake Intel i7-6700 and graphics HD 530 (GT2)
Comment 1 Piotr Mierzwinski 2016-11-16 21:33:32 UTC
Forgot add:
When in System Settings I try to switch off this display then my monitor turns off.

I found some workaround or a fix.
After my monitor turns off I restarted X (Alt+Ctrl+Backspace), I switched to text terminal and manually enabled (in kscreen configuration file) not existing display. After login to the plasma issue magically fixed. I mean. Desktop pager plasmoid looks normal, and mplayer shows window on current desktop. I can't move mouse cursor behind abroad of desktop. In System Settings I can see only one display.

Only one side effect is that my all desktop plasmoids disappeared :(. Probably they left on not visible display :-/.
Comment 2 Piotr Mierzwinski 2016-11-17 01:11:59 UTC
Next part of story.
I added some plasmoid and again magic. My old plasmoids appeared, also wallpaper changed on this from old desktop. My lucky did take so long. Unfortunately after relogin I met black desktop, with plasma panel (K, taskbar, watch, etc), which is unresponsive on right click. System Settings still shows me one display (my monitor), both displays (not existing and real) are enabled in kscreen configuration. I restarted computer and got the same view - black desktop. Seems that some plasma config has been in some way broken :-/ or I don't know what. I didn't chang nothing skipping adding one plasmoid. I didn't remove any cache manually.

For me looks like support for multi screen (without additional screen) is not well tested :-(
Comment 3 Piotr Mierzwinski 2016-11-17 01:32:42 UTC
Maybe this is last part of my strange story.
After removing cache: "~/.cache" all back to normal. Old wallpaber, all plasmoids, no virtual (not existing) display.
I hope my experiences will help some begginer users to fix some issues with Plasma.

Conclusion: cleaning "~/.cache" helps on almost everything :).

One problem left. This is adding new plasmoids. After adding, and try to move it disappers.
Comment 4 Piotr Mierzwinski 2016-11-17 01:36:28 UTC
And one more thing. Maybe the root cause was issue with (too) new intel drivers. In dmesg log I can see message like below. I don't know if this is related.

[    3.270798] [drm] Finished loading i915/skl_dmc_ver1_26.bin (v1.26)
[    3.282070] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.282078] [drm] Initialized i915 1.6.0 20160711 for 0000:00:02.0 on minor 0
[    4.004957] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.015874] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.026856] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.037871] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.048783] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.059756] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.070657] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[    4.070838] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to train DP, aborting
[    4.176364] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
Comment 5 Christoph Feck 2016-11-18 02:30:10 UTC
Please test again with Plasma 5.8.4, older versions unfortunately had issues detecting disabled screens.
Comment 6 Piotr Mierzwinski 2016-11-22 19:53:05 UTC
Created attachment 102397 [details]
kscreen configuration
Comment 7 Piotr Mierzwinski 2016-11-22 20:07:18 UTC
Unfortunately, but this is still persist. I made very simple test.
1. I created new user like this: useradd piot1 -m -s /bin/bash
(inside his home directory were only couple scripts)
2. Restarted lightdm (to be able to see new user)
3. Logged in to Plasma
In effect I get empty desktop (no any bar) with default wallpaper. After couple minutes I realized that it might be different "not existing" screen. I run systemsettings (Alt+F2 worked) and checked Display and Monitors settings. Wasn't surprise what I saw. Two screens on preview (eDP1 and DP1) and in option "Main display" set "Laptop screen". This is explains everything.

Anyway in my opinion Plasma still detects, in some way, not existing screen in my hardware. I have only one monitor hooked to my desktop.

When I manually fix this issue, so:
- update below section of ~/config/plasmashellrc like below
[ScreenConnectors]
0=DP1
1=eDP1
- remove section describing not existing display from config file located in ~/.local/share/kscreen
- remove ~/.cache
- restart
After login I get desktop with default wallpaper (default panel exists, but no plasmoids). Now  when I try to add new plasmoid, so when I chose option "Add new element of interface" (RMB of desktop - BTW. I don't have "Folder View") then magically old wallpaper back, also plasmoids back. After next login I get desktop what looks good. All would be fine, only one annoying issue happens. I mean, when I add any plasmoid and try to move it to different position, it just disappears. In this moment in plasmoids selector I have two the same plasmoid used (number 2 in corner of its icon), but they are not visible.

Could you please check reported issue.


My software:
  Plasma 5.8.4  (kscreen 3.8.4), KF-5.28
  xf86-video-intel 1:2.99.917+730+gdad64e9-1
  kernel 4.8.10-ARCH
My hardware:
  Processor:   Skylake Intel i7-6700 and graphics HD 530 (GT2)
  Motherboard: Asus H170M-PLUS


content of ~/config/plasmashellrc please find below (as you can see not existing eDP1 is placed on first position):

[PlasmaViews][Panel 3][Horizontal1680]
thickness=36

[ScreenConnectors]
0=eDP1
1=DP1

[Updates]
performed=/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/obsolete_kickoffrc.js

I attached also kscreen configuration created after Plasma first run on new user.
Comment 8 Piotr Mierzwinski 2016-12-16 19:43:19 UTC
I made some investigation and I realized this is not bug in kscreen.
First argument is that in Kubuntu 16.04 (with Plasma 5.8.4) it does work. Here there is older kernel, and older intel drivers. I mean I don't observe in Kubuntu this problem - there is only one monitor and monitors are not detected every X starting.
Second. I suppose kscreen gets settings from xrandr, and this is external application, which the most likely read available devices from /sys/class/drm, where I found my not existing monitor.

Some suggestions I found here: http://askubuntu.com/questions/283018/ubuntu-detects-2-monitors-when-i-only-have-one

I suppose the issue is with intel driver, which detects not existing monitor.
I'm going to close this ticket, sorry for inconvenient.
Comment 9 Piotr Mierzwinski 2016-12-19 22:55:32 UTC
I discovered that this issue doesn't happen in kernel 4.8.6 (and in lts), but in every next it does (including 4.9.0).
In this case I wonder, if this is the real issue of driver (i915) or kscreen incorrectly interprets output from xrandr, treating eDP1 like next display :-/.
Comment 10 Piotr Mierzwinski 2016-12-29 00:55:51 UTC
Just adding 3 cents.
Reported by here issue disappeared after update to Plasma 5.8.5, so maybe driver i915 in Linux kernel didn't work incorrectly :/.

Before update (Plasma) I had to use kernel 4.8.6 or 4.4.x series to avoid reported issue and now 4.8.13 works fine :).
After back to 4.8.13, and restart the system, configuration file of kscreen wasn't update with not existing display, and Plasma showed correct desktop.