Summary: | 2D performance drops drastically when enabling a 2nd monitor | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Mohamad <malsaqer> | ||||||||
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> | ||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||
Severity: | normal | ||||||||||
Priority: | medium | ||||||||||
Version: | git | ||||||||||
Hardware: | x86 (IA32) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Created attachment 37548 [details]
messages
On Tue, Aug 3, 2010 at 1:37 PM, <bugzilla-daemon@freedesktop.org> wrote: > https://bugs.freedesktop.org/show_bug.cgi?id=29386 > > Summary: 2D performance drops drastically when enabling a 2nd > monitor > Product: xorg > Version: git > Platform: x86 (IA32) > OS/Version: Linux (All) > Status: NEW > Severity: normal > Priority: medium > Component: Driver/nouveau > AssignedTo: nouveau@lists.freedesktop.org > ReportedBy: malsaqer@gmail.com > QAContact: xorg-team@lists.x.org > > > Created an attachment (id=37547) > --> (https://bugs.freedesktop.org/attachment.cgi?id=37547) > Xorg.0.log > > I have two 1280x1024 identical monitor and nv18 MX 440 older nvidia card. The > card has one VGA-1 and one DVI-I outputs. The operating system is Fedora 13 and > xorg-x11-server-Xorg-1.8.2-2.fc13.i686 > xorg-x11-drv-nouveau-0.0.16-7.20100423git13c1043.fc13.i686 > ___________________________ > $ lspci -vnn | grep nVidia > VGA compatible controller [0300]: nVidia Corporation NV18 [GeForce4 MX 440 AGP > 8x] [10de:0181] (rev a2) (prog-if 00 [VGA controller]) > ___________________________ > $ xrandr -q > Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096 > VGA-1 connected (normal left inverted right x axis y axis) > 1280x1024 60.0 + 75.0 > 1280x960 60.0 > 1152x864 75.0 > 1024x768 85.0 75.1 70.1 60.0 > 832x624 74.6 > 800x600 85.1 72.2 75.0 60.3 56.2 > 640x480 85.0 72.8 75.0 66.7 60.0 > 720x400 70.1 > DVI-I-1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) > 376mm x 301mm > 1280x1024 60.0*+ 75.0 > 1280x960 60.0 > 1152x864 75.0 > 1024x768 85.0 75.1 70.1 60.0 > 832x624 74.6 > 800x600 85.1 72.2 75.0 60.3 56.2 > 640x480 85.0 72.8 75.0 66.7 60.0 > 720x400 70.1 > TV-1 disconnected (normal left inverted right x axis y axis) > _____________________________________________________________ > > If I enable the VGA-1 at auto resolution, the 2D performance drops so bad that > when I raise a window, I see it gets painted on the screen for a couple of > seconds. browser scrolling is so slow and all gui apps as well. Desktop effects > are disabled. > The commands I use are: > ____________________________________________________ > $ xrandr --screen 0 --output VGA-1 --auto > $ xrandr --screen 0 --output VGA-1 --left-of DVI-I-1 > ____________________________________________________ > > Direct rendering is enabled according to glxinfo > _______________________________________________ > $ glxinfo | grep -i render > direct rendering: Yes > OpenGL renderer string: Mesa DRI nv18 20091015 > _______________________________________________ > > If I clone the monitors, however, performance is not dropped. I also tried > lowering the resolutions of the monitors until performance did not drop when I > reached the 1024x768 resolution for each screen. > > So it is probably the buffer size needed to accommodate the two outputs in one > big screen of size. > > I know this is an older card, but I also know it can handle two screens because > I have used it with FC12 and under with nVidia drivers with no performance > problems. > > -- You're probably hitting fallbacks due to hardware limits. IIRC that card's 3D engine has a 2k*2k limit for textures and two 1280x1024 screens side by side is well over 2k width. The nvidia driver 'works' because they probably use the 2D engine instead of the 3D engine to do X rendering and maybe break up their rendering into chunks if that card's 2D engine has similar limits. Nouveau uses the 3D engine even for 2D in order to support Xrender. Thank you for the quick reply. Do you whether nouveau is working to impelement a work around like nvidia does or is it not of the interest due to that fact it is an aging hardware? Created attachment 37576 [details] [review] nv10_pixmap_limits.patch (In reply to comment #3) > Thank you for the quick reply. Do you whether nouveau is working to impelement > a work around like nvidia does or is it not of the interest due to that fact it > is an aging hardware? The attached patch may help, it bumps the 2D engine addressing limits to 4096x4096. If you still find it too slow you're probably hitting Composite fallbacks because of the texture dimension limits Younes mentioned. Thank you man. It worked like a charm. I was really about to buy another AGP card, but no need any more. I also get the same glxgears fps as with only one monitor so I guess no draw backs. I've pushed the patch to master. Marking as fixed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 37547 [details] Xorg.0.log I have two 1280x1024 identical monitor and nv18 MX 440 older nvidia card. The card has one VGA-1 and one DVI-I outputs. The operating system is Fedora 13 and xorg-x11-server-Xorg-1.8.2-2.fc13.i686 xorg-x11-drv-nouveau-0.0.16-7.20100423git13c1043.fc13.i686 ___________________________ $ lspci -vnn | grep nVidia VGA compatible controller [0300]: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] [10de:0181] (rev a2) (prog-if 00 [VGA controller]) ___________________________ $ xrandr -q Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096 VGA-1 connected (normal left inverted right x axis y axis) 1280x1024 60.0 + 75.0 1280x960 60.0 1152x864 75.0 1024x768 85.0 75.1 70.1 60.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 66.7 60.0 720x400 70.1 DVI-I-1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm 1280x1024 60.0*+ 75.0 1280x960 60.0 1152x864 75.0 1024x768 85.0 75.1 70.1 60.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 66.7 60.0 720x400 70.1 TV-1 disconnected (normal left inverted right x axis y axis) _____________________________________________________________ If I enable the VGA-1 at auto resolution, the 2D performance drops so bad that when I raise a window, I see it gets painted on the screen for a couple of seconds. browser scrolling is so slow and all gui apps as well. Desktop effects are disabled. The commands I use are: ____________________________________________________ $ xrandr --screen 0 --output VGA-1 --auto $ xrandr --screen 0 --output VGA-1 --left-of DVI-I-1 ____________________________________________________ Direct rendering is enabled according to glxinfo _______________________________________________ $ glxinfo | grep -i render direct rendering: Yes OpenGL renderer string: Mesa DRI nv18 20091015 _______________________________________________ If I clone the monitors, however, performance is not dropped. I also tried lowering the resolutions of the monitors until performance did not drop when I reached the 1024x768 resolution for each screen. So it is probably the buffer size needed to accommodate the two outputs in one big screen of size. I know this is an older card, but I also know it can handle two screens because I have used it with FC12 and under with nVidia drivers with no performance problems.