Bug 472082

Summary: Fast User Switching not working with ATI Technologies Inc M56GL
Product: [Fedora] Fedora Reporter: Jakub Jelinek <jakub>
Component: xorg-x11-drv-atiAssignee: Dave Airlie <airlied>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 10CC: airlied, johannbg, mcepl, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-09 03:46:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Xorg.0.log
none
Xorg.1.log none

Description Jakub Jelinek 2008-11-18 16:46:39 UTC
With F10 preview, yum updated to current rawhide (and rebooted), fast user switching doesn't work at all.  I have 2 users on a T60p laptop, plymouth works just fine, I log in as one user, then either clicking on the fast user switching
applet, or locking the screen and selecting Switch User, results in a second X server starting up on another VT, the mouse cursor is visible and moving, but that's about it, GDM doesn't come up.  I can Ctrl+Alt+F1 back to the first X server just fine, just the second one doesn't work.
In dmesg I see
allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
[drm:drm_bo_evict] *ERROR* Buffer eviction failed
[drm:drm_buffer_object_validate] *ERROR* Failed moving buffer.
[drm:drm_buffer_object_validate] *ERROR* Out of aperture space or DRM memory quo
ta.
mtrr: base(0xdd9d9000) is not aligned on a size(0x9c4000) boundary
[drm:drm_mode_getfb] *ERROR* invalid framebuffer id
Not sure if that's related.
 2773 tty1     Ss+    0:02 /usr/bin/Xorg :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-uQGfDr/database -nolisten tcp vt1
 3233 ?        Z      0:00 [Xsession] <defunct>
 3479 tty7     Ss+    0:05 /usr/bin/Xorg :1 -br -verbose -auth /var/run/gdm/auth-for-gdm-tcrq0R/database -nolisten tcp

Comment 1 Matěj Cepl 2008-11-19 11:18:36 UTC
Thanks for the bug report.  We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf) and X server log file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link below.

Could you please also try to run without any /etc/X11/xorg.conf whatsoever and let X11 autodetect your display and video card? Attach to this bug /var/log/Xorg.0.log from this attempt as well, please.

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.

Comment 2 Matěj Cepl 2008-11-19 11:20:23 UTC
Try adding nomodeset to the kernel command line in grub. Does it help?

Comment 3 Jakub Jelinek 2008-11-19 11:38:23 UTC
Created attachment 324018 [details]
Xorg.0.log

The working X server log.

Comment 4 Jakub Jelinek 2008-11-19 11:39:45 UTC
Created attachment 324019 [details]
Xorg.1.log

The second X server log.

Comment 5 Jakub Jelinek 2008-11-19 11:42:31 UTC
With nomodeset on kernel cmdline, the results are slightly different, different dmesg output and the second X server even in weirder state.
[drm] Loading R500 Microcode
BUG: unable to handle kernel NULL pointer dereference at 00000000
IP: [<f88edad6>] :radeon:radeon_cp_init_ring_buffer+0x202/0x474
*pde = 7f45d067 
Oops: 0000 [#2] SMP 
Modules linked in: fuse sunrpc ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq dm_multipath uinput snd_hda_intel arc4 snd_seq_dummy ecb snd_seq_oss snd_seq_midi_event thinkpad_acpi snd_seq snd_seq_device hwmon snd_pcm_oss snd_mixer_oss snd_pcm iTCO_wdt pcspkr iTCO_vendor_support iwl3945 joydev yenta_socket i2c_i801 rsrc_nonstatic snd_timer snd_page_alloc nsc_ircc snd_hwdep rfkill video snd e1000e mac80211 irda output soundcore cfg80211 crc_ccitt sha256_generic cbc aes_i586 aes_generic dm_crypt crypto_blkcipher radeon drm i2c_algo_bit i2c_core [last unloaded: microcode]

Pid: 3710, comm: Xorg Tainted: G      D W (2.6.27.5-109.fc10.i686 #1)
EIP: 0060:[<f88edad6>] EFLAGS: 00213246 CPU: 0
EIP is at radeon_cp_init_ring_buffer+0x202/0x474 [radeon]
EAX: 00000000 EBX: f644c000 ECX: f644c000 EDX: 00000000
ESI: f6bc3800 EDI: f6bc3800 EBP: f5871f14 ESP: f5871f04
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process Xorg (pid: 3710, ti=f5871000 task=f2c84ce0 task.ti=f5871000)
Stack: f5871f14 f644c000 f6bc3800 00006458 f5871f24 f88ef9a1 f891f9d0 00000000 
       f5871f48 f88845f5 f2ca7240 f6bc3800 f88ef924 f6bc3820 f891dd2c f37ca0c0 
       00000000 f5871f64 c049a0e4 00000000 00006458 00000000 f37ca0c0 f37ca0c0 
Call Trace:
 [<f88ef9a1>] ? radeon_cp_resume+0x7d/0xbc [radeon]
 [<f88845f5>] ? drm_ioctl+0x1ad/0x222 [drm]
 [<f88ef924>] ? radeon_cp_resume+0x0/0xbc [radeon]
 [<c049a0e4>] ? vfs_ioctl+0x50/0x69
 [<c049a347>] ? do_vfs_ioctl+0x24a/0x25d
 [<c04f7b0c>] ? selinux_file_ioctl+0x35/0x38
 [<c049a39a>] ? sys_ioctl+0x40/0x5a
 [<c0403c76>] ? syscall_call+0x7/0xb
 =======================
Code: 66 31 d2 09 c2 89 d8 e8 4b e9 ff ff 8b 83 cc 00 00 00 8b 53 34 03 10 8b 87 68 02 00 00 2b 50 44 eb 14 8b 83 cc 00 00 00 8b 53 34 <03> 10 8b 87 78 02 00 00 2b 50 04 8b 83 74 03 00 00 8b 40 10 05 
EIP: [<f88edad6>] radeon_cp_init_ring_buffer+0x202/0x474 [radeon] SS:ESP 0068:f5871f04
---[ end trace a7919e7f17c0a725 ]---
[drm:drm_release] *ERROR* Device busy: 1
mtrr: base(0xd0000000) is not aligned on a size(0xfff8000) boundary
[drm] Setting GART location based on new memory map
[drm] Loading R500 Microcode
[drm] Num pipes: 1
[drm] writeback test succeeded in 2 usecs

I've also tried to boot with vmalloc=256M, but in that case after the second X server got started the mouse cursor didn't move at all and I couldn't switch to the first X server either.

Comment 6 Dave Airlie 2008-11-19 21:11:06 UTC
please try the latest -54 ati driver that is in F10 now.

Comment 7 Jakub Jelinek 2008-11-20 00:49:20 UTC
That helped a little bit.  In particular, I log in on the first X server, choose FUS applet/Other, another X server now starts and GDM shows up on it, I can log in as a different user.  Now, FUS applet/the first user (or Ctrl+Alt+F1) gets me
back to the first user (I have to unlock the screen) and both X servers are still running.  Unfortunately if I at this point FUS applet/the second user (or Ctrl+Alt+F7) the second X server dies (ps ax doesn't show it anymore) and I have
to unlock the first users screen again.

Comment 8 Matěj Cepl 2008-11-20 01:47:50 UTC
By unlocking you mean that you get screensaver asking for password? That's very much intended -- the first user should be certain that somebody to whom he loaned a computer "just to check the email" is not sneaking into his desktop.

Otherwise passing to Dave for further fun.

Comment 9 Dave Airlie 2008-11-24 04:01:06 UTC
I've just kicked off a new kernel build in koji.

kernel-2.6.27.5-123.fc10

it'll appear here when finished.

http://kojipkgs.fedoraproject.org/packages/kernel/2.6.27.5/123.fc10/

Can you install it and see if it helps?

Comment 10 Dave Airlie 2008-11-24 04:02:51 UTC
oops wrong comment got pasted into this bug, that kernel won't help as far as I know.

Comment 11 Dave Airlie 2008-11-24 04:22:54 UTC
Are either user running with desktop effects enabled?

Comment 12 Bug Zapper 2008-11-26 05:34:11 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 13 Jóhann B. Guðmundsson 2008-12-01 10:58:33 UTC
There have been bunch of bug fixes

Could you retest with the latest kernel 
( -132 at the time of this writing )

You can get the latest kernel build here
http://koji.fedoraproject.org/koji/buildinfo?buildID=72270 

And with the latest xorg-x11-drv-ati. 
( -60 at the time of this writing )

You can get the latest xorg-x11-drv-ati build here
http://koji.fedoraproject.org/koji/packageinfo?packageID=95

And report back if it either improves or fixes this issue..

Thanks.

Comment 14 Jakub Jelinek 2008-12-01 15:05:47 UTC
2.6.27.7-132.fc10 kernel + xorg-x11-drv-ati-6.9.0-60.fc10 combo helped on this card, I can now switch between 2 users just fine several times.
I'll test this on the half dozen other boxes where FUS didn't work either later on (and test also with switching among more than 2 users).

Comment 15 Matěj Cepl 2008-12-02 21:19:17 UTC
Waiting for that report.

Comment 16 Jakub Jelinek 2008-12-08 11:42:41 UTC
This works both on the M56GL even with multiple users logged in and switched between a lot and on ATI Technologies Inc RV370 5B60 as well (in both cases
it didn't work in F10 GA).

It didn't help on PowerPC G5 (#473403) though, switching to another user works, but when trying to switch back, the first user is logged out (could be gdm or session bug though).

Comment 17 Dave Airlie 2008-12-09 03:46:01 UTC
I'll close this one and think have a look at the G5 one separatly then.