Nvidia ION sluggish performance

Bug #1291601 reported by Peter Hansen
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Pipelight
New
Undecided
Unassigned

Bug Description

Hi all

First of all, thank you for your hard work on getting pipelight working on Linux.

However, I have struggeld to get it working properly on my Asrock ION 330HT platform:
Dual core Atom
Ubuntu 12.04LTS 64 bit
Nvidia 331.49
Chromium browser with F15 Chrome UA Spoofer
Silverlight 5.1

I am experiencing a very sluggish video performance. However, it get a bit better performance when setting embedded mode=false and PIPELIGHT_GPUACCELERATION=1.
CPU usage is ~95% all the time.
When playing a 1080p movie in XBMC, the CPU usage i down to ~25%

So, I have feeling that I am not utilizing the gpu properly when using pipelight.

I have attached a log from "WINEDEBUG=+wgl,+d3d,+d3d9 chromium-browser &" which shows a lot of errors and warnings like:

err:wgl:has_opengl Failed to load libGL: libGL.so.1: wrong ELF class: ELFCLASS64
err:wgl:has_opengl OpenGL support is disabled.
warn:d3d:wined3d_init Failed to initialize adapter.
warn:d3d:wined3d_create Failed to initialize wined3d object, hr 0x80004005.
warn:d3d9:Direct3DCreate9Ex Failed to initialize d3d9.
trace:d3d9:Direct3DCreate9 sdk_version 0x20.
trace:d3d:wined3d_init Initializing adapters.
trace:d3d:wined3d_adapter_init adapter 0x105ba20, ordinal 0.
warn:d3d:wined3d_init Failed to initialize adapter.
warn:d3d:wined3d_create Failed to initialize wined3d object, hr 0x80004005.
warn:d3d9:Direct3DCreate9 Failed to initialize d3d9.

could I be missing some libraries in Wine?

Br Peter

Tags: 330 asrock ion
Revision history for this message
Peter Hansen (petestaar) wrote :
Revision history for this message
Sebastian Lackner (slackner) wrote :

Hi Peter,

based on the output above there is definitely something wrong with your graphic card drivers.

The message:
""" err:wgl:has_opengl Failed to load libGL: libGL.so.1: wrong ELF class: ELFCLASS64 """
sounds like you probably have only 64bit drivers installed, and that you're missing the 32bit libraries.

Are you using the proprietary or the nouveau drivers? When you installed the proprietary drivers manually make sure to select the checkbox "Install NVIDIA's 32-bit compatibility OpenGL libraries" during the installation, for nouveau drivers make sure that libgl1-mesa-dri:i386 is installed. After you've installed the missing 32-bit graphic card drivers please try again (all of the error messages above should be vanish).

Nevertheless: It is well-known that Pipelight (or wine in general, to be more precisely) doesn't work that well with "very low-end" graphic-cards. You can also take a look at the output of "glxinfo" (and attach it to this bug report) if you want to know which features are all supported with your current driver. I don't have an ION graphic card for testing, but if the problem remains I would suggest to test with GPU acceleration completely disabled. For a first test you can close all browser windows, and start them with:

PIPELIGHT_GPUACCELERATION=0 firefox
(or alternatively any other browser, like chromium-browser)

Which makes Silverlight use the software-rendering fallback mode. Depending on your screen resolution and CPU speed this can achieve almost similar performance.

Does one of these suggestions help?

Sebastian

Revision history for this message
Peter Hansen (petestaar) wrote :

Hi Sebastian

Thank you very much for your reply and help!! Much appreciated.

I am using the proprietary driver and have now added the 32 bit libraries when installing. The current dependency errors previously posted are now gone.

However, with PIPELIGHT_GPUACCELERATION=0 the performance is really bad. Perhaps the dual core Atom cpu is to leightweight for software rendering. I have overclocked it from 1.6 Ghz to 2.1 Ghz with out any change.

With PIPELIGHT_GPUACCELERATION=1 the performance is reasonable in the beginnnig but after a couple of minutes performance is dropped a bit. It seems that we are close to a soloution now.

I have addded a glxinfo log

Thank you

Peter

Revision history for this message
Sebastian Lackner (slackner) wrote :

Hi Peter,

since the drivers are installed correctly now it normally shouldn't be necessary to provide PIPELIGHT_GPUACCELERATION=1, as this is the default settings for most streaming pages.

The remaining performance problem seems to be most likely related to pulseaudio. It might seem a bit confusing at first sight, but Silverlight actually tries to synchronize the audio and video speed. When pulseaudio has some problems with the playback, then this immediately affects the video.

You can try to kill pulseaudio with "pulseaudio -k" just before starting playback, does it stay smooth a bit longer then?

It could probably also help when you start your browser like this:
PULSE_LATENCY_MSEC=30 firefox

Sebastian

Revision history for this message
Peter Hansen (petestaar) wrote :

Hi Sebastian

Thank you for your answer. Just to make sure, am I using gpu og software rendering with my current setup?

With PULSE_LATENCY_MSEC=30 things get better, but it seems that video is still lacking as if there where some kind of slow motion effect

I have added a log when running from a console. There is a lot of fixme errors. I am not sure whether they are relevant?

Revision history for this message
Peter Hansen (petestaar) wrote :

here the log:

there is perhaps somthing related to pulse audio here:

fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php?t=1960599

Revision history for this message
Sebastian Lackner (slackner) wrote :

Hi Peter,

based on your last log Pipelight uses GPU acceleration, see:
[PIPELIGHT:LIN:silverlight5.1] GPU driver check - Your driver is supported, hardware acceleration enabled.

The log doesn't contain any obvious errors, so I assume that the drivers are really not the problem. [Except that an Nvidia ION is a relatively low-end graphic card, not sure how much it can accelerate the video playback.]

The "fixme"s aren't directly related to an error, they're just to inform the user that our version includes direct pulseaudio support instead of using the ALSA pulseaudio wrapper. Normally this should be the faster method and it also works well for me, but some people reported that they had to disable it to get good performance. All this depends on a lot of different factors, including sound card, CPU usage, ... and so on. In general integrated sound cards often work better with Wine/Silverlight than USB sound cards, so if you've multiple ones it could be worth to try out the others, too.

If you think that the sound could still be a problem, please run the following command, open the "Audio" tab, and check if the test-sound works there:
WINEPREFIX=~/.wine-pipelight WINEARCH=win32 /opt/wine-compholio/bin/winecfg

If not (or you want to try it out, nevertheless): Take a look at the following FAQ, which described how to restart pulseaudio (helps in some cases) or how to use the ALSA pulseaudio wrapper instead: https://answers.launchpad.net/pipelight/+faq/2444 . You can also keep the option PULSE_LATENCY_MSEC=30 or try different values. (Make sure to close all other browser windows before starting with environment variables, otherwise it will have no effect.)

One thing you should keep in mind: Pipelight uses GPU accelerated rendering, but not GPU accelerated decoding. If all this doesn't help I suspect that the CPU is the bottle-neck. You can try to take a look at the CPU usage (for example by running "htop" while watching a movie) to check if this also could be a problem.

Sebastian

Revision history for this message
Peter Hansen (petestaar) wrote :

Hi Sebastian

Thanks again for your detailed description. With respect to cpu usage I have compared watching a HD video in XBMC and Pipelight:

xbmc hd
cpu utilization: ~20%
gpu utilization: ~25%
video encode utilization: ~40%
GPU mem usage: 75%

pipelight
cpu utilization: ~85%
gpu utilization: ~30-40%
video encode utilization: 0%
GPU mem usage: 85%

This is properly where I see the difference between GPU accelerated decoding and rendering.

I'am certain there is somthing wrong with pulseaudio. The video lacking I have experienced gets worse when I keep watching a movie. After approx. 2 minutes the video and sound is completely asynchronous and video lacking gets worse.

pulseaudio -k or PULSE_LATENCY_MSEC doesn't change anything. I have followed the guide in https://answers.launchpad.net/pipelight/+faq/2444. However, after using winetricks I don't see any alsa options in my audio tab. Only four different HDMI options, which all can play when using the test sound button. However, there no difference when putting on a netflix movie.

Peter

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.