Steam should not change the global mouse cursor theme #2

Closed
flyser opened this Issue Dec 20, 2012 · 46 comments
@flyser

Several people have issues, because Steam changes the mouse cursor theme, which causes the cursor to be inverted sometimes. See this screenshot: http://i.imgur.com/R6Dwa.png
The problem persists in other applications even after Steam was closed.

System information:

Prozessor:
    Hersteller: GenuineIntel
    Geschwindigkeit: 2667 MHz
    4 logische Prozessoren
    3 technische Prozessoren
    HyperThreading:  Unterstützt
    FCMOV:  Unterstützt
    SSE2:  Unterstützt
    SSE3:  Unterstützt
    SSSE3:  Unterstützt
    SSE4a:  Nicht unterstützt
    SSE41:  Unterstützt
    SSE42:  Unterstützt

Netzwerk-Informationen:
    Netzwerk-Geschwindigkeit: 

Betriebssystem:
    "Gentoo Base System release 2.1" (64 Bit)
    Kernel-Name: Linux
    Kernel-Version: 3.6.8
    X-Server-Vendor: The X.Org Foundation
    X-Server-Release: 11300000

Grafikkarte:
    Treiber: NVIDIA Corporation NVS 3100M/PCIe/SSE2

    Treiber-Version: 3.3.0 NVIDIA 310.19
    Desktop-Farbtiefe: 24 Bit per Pixel
    Monitor-Aktualisierungsrate: 60 Hz
    Anbieterkennung: 0x10de
    Gerätekennung: 0xa6c
    Anzahl der Monitore: 1
    Keine Grafikkartenanzahl entdeckt
    Prim. Anzeigeauflösung: 1920 x 1080
    Desktop-Auflösung: 1920 x 1080
    Prim. Anzeigegröße: 34,4 cm x 19,3 cm (39,4 cm diag.)

    Primärer Bus: PCI Express 16x
    Primärer VRAM: 512 MB
    Unterstützte MSAA-Modi: 2x 4x 8x 16x 

Soundkarte:
    Audiogerät: Conexant CX20585

Speicher:
    RAM: 7837 MB

Weitere Daten:
    UI-Sprache: Deutsch (Deutsch)
    LANG:  de_DE.utf8
    Mikrofon: Not set
    Verfügbarer Festplattenspeicher insgesamt: 235572 MB
    Größter freier Festplattenspeicherblock: 53425 MB

Installierte Software:

Neueste Fehlerberichte:
    Sat Dec 15 23:00:48 2012 GMT: file ''/tmp/dumps/assert_20121216000046_1.dmp'', upload yes: ''CrashID=bp-39f2d035-a0ac-4e5c-8374-188a52121215''
    Sun Dec 16 20:42:39 2012 GMT: file ''/tmp/dumps/crash_20121216214237_1.dmp'', upload yes: ''CrashID=bp-229fa7fd-ca67-47c0-8b30-969272121216''
    Sun Dec 16 20:43:08 2012 GMT: file ''/tmp/dumps/assert_20121216214304_1.dmp'', upload yes: ''CrashID=bp-a2f6208d-279b-4ea5-b7fc-b17fd2121216''
    Sun Dec 16 23:48:34 2012 GMT: file ''/tmp/dumps/crash_20121217004833_1.dmp'', upload yes: ''CrashID=bp-f599ad91-37c2-4f5e-b563-50e682121216''
    Mon Dec 17 21:41:56 2012 GMT: file ''/tmp/dumps/crash_20121217224154_1.dmp'', upload yes: ''CrashID=bp-ab220a30-a38d-482a-a748-14ae32121217''
    Tue Dec 18 21:55:03 2012 GMT: file ''/tmp/dumps/crash_20121218225501_1.dmp'', upload yes: ''CrashID=bp-1242db39-2435-4ab9-b491-d47a02121218''
    Wed Dec 19 21:17:01 2012 GMT: file ''/tmp/dumps/crash_20121219221659_1.dmp'', upload yes: ''CrashID=bp-aa923b65-e092-4b03-8488-8cbe52121219''
    Wed Dec 19 21:17:22 2012 GMT: file ''/tmp/dumps/assert_20121219221720_1.dmp'', upload yes: ''CrashID=bp-f5f78820-6663-4050-9928-e65042121219''
@dotboris

You can reset the cursor back to what it was when steam is closed using
xsetroot -cursor_name left_ptr

@flyser

That is a workaround and not a bug fix. There is no reason for steam to mess around with the system mouse cursor theme.

@dotboris

I am well aware of that. This workaround could still help some people.

@ghost

The workaround doesn't work, because Steam instantaneously changes the mouse pointer back to the inverted one while it is running. So I can't use the machine, while downloading something in the background.

@patientone

http://wiki.gentoo.org/wiki/Steam#Mouse_cursor

"If your WM/DE does not set a mouse pointer theme, then Steam will overwrite the default X11 cursor theme, often resulting in a reversed pointer from left to right."

That page also provides a potential client-side fix of defining a default cursor theme for your profile. Hope this helps!

@snai

I am using Gentoo and awesome window manager and can confirm this bug occurs too.

@fragstel I have set a cursor theme but still steam is changing it.

@patientone

Hmm...Possibly change the file to read-only? I'd be sad if it replaces existing files that have nothing to do with Steam or any game.

@ghost

The Gentoo description is wrong: My WM has set a mouse pointer theme (Oxygen Black), Steam simply overwrites it. Also changing it back while Steam is running doesn't work.

The pointer theme that Steam is forcing globally on all apps is called "xsetroot -cursor_name arrow", which is only used by very old apps for selecting menu items. So they just confused "arrow" with "right_arrow" or "default_ptr". But Steam should not change or lock the global cursor theme at all.

@STrRedWolf

I can confirm in Gentoo that Steam changes the cursor theme no matter what the original is. I'm using KDE on Gentoo.

@patientone

Hopefully they will address this as it is a major issue (even if not everyone experiences it).

As for workarounds, does the below link help at all?

https://wiki.archlinux.org/index.php/Steam#Mouse_Cursor_Overwritten

@zainin

Yes, this workaround works.

@vially

👍

@mdaffin

I also suffer from this and non of the workarounds see to help :(

Running kde 4.10 on Archlinux.

@patientone

@james147 not sure if it will help considering you are on KDE, but have you tried installing gnome-cursors-fix from the AUR?

@mdaffin

@fragstel turns out the fix only works with the Adwaita theme :( was attempting to use my native Oxygen one instead... so it isn't really a fix... just another cursor.

@bldewolf

This is really bizarre. I was working on an LD_PRELOAD hack to stop this when I realized that Steam is repeatedly changing the X cursor. Don't believe me? Install ltrace and run Steam as:

DEBUGGER="ltrace -e XDefineCursor" steam

You'll see that it recklessly hammers away with:

vgui2_s.so->XDefineCursor(0xa216cd8, 243, 0x2a00010, 0xffd6c490) = 1

repeatedly. I'm not sure what the intended behavior here is, but it definitely doesn't seem right.

Anyway, I have a repo with the LD_PRELOAD hack to neuter the cursor changing properly over at https://github.com/bldewolf/steam-cursorfix

@teplyakoff

Same issue. Cursor is changed and points to wrong direction and still wrong after steam was closed.
LXDE, archlinux

@Salamek

Same here, please Steam, DONT TOUCH MY CURSOR!!! :-)

@davidw-valve davidw-valve was assigned Dec 20, 2012
@danbruegge

"Same here, please Steam, DONT TOUCH MY CURSOR!!! :-)" +1

@torval

Mine is only inverted when I am actually pointing at something in the Steam window. As soon as I scroll off of it to my other monitor, it reverts back to the original pointer.

I would still like a fix for this however; I do not like the inverted cursor. It messes with my brain.

@mdaffin

@torval mine also revert back to normal on most applications, but on some applications (like when I hover over a menu in chromium) I get the backwards cursor (this does not happen before launching steam and continues after steam is closed).

@bldewolf

@torval @james147 I believe the reason that the cursor is broken in some applications and okay in others is that the X cursor, if it isn't set, is inherited from the root window. Steam changes the root window's cursor, so windows that have a cursor specified are still okay. (I suspect they didn't catch this because their test case involved a desktop application covering the root window so they never noticed?)

@XeHK

I've just putted 'cursors' dir and 'index.theme' file of my cursor theme to ~/.icons/default directory and replaced in 'cursors' dir 'right_ptr' & 'right_side' with 'left_ptr' & 'left_side' file copies so they are the same now, and when steam makes my cursor right-sided I don't see any difference.

@Nemoder

@bldewolf thanks for posting the LD_PRELOAD hack, it's the only thing that has solved this for me.

@Saeron

I have the same problem whit archlinux + xfce , and is really annoying. I dont want change my theme for one aplication, and i think that valve is who should fixed, not a hack.

@johnv-valve johnv-valve was assigned Dec 29, 2012
@johnv-valve
Valve Software member

I think I have a fix for the Steam cursors affecting other windows. If anybody has a good repro for this on Ubuntu & Unity, that will help me verify that it's really fixed.

@Salamek

@johnv-valve Ehmm i have just another idea, just dont touch our cursors at all! remove that piece of code from steam!
Its still normal window in DE...

@Saeron

I dont understand why you need Ubuntu & Unity ? , is not arhc +xfce linux too?. If you need my help, i can try.

@STrRedWolf

I have the XFCE based Ubuntu (xubuntu) here for any testing. Same username here as over there.

@Freso

@johnv-valve I can reproduce on Arch Linux with LXDE. Feel free to poke me. However, the proper Linux-way would be to not change the cursors from whatever is chosen in the DE/X environment, as @Salamek pointed out.

@pete83

Can confirm this bug on Ubuntu 12.10 with Gnome Shell as DE...
xsetroot -cursor_name left_ptr
works as a temporary workaround on my machine. The solution given in
https://wiki.archlinux.org/index.php/Steam#Mouse_Cursor_Overwritten
seems to have fixed my problem permanently (no long term test yet...)

@keithzg

Verified with Kubuntu 12.10 running KDE 4.9.3. Creating all the symlinks for arrow, left_side, etc as per https://wiki.archlinux.org/index.php/Steam#Mouse_Cursor_Overwritten worked for me. Extremely silly for Steam to be changing the cursor.

@Saeron

The solution is simply change the cursor theme to adwaita, but the problem is that steam should not change the global mouse cursor theme. I posible that this fails is for the problems whit gtk2 vs gtk3. Maybe need themes for gtk3.

@LiamDawe

I noticed this too since i recently switched to kde as the unity launcher is a pain to properly work with. Moving my mouse over steam gives me a different cursor, please don't do this.

@Gps2010

Happens also on openSuse 64 bit KDE

In steam mouse points the other way.

@Arrowmaster

Just got the new update and saw in the changelog that the cursor issue was 'fixed'. So I removed the ~/.icons/default fix and tried the new version. My cursor is normal outside of the steam window but I still get the backwards cursor inside the steam window.

Whatever it is you guys are trying to do to make the steam window look nice by changing the cursor is clearly not working since I still get the backwards cursor as a result of the cursor you are trying to set not existing. Please consider not touching the cursor at all or find a way to check if the cursor you want to use exists prior to changing it.

@johnv-valve johnv-valve closed this Jan 9, 2013
@STrRedWolf

I think the right-pointing mouse cursor can be chalked up to a different bug.

@Majkl578

Yes, Steam is now not changing global cursor, but the cursor is wrong only for Steam itself. I opened new issue for that: #600.

@bldewolf

@johnv-valve Please consider changing Steam to use XUndefineCursor when it wants to set the cursor back to the default pointer. This allows it to inherit the system-wide cursor instead of (depending on settings) incorrectly setting it to XC_arrow.

I've implemented a fix using LD_PRELOADing to change the XDefines into XUndefines and it seems to work fine. bldewolf/steam-cursorfix@69e1801

@danbruegge

Worked fine after new steam update. :)

@Salamek

Global crusor is still "fucked up" after running updated steam, nothing is fixed ...

@Majkl578

@Salamek: Are you sure it pollutes your system cursor? For me, the wrong cursor is only in Steam now, see #600.

@MrSchism
Valve Software member

Using Mint 14 Cinnamon, 32-bit... I am unable to reproduce. I've never had the issue.

@LiamDawe

For me this issue is fixed, running firefox while steam is open if i opened a menu in firefox it changed the cursor now it does not, Steam having a weird cursor is Issue 600 linked above. This issue is fixed.

@Salamek

@Majkl578 OK, now i rebooted my machine for sure and forced update on Steam, Global crusor is now OK so we can move to #600

@MrSchism
Valve Software member

I've only ever had it go back to my system's default which is why I never noticed the issue. By testing it on other cursor themes, it resorts back to DMZ-White for me (the default my OS uses). It may be going to a fallback or failsafe theme.

This was referenced Jan 15, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment