Any experiences with twinview 3 or 4 monitors and KDE?

I am considering getting a Geforce 660 to run 3 or 4 monitors in KDE and wondering if anyone has any experience? I know the 660 can run 4 monitors in twinview, but I’m wondering how well Kwin handles that, especially using monitors of different resolutions. Currently I am running three monitors off two cards with two separate X screens. It works relatively well, but kwin sees the two twinview monitors as one big screen and maximizes windows across both monitors. If I disable the third monitor and only run one X screen, it sees the twinview monitors as separate and behaves correctly. I’m not sure if this is a limitation of separate X screens, or if Kwin just doesn’t handle more than 2 monitors properly. Before I buy the card, I’m wondering if anyone has experience using twinview with 3 or 4 monitors in KDE. Specifically I am wondering if the following work correctly:

Maximize windows to each monitor
Maximize windows by dragging them to the top of each monitor
Tile windows by dragging them to the side of each monitor
Games run correctly on one monitor

My setup would be two 1680x1050 monitors on top, plus a 2560x1440 and 1920x1080 on bottom. Any reason that wouldn’t work?

That behavior that you described is a limitation of the Xinerama X extension. It can only provide information for one X screen, so when there are two or more, it just turns off. If you plug three or four monitors into a single (Kepler-based) GPU, you can drive them with a single X screen and not run into that limitation. I’m a little surprised the two-screen configuration worked for you. The last time I tried it, KDE didn’t support more than one X screen at all.

I haven’t tried window management with KDE recently, so someone else will have to answer those questions.

Yeah, sepearate X screens started working fairly recently, I think around 4.9. It starts another instance of kwin on the second screen, but currently there are still some annoyances, like focus being lost after using keyboard shortcuts, and the two twinview screens acting as one big screen. Fortunately, you can tile windows by dragging them to the sides of the screen, so dragging a window to the left or right edge essentially “maximizes” it onto one screen.

Just ordered a GTX 660, so I’ll see how it goes and report back. Hoping the 4th monitor will work at 1680x1050 with a passive DP to DVI adapter.

Passive DP-to-DVI adapters are single-link DVI, but with reduced blanking you should be able to get up to 1920x1200, so 1680x1050 should work.

Got the GTX 660 and passive DP-DVI adapter, and all four monitors work beautifully with Twinview+KDE. The edge/corner/maximize tiling works on all monitors. Valve games run fullscreen on one monitor. Some other games like Trine 2 don’t work correctly fullscreen, but I can run them in a 2560x1440 window and then remove the window decorations as a workaround. The only thing that’s a little disappointing is that Powermizer will not drop below level 2 with 3 or 4 monitors connected, even with compositing off. Even at level 2, total system power is only 85w, but I would like to see it idle at level 0 and only jump up to 2 or 3 during use. I think the 660 could handle 4 monitors at level 0, at least while idle on the desktop.


I seem to be having 2D performance problems which may be causing the higher powermizer levels. I noticed that moving windows feels choppy, like it’s stuttering a little bit. On my old GTX 460, it was buttery smooth running two monitors. So I turned on kwin’s “Show FPS” effect. While sitting idle, I get 60fps. But while moving windows, or even just moving the mouse around the screen, my FPS drops down around 40 FPS. GTK-heavy apps such as MySQL Workbench can cause FPS to drop into the 20s when resizing panels. Resizing windows can also drop FPS into the 20s. I have tried the following:

  • Qt graphics system: Raster/Native
  • Use OpenGL 2 Shaders: On/Off
  • VSync: On/Off
  • Scale method: Crisp/Smooth/Accurate
  • Enable/Disable certain KWin effects: Blur, Translucency, Wobbly Windows
  • nvidia-settings: Image Settings to High Performance
  • xorg.conf: DamageEvents on/off
  • InitialPixmapPlacement: 0/1/2/3
  • MSAA: Off/4x/32x (4x drops my FPS down to 20-30, 32x drops it to 12
  • AF: 1x/16x
  • Tried nouveau but couldn't get any output at all
  • Tried XRender instead of OpenGL. FPS counter didn't work, but I could still feel similar stuttering

Setting InitialPixmapPlacment to 1 bumped up my minimum FPS by about 3, but none of the other settings made any noticeable difference. So if it’s struggling to hit 60 FPS on the desktop, that’s probably why powermizer doesn’t drop below level 2.

I can run Source Engine games at 2560x1440 with max settings and with my other three monitors running, and get FPS in the hundreds, so it doesn’t seem right that the desktop can’t run at a constant 60 FPS, even if the virtual desktop size is 4480x2760 (about 1/4 of it is dead space).

Looking for any other suggestions or something I might be missing.

Just upgraded to 319.12 and the situation is much better. I still can’t turn on VSync without my FPS dropping into the 30s, but with VSync off I get a stable 59 FPS, and the stuttering/choppiness is completely gone. I would love to turn VSync back on in the future, but for now I’m happy to have a smooth desktop again, even with tearing. Powermizer still won’t drop below level 2.

Thanks to the team for a great update, looking forward to getting even more performance out of future drivers.