[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Aleix Pol changed: What|Removed |Added Latest Commit|http://commits.kde.org/libk |http://commits.kde.org/libk |screen/7367e55b7c172d54d068 |screen/b237aebd00bacecc0c82 |eb09f308e92368c294e9|c3382f1f7182df1e6303 Status|CONFIRMED |RESOLVED Resolution|--- |FIXED Version Fixed In||5.15.0 --- Comment #49 from Aleix Pol --- Yes, but not until kscreen support is in, that will be in Plasma 5.15.0. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 RussianNeuroMancer changed: What|Removed |Added CC||russianneuroman...@ya.ru --- Comment #48 from RussianNeuroMancer --- Still issue with Ubuntu Server 18.10 host and Kubuntu 18.10 guest. As ugly workaround, I put "sleep 10 && xrandr --output Virtual-0 --preferred" into session autostart, because simple "xrandr --output Virtual-0 --preferred" didn't work for some reason. Is anyone can look into more proper solution or at least less ugly workaround? -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Aleix Pol changed: What|Removed |Added Status|REOPENED|CONFIRMED --- Comment #47 from Aleix Pol --- It's definitely a bug. As a workaround, when the screen is resized you can execute "xrandr --output Virtual-0 --preferred" and it will just work from there >From my research, a proper solution would be to follow the preferred setting if we're on preferred and the preferred mode changes. Here's a video that shows the issue: https://youtu.be/hzjATkojyV8 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #46 from ccrompho_w...@hotmail.com --- Hi, Some more information since apparently the situation changed. Whonix have been updated to 14. so the plasmashell have been integrated into a debian stretch version. It's a fresh installation from whonix with the default VM. The graphic card is QXL, the graphic server is spice. Since the starting resolution is 1024*768 , I've tried to changed it to 1440*900 but apparently your kscreen_backend doesn't like it. I got, on the next login/reboot, a segmentation fault at 10 ip 7f6eec42d568 sp 07ffcec4bdb60 error 4 in KSC_XRandR.so[7f6eec413000+23000] I didn't test all the resolution yet but I guess some of them are buggy as well. So you might look into that and test your kscreen_backend thoroughly before put this bug as fixed. uname -a: 4.9.0.7-amd64 debian 4.9.110-3+deb9u1 kscreen: 4:5.8.5-2 libxrandr2: 2:1.5.1-1 plasma-framework: 5.20.0-2 plasma-desktop: 4:5.8.6-1 Tell me if you need something else... -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 ccrompho_w...@hotmail.com changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- CC||ccrompho_w...@hotmail.com -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #45 from OlafLostViking--- After the VM window was in fullscreen size, kscreen/plasma no longer automatically adapts to a new (smaller or bigger) size of the VM window. It's necessary to manually adapt to the new size just like after the very first login. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #44 from OlafLostViking--- Sorry for the double post. But after talking about the display manager: What about setups without display managers? Where the plasma sessions is started directly by systemd or sth. similar? -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #43 from OlafLostViking--- (In reply to Sebastian Kügler from comment #42) > That means that if you log into a fresh session, we don't do anything on > login wrt screen setup. We expect the system to be set up. Oh, I'm sorry, now I understand! As I'm currently having so many problems with Plasma and multiscreen I totally forgot about that possibility of changing screens ;-D. Since I cannot remember seeing a messed up resolution with native modesetting in SDDM (poulsbo doesn't count...), I agree with you on real hardware. Getting things like rotated screens/orientation of tablets etc. over DDC or whatever tablets are using is probably too much to ask for now ;-). > With the current state, we now detect if the current resolution goes away, > and we react to that by modesetting the new preferred resolution. So if you > log in to a fresh vm, the login manager (or X startup) has to take care of > that, to avoid unnecessary mode changes. Adapting to a changing preferred resolution is basically the most important thing. I just retried it (Neon is great for this!) and it still won't adapt until I manually adapted the resolution in kscreen at least once (just as you described). To _always_ switch to the preferred resolution (as long as the setting to always use preferred mode is active [f.ex. by some administrative or /etc/skel file entry - you do not necessaryily have to had a session running to have non-default settings]) could also be an alternative in the case of VMs, where SDDM doesn't set the correct resolution for now. Just think about automatically started fullscreen VMs at some kind of kiosk. On the other hand I understand that this should be the display manager's job... :-/ I'll try to play around with it a little bit. Perhaps there's another solution. > The move from projector problem, I'm not sure I understand. Sorry, I didn't make myself very clear. And after typing up a looong paragraph explaining it, I realized this would open up pandorra's box. So for now I'd say ignore what I said at this point ;-) > I like the idea of making the preferred mode more prominent, or logical in > the UI, I'll give that some more consideration. Currently working on bits > and pieces for an improved KCM, so that kind of input is well-timed. :) Great! I'm glad you are improving kscreen more and more. And if you're redesigning, please prevent the screen "icons" jump around as soon as you enable them - setting up a huge mulit-monitor setup on a low resolution notebook screen is a horror *duck and run* ;-D -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #41 from OlafLostViking--- I'm not sure if I understood you correctly. But if you suggested that, when starting a plasmashell session, you set the initial resolution to the size of the VM window (preferred resolution as shown by xrandr), independently of what the last set resolution was, I agree. So, do not try to tranfer the resolution of the last shutdown to the new startup. Always stay with the preferred mode until the user manually switches away from it. And go back to the adapting size if the user selects the window size again. To improve the user experience, I'd suggest to add a checkbox "Use preferred resolution" which is checked by default. And only when the user deactivates that, plasma uses fixed resolutions as given in kscreen. By using this approach it would even be possible for a user to always stay with a "strange" resolution even when rebooting the VM (plasma always restores the last selected resolution when the checkbox wasn't selected). This would also help people on "real" hardware that have to carry their machine from projector to projector. Plasma wouldn't switch between different resolutions if the user forced f.ex. 1024x768. Only after selecting "Use preferred mode" plasma/kscreen takes back command and adapts to the resolution of the hardware/vm window. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #40 from Sebastian Kügler--- I'm right now getting a stable branch set up to test with, since I want these changes in the next 5.8 update. David has given the backports another review. As to updating the dropdown in kscreen is kind of on my radar. I'm reworking the kscreen system settings module right now, so I may just make sure it works in the new version. As to the changing of initial size, here's how I imagined it would just magically work 0. you log into a new session 1. the desktop is set to the preferred mode since there's otherwise no configuration 2. when resizing the window, the current (=preferred) mode vanishes, the code now changes to the new preferred mode Number 2 is my thinko, I don't think we do actually set the preferred resolution. Currently, we don't change the screen setup when nothing is pre-configured on first login, and to be honest ... I don't think we should change that rather fundamental behavior, it bears a huge amount of potential for breakage on innocent people's systems. That means that we need to start with the correct (== preferred == current vm window size) to begin with. Thoughts? -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #39 from OlafLostViking--- I just updated the VM again: * The guest desktop will still only adjust to the outer window size after it has been changed at least once manually via kscreen to the exact size of a resized VM window. * The modelist in kscreen is not updated when resizing (but that's not really critical, I'd say). So you have to open it just after resizing your outer window. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #38 from Sebastian Kügler--- Git commit d5b9d37767adbf2a035281fbeb5f38a309160413 by Sebastian Kügler. Committed on 23/11/2016 at 15:22. Pushed by sebas into branch 'Plasma/5.8'. apply config change after correcting invalid mode The logic here to find and set the correct mode was OK, we just forgot to actually apply the changes. This change makes resizing plasmashell to the vm host window "kind of" work. When the window gets bigger it works, when either axis gets smaller, I'm getting a black screen (which can be corrected by making the window just a little bit bigger and triggering another modeset). This is a separate problem, however, since I can reproduce the exact same behaviour just using xrandr. This means, that we do now have all the bits and pieces in place for handling changes of modes at runtime. I'm not closing this bug just yet, since I want to give this some more testing exposure and possibly iron out some wrinks. M +1-0kded/daemon.cpp https://commits.kde.org/kscreen/d5b9d37767adbf2a035281fbeb5f38a309160413 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Sebastian Küglerchanged: What|Removed |Added Latest Commit|http://commits.kde.org/libk |http://commits.kde.org/libk |screen/6cc05cae8143bf2a1f50 |screen/7367e55b7c172d54d068 |389f39cc7976ac7030b7|eb09f308e92368c294e9 Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #37 from Sebastian Kügler --- Git commit 7367e55b7c172d54d068eb09f308e92368c294e9 by Sebastian Kügler. Committed on 22/11/2016 at 13:31. Pushed by sebas into branch 'sebas/dynmodes'. allow changing an output's modelist at runtime This should fix running Plasma in a windowed virtual machine, when the window is resized, the mode list changes, and libksreen can't currently handle that. Summary: * make Output::modes() non CONSTANT, add modesChanged() signal * compare the mode lists and set the new one * queue an outputChanged signal when applied * autotest for modelist changes * update the mode list on RRNotify events Test Plan: * for library part, autotests are added * for xrandr backends, we can't sensibly autotest this :( Reviewers: #plasma, mart Reviewed By: mart Subscribers: graesslin, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D3117 M +1-0autotests/CMakeLists.txt A +179 -0autotests/testmodelistchange.cpp [License: LGPL (v2.1+)] M +9-1backends/xrandr/xrandroutput.cpp M +36 -1src/output.cpp M +9-1src/output.h http://commits.kde.org/libkscreen/7367e55b7c172d54d068eb09f308e92368c294e9 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #36 from Sebastian Kügler--- Git commit f6bbb3782566fbac431bbdc641c55942d8643951 by Sebastian Kügler. Committed on 22/11/2016 at 13:50. Pushed by sebas into branch 'sebas/dynmodes'. apply config change after correcing invalid mode The logic here to find and set the correct mode was OK, we just forgot to actually apply the changes. This change makes resizing plasmashell to the vm host window "kind of" work. When the window gets bigger it works, when either axis gets smaller, I'm getting a black screen (which can be corrected by making the window just a little bit bigger and triggering another modeset). This is a separate problem, however, since I can reproduce the exact same behaviour just using xrandr. This means, that we do now have all the bits and pieces in place for handling changes of modes at runtime. I'm not closing this bug just yet, since I want to give this some more testing exposure and possibly iron out some wrinks. M +1-0kded/daemon.cpp http://commits.kde.org/kscreen/f6bbb3782566fbac431bbdc641c55942d8643951 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #35 from OlafLostViking--- I updated the Neon VM during the last days (as well as just minutes ago) but my plasma desktop didn't adjust itself to the VM window. But then I opened up kscreen to check if the new "strange" resolution is finally visible in its dropdown (which it is now!) and after applying this, the desktop adjusts (with some delay)! This is great, thank you very much! There still seems to be some problems as I first had to adjust the screen manually once and the kscreen dialog is not updated with available modes when it's opened, but after this I can finally use KDE in a fullscreen VM :D BTW: Is SDDM using kscreen, too? (since it isn't using any other resolution but the default in contrast to GDM that adapts just fine) -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Sebastian Küglerchanged: What|Removed |Added CC||adrela...@riseup.net --- Comment #34 from Sebastian Kügler --- *** Bug 370494 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #33 from Sebastian Kügler--- Alright, after some more testing, I'm quite confident that this works now. To give this some context, this small patch plus the one from comment#25 makes it work for me, that's the status reflected in git master. I want to give this some more exposure. Packages are now available through Neon git unstable, so perhaps someone can test it? I'm aiming to get these fixes backported to the next Plasma 5.8 update. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #32 from Sebastian Kügler--- Git commit b8a7cd7044fa483c2c77a4ab7f0b64c08f2c3304 by Sebastian Kügler. Committed on 17/11/2016 at 02:37. Pushed by sebas into branch 'master'. apply config change after correcing invalid mode The logic here to find and set the correct mode was OK, we just forgot to actually apply the changes. This change makes resizing plasmashell to the vm host window "kind of" work. When the window gets bigger it works, when either axis gets smaller, I'm getting a black screen (which can be corrected by making the window just a little bit bigger and triggering another modeset). This is a separate problem, however, since I can reproduce the exact same behaviour just using xrandr. This means, that we do now have all the bits and pieces in place for handling changes of modes at runtime. I'm not closing this bug just yet, since I want to give this some more testing exposure and possibly iron out some wrinks. M +1-0kded/daemon.cpp http://commits.kde.org/kscreen/b8a7cd7044fa483c2c77a4ab7f0b64c08f2c3304 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #31 from Sebastian Kügler--- Ok, cool. After some more fiddling, I'm getting the events now that I was looking for. On it. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #30 from OlafLostViking--- (Welcome back, I hope you are refreshed enough for all these bugs ;-) ) I'm not an expert for virt-manager. But by default my own virt-manager is just setting up a spice-channel. This channel is then used for the communication with the host and the vm guest (via space-vdagent). I never had a qemu-ga channel active (or qemu-guest-agent installed in the guests). So if you just setup a "default" KVM-VM in virt-manager and install (and autostart, obviously) spice-vdagent in the client, everything should work (without qemu-ga). Out of curiosity, I installed qemu-guest-agent into my Neon VM, created a GA channel in virt-manager and rebooted. Connecting to the channel worked, but no changes in adapting to the outer VM window. Just logs already shown by Martin in the journal. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #29 from Sebastian Kügler--- (getting back to this, I haven't forgotten, just was on vacation) I think I'm being an utter muppet here. I have started spice-vdagent, qemu-ga gives the same error. Perhaps the wrong magical invocation? Would it be possible for someone to give me detailed instructions how to reproduce, if I have to spend days just to reproduce the problem, that makes coming up with a fix so much harder... -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #28 from OlafLostViking--- Did you install and run the mentioned spice-vdagent? This is mandatory for virt-manager based VMs to communicate with the host. -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #27 from Sebastian Kügler--- I'm trying to reproduce by running a neon session in a virt-manager, using qemu. I've the driver QXL, and I've installed qemu-ga inside the vm, but it can't find a channel, so it doesn't work. The error is: critical: error opening channel: Device or resource busy critical: error opening channel critical: failed to create guest agent channel critical: failed to initialize guest agent channel (The resize "vm with window" checkbox is greyed out, complains about missing guest agent) I'm a bit lost here, anyone who can help? -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Sebastian Küglerchanged: What|Removed |Added Resolution|FIXED |--- Status|RESOLVED|REOPENED --- Comment #26 from Sebastian Kügler --- This patch is not sufficient, I should have used CCBUG, not BUG in the commit. Sorry for the noise. (I'm working on it, though.) -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Sebastian Küglerchanged: What|Removed |Added Latest Commit||http://commits.kde.org/libk ||screen/6cc05cae8143bf2a1f50 ||389f39cc7976ac7030b7 Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #25 from Sebastian Kügler --- Git commit 6cc05cae8143bf2a1f50389f39cc7976ac7030b7 by Sebastian Kügler. Committed on 20/10/2016 at 22:07. Pushed by sebas into branch 'master'. allow changing an output's modelist at runtime This should fix running Plasma in a windowed virtual machine, when the window is resized, the mode list changes, and libksreen can't currently handle that. Summary: * make Output::modes() non CONSTANT, add modesChanged() signal * compare the mode lists and set the new one * queue an outputChanged signal when applied * autotest for modelist changes * update the mode list on RRNotify events Test Plan: * for library part, autotests are added * for xrandr backends, we can't sensibly autotest this :( Reviewers: #plasma, mart Reviewed By: mart Subscribers: graesslin, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D3117 M +1-0autotests/CMakeLists.txt A +179 -0autotests/testmodelistchange.cpp [License: LGPL (v2.1+)] M +9-1backends/xrandr/xrandroutput.cpp M +36 -1src/output.cpp M +9-1src/output.h http://commits.kde.org/libkscreen/6cc05cae8143bf2a1f50389f39cc7976ac7030b7 -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #24 from Sebastian Kügler--- Great. I'm making some progress on the code side. It's a little involved, since the list of modes per output is static, so it's not actually supposed to change. That's expressed in libkscreen's API, and on top of that, modelist changes aren't handled throughout. Now I've done some work on falling back to the preferred mode if the current one is invalid, that's actually landed in 5.8.0, but the mode list is still static. We'll have to see if this can actually be merged into 5.8, or if the API change we need for this is too intrusive (I don't see a way around that). On my machine, I've made the necessary changes to make the mode list dynamic and notifyable. The problem is that I can't test this easily myself, as I'd need to have a build inside the VM to debug it properly. Bottom line, with the changes that I'll post for review shortly, this *could* actually work, but we may need other fixes here and there. Perhaps we can get these things in through Neon. *goes to finish and clean up that branch* -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #23 from OlafLostViking--- I just setup a Neon Developer Unstable VM. So I can help trying out stuff in there! (As of today, it doesn't work.) -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Sebastian Küglerchanged: What|Removed |Added Component|kded|libkscreen Version|5.7.1 |git -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 --- Comment #20 from Martin Gräßlin--- Randr events on resize of window (recorded through xev) RRScreenChangeNotify event, serial 37, synthetic NO, window 0x121, root 0x276, timestamp 300084, config_timestamp 801745 size_index 65535, subpixel_order SubPixelUnknown rotation RR_Rotate_0 width 1864, height 998, mwidth 492, mheight 263 RRNotify event, serial 37, synthetic NO, window 0x121, subtype XRROutputChangeNotifyEvent output Virtual-0, crtc 63, mode 1864x998 (1864x998) rotation RR_Rotate_0 connection RR_Connected, subpixel_order SubPixelUnknown (I'm significantly impressed that I'm able to copy from the x11 session of the guest system into the xwayland client of my host system) -- You are receiving this mail because: You are watching all bug changes.
[KScreen] [Bug 356864] Plasma cannot adapt to VM host window
https://bugs.kde.org/show_bug.cgi?id=356864 Martin Gräßlinchanged: What|Removed |Added Ever confirmed|0 |1 Product|plasmashell |KScreen Status|UNCONFIRMED |CONFIRMED Version|master |5.7.1 Assignee|aleix...@kde.org|se...@kde.org Component|Multi-screen support|kded --- Comment #19 from Martin Gräßlin --- Got it to work now, thanks. >From my playing with it, I'm reassigning to kscreen. What I see is that when resizing the screen the resolution is added/removed but does not get selected. >From XRandR perspective the selected resolution is still the old and removed one. Even if I restart e.g. KWin it picks the old resolution and KWin reads the information from XRandR directly. If I do an xrandr --output virtual-0 --auto everything is fine. Thus I think our kscreen daemon needs to listen to such changes in the XRandR backend and switch the resolution accordingly. -- You are receiving this mail because: You are watching all bug changes.