[systemd-devel] Fast User Switching does not seem to work

constantine costas.magnuse at gmail.com
Thu Oct 9 10:52:12 PDT 2014


Hello all!

I am not sure this is the appropriate mailing list, and I have also
posted to  intel-gfx at lists.freedesktop.org (without any solution) and
arch-general at archlinux.org
Please indicate if you recommend me posting the problem to another list.

I am encountering a peculiar problem with Fast User Switching or
Kernel Mode Setting and I do not know how to troubleshoot it.

Suppose the following tty2,3 or VTs:
1. Ctrl+Alt+F2:    logged in user in console (no X)
2. Ctrl+Alt+F3:    logged in user in console (no X)
3. Ctrl+Alt+F4:    logged in user in Desktop Environment (X)
4. Ctrl+Alt+F5:    logged in user in Desktop Environment (X)

>From 1 to 2, or 2 to 1 there is no delay.
>From 1,2 to 3, or 1,2 to 4 there is no delay.
>From 3,4 to 1,2 there **is** delay.
>From 3 to 4, or 4 to 3, there **is**delay.

In words: when I run two (or more) Virtual Terminals switching between
them (Ctrl+Alt+F4-5, etc.) takes 2+ seconds. (The VTs are either
simply initiated with startx  from tty2 and tty3 and having only TWM,
xorg-clock and xterm as their open windows OR as different displays
with KDisplay Manager (kdm) in :0 and :1)

I am using an intel graphics driver so I suppose KMS should be enabled
by default and this seems to be the case, but there still are delays
swithing between VTs.

I have followed the instructions at
http://carlosbecker.com/posts/how-to-enable-kms-on-i915-graphiccard-archlinux/
https://wiki.archlinux.org/index.php/kernel_mode_setting
https://wiki.archlinux.org/index.php/Intel_graphics after a fresh Arch
Linux installation, but I am still experiencing the problem.

I am certain it is not a hardware related issue, because I can fast
switch in ubuntu, but not in Arch linux.

My Arch uses systemd and Ubuntu upstart.

Last, I am aware of the systemd's on-demand "feature" of spawning
terminals but I think it is not related to this, since I think I
correctly "pre-spawned" them.

How can I make switching between VTs as instantaneous as possible?




PS:
$ sudo cat /sys/module/i915/parameters/modeset
1

### Note: ### Before starting the "process" of enabling KMS (which I
suppose it should be enabled in the first place, right?) this value
was:    -1

$ uname -a
Linux myhostname 3.16.4-1-ARCH #1 SMP PREEMPT Mon Oct 6 08:22:27 CEST
2014 x86_64 GNU/Linux

$ lsmod | grep -e drm -e 915 -e kms
crc32_pclmul        12915     0
scsi_mod              142915   4 uas,usb_storage,libata,sd_mod
i915                       864879  8
button                    12909    1 i915
i2c_algo_bit           12744    1 i915
video                      17995    1 i915
drm_kms_helper    49262    1 i915
drm                         258005  10 i915,drm_kms_helper
i2c_core                  50152    5
drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit
intel_gtt                   17848    2 i915,intel_agp

$ sudo lspci -vvnn | head -28 | tail -21
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon
E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152] (rev
09) (prog-if 00 [VGA controller])
        Subsystem: ASRock Incorporation Device [1849:0152]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 40
        Region 0: Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
        Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Region 4: I/O ports at f000 [size=64]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
                Address: fee0f00c  Data: 4181
        Capabilities: [d0] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [a4] PCI Advanced Features
                AFCap: TP+ FLR+
                AFCtrl: FLR-
                AFStatus: TP-
        Kernel driver in use: i915
        Kernel modules: i915

$ head -10 /var/log/Xorg.0.log
[     4.919]
X.Org X Server 1.16.1
Release Date: 2014-09-21
[     4.919] X Protocol Version 11, Revision 0
[     4.919] Build Operating System: Linux 3.16.1-1-ARCH x86_64
[     4.919] Current Operating System: Linux myhostname 3.16.4-1-ARCH
#1 SMP PREEMPT Mon Oct 6 08:22:27 CEST 2014 x86_64
[     4.919] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux
root=UUID=af9a90ee-5db2-4abf-b8be-006a65e9f09e rw quiet
video=SVIDEO-1:d
[     4.920] Build Date: 21 September 2014  10:53:13AM
[     4.920]
[     4.920] Current version of pixman: 0.32.6

### Note: ### As kernel parameters I have also tried video=SVIDEO-1:d,
i915.modeset=1, and nothing, but neither works.


More information about the systemd-devel mailing list