[Bug 773487] New: add support to disable expensive screen drawing operations
https://bugzilla.novell.com/show_bug.cgi?id=773487 https://bugzilla.novell.com/show_bug.cgi?id=773487#c0 Summary: add support to disable expensive screen drawing operations Classification: openSUSE Product: openSUSE 12.2 Version: Factory Platform: All URL: https://build.opensuse.org/project/show?project=home%3 Aolh%3Anosplash%3A12.2 OS/Version: Linux Status: NEW Severity: Enhancement Priority: P5 - None Component: GNOME AssignedTo: bnc-team-gnome@forge.provo.novell.com ReportedBy: ohering@suse.com QAContact: qa-bugs@suse.de CC: tiwai@suse.com Found By: Outsourced Testing Blocker: --- If I connect to a VM via a slow link (GSM/DSL) with 'xm vnc vm' screenupdates are very slow due to all the fancy drawing. This bug is a catch-all to track all required changes to the system. A prototype is in home:olh:nosplash:12.2 https://build.opensuse.org/project/show?project=home%3Aolh%3Anosplash%3A12.2 All the work is currently done in a package named 'nosplash' until a better place is found. I'm testing with 12.2 and sles11sp2. My idea to reduce the amount of screen redrawings in a window, which shows the VM display, is to boot the VM with a special kernel cmdline option. In my prototype it is 'splash=black'. It is recognized by the kernel bootsplash code and by a runlevel script. If the option is found in /proc/cmdline several config files will be copied which will override certain desktop settings. If the option is not found the config files will be removed again. The kernel patch will just draw a black picture. If ESC is pressed the silent picture is shown. It is targeted for the SLES11 kernel. The runlevel script currently takes care of the following things: Firefox: disable smooth scrolling, which is a very expensive operation GNOME2: create /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml, which sets the background color to black and enables the blank screensaver. Its not clear to me whether there can be a more specifc filename can be used. It handles gdm and a user session well in my testing. GNOME3: create /etc/dconf/db/gdm.d/99-nosplash, which sets the background color to black. During boot 'dconf update' is called so that the changes get applied. Its not clear to me how to temporary propagate the background setting into a user session. I see ~user/.config/dconf/user contains the background setting, but appearently a global file /etc/dconf/db/user has no effect. Here I need advise how to implement the feature. KDE is not yet handled because its apeparently not possible to temporary override the background and other settings. Once all the GNOME support is settled this bug should be reassigned to the KDE maintainers so that they can help out. If anyone knows other things to tweak I can implement that as well. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c1
--- Comment #1 from Olaf Hering
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c2
--- Comment #2 from Vincent Untz
GNOME2: create /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml, which sets the background color to black and enables the blank screensaver. Its not clear to me whether there can be a more specifc filename can be used. It handles gdm and a user session well in my testing.
Note that this file might exist already (that's how you lockdown a system), so you should be ready to update it if it exists.
GNOME3: create /etc/dconf/db/gdm.d/99-nosplash, which sets the background color to black. During boot 'dconf update' is called so that the changes get applied. Its not clear to me how to temporary propagate the background setting into a user session. I see ~user/.config/dconf/user contains the background setting, but appearently a global file /etc/dconf/db/user has no effect. Here I need advise how to implement the feature.
See the lockdown part at https://live.gnome.org/dconf/SystemAdministrators This is the most reliable way to force the background for all users, but users won't be able to change the background. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c3
--- Comment #3 from Olaf Hering
Any reason this is filed against GNOME? :-)
Because the current issue is with GNOME and its settings.
(In reply to comment #0)
GNOME2: create /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml, which sets the background color to black and enables the blank screensaver. Its not clear to me whether there can be a more specifc filename can be used. It handles gdm and a user session well in my testing.
Note that this file might exist already (that's how you lockdown a system), so you should be ready to update it if it exists.
Is there a tool where I can simple peek into an existing .xml file and see if the parts the runlevel script is about to modify are already there? I think the simplest approach is to just leave the file alone if its already there.
GNOME3: create /etc/dconf/db/gdm.d/99-nosplash, which sets the background color to black. During boot 'dconf update' is called so that the changes get applied. Its not clear to me how to temporary propagate the background setting into a user session. I see ~user/.config/dconf/user contains the background setting, but appearently a global file /etc/dconf/db/user has no effect. Here I need advise how to implement the feature.
See the lockdown part at https://live.gnome.org/dconf/SystemAdministrators
Thanks for that link. Meanwhile I found another similar blog post. However the link above states that GSettings have to be used, but fails to provide a link to an example. Do you happen to have an example?
This is the most reliable way to force the background for all users, but users won't be able to change the background.
Thats the point, because I'm the user once I connect to the VM graphical display. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c4
--- Comment #4 from Vincent Untz
(In reply to comment #2)
Any reason this is filed against GNOME? :-)
Because the current issue is with GNOME and its settings.
Well, it's with everything that does expensive operations, and the patch you attached shows it's just not for GNOME. I'm not complaining, btw. I'm just confused :-)
(In reply to comment #0)
GNOME2: create /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml, which sets the background color to black and enables the blank screensaver. Its not clear to me whether there can be a more specifc filename can be used. It handles gdm and a user session well in my testing.
Note that this file might exist already (that's how you lockdown a system), so you should be ready to update it if it exists.
Is there a tool where I can simple peek into an existing .xml file and see if the parts the runlevel script is about to modify are already there?
I'm not aware of a tool that would do that for you (although it's probably not too hard to write a small python/perl script).
I think the simplest approach is to just leave the file alone if its already there.
Sounds fair enough.
GNOME3: create /etc/dconf/db/gdm.d/99-nosplash, which sets the background color to black. During boot 'dconf update' is called so that the changes get applied. Its not clear to me how to temporary propagate the background setting into a user session. I see ~user/.config/dconf/user contains the background setting, but appearently a global file /etc/dconf/db/user has no effect. Here I need advise how to implement the feature.
See the lockdown part at https://live.gnome.org/dconf/SystemAdministrators
Thanks for that link. Meanwhile I found another similar blog post. However the link above states that GSettings have to be used, but fails to provide a link to an example. Do you happen to have an example?
No, the mention of GSettings is about 'vendor patch', ie default settings, not about lockdown. What you want to achieve is exactly what is mentioned in the page. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c5
--- Comment #5 from Olaf Hering
Well, it's with everything that does expensive operations, and the patch you attached shows it's just not for GNOME. I'm not complaining, btw. I'm just confused :-)
The referenced buildservice package is the beef, I just need to find a final place for it.
I'm not aware of a tool that would do that for you (although it's probably not too hard to write a small python/perl script).
xml2 could appearently do the things I need.
No, the mention of GSettings is about 'vendor patch', ie default settings, not about lockdown. What you want to achieve is exactly what is mentioned in the page.
I figured that out, just appending my stuff to the user file seems to work well enough. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c6
--- Comment #6 from Olaf Hering
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c7
--- Comment #7 from Olaf Hering
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c8
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c9
Marcus Meissner
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c10
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c11
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c12
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c13
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c14
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c15
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c16
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c17
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c18
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c19
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=773487
https://bugzilla.novell.com/show_bug.cgi?id=773487#c20
--- Comment #20 from Swamp Workflow Management
participants (1)
-
bugzilla_noreply@novell.com