Open source drivers rotate textures on ATI Xpress 200M under wine

Bug #455628 reported by Jeremy Wilkins
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
xserver-xorg-video-ati (Ubuntu)
Fix Released
Undecided
Jeremy Wilkins

Bug Description

Binary package hint: xserver-xorg-video-ati

While using wine version 1.1.31 from WineHQ repositories to load World of Warcraft using the ati open source drivers all textures are improperly rotated on the RS480 200M chipset such that the game is unplayable. I know these drivers work fine on other chipsets. I have loaded WoW just fine on the Radeon 9600 RV350 chipset and it is fully accelerated and playable with all tectures showing normally. This affect seems to also come with seriously degraded 3D performance. Please let me know if you need further info. I will try to get a screen capture to attach.

ProblemType: Bug
Architecture: amd64
Date: Mon Oct 19 11:34:21 2009
DistroRelease: Ubuntu 9.10
Lsusb:
 Bus 002 Device 002: ID 09da:0006 A4 Tech Co., Ltd Optical Mouse WOP-35 / Trust 450L Optical Mouse
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Gateway MX6433
Package: xserver-xorg-video-ati 1:6.12.99+git20090929.7968e1fb-0ubuntu1
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcCmdLine: root=UUID=af17c779-4b6b-407a-a2fe-5ffc00d6b536 ro quiet splash
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, user)
 LANG=en_US
 LANGUAGE=en_US:en
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu5
 libgl1-mesa-glx 7.6.0-1ubuntu4
 libdrm2 2.4.14-1ubuntu1
 xserver-xorg-video-intel 2:2.9.0-1ubuntu2
 xserver-xorg-video-ati 1:6.12.99+git20090929.7968e1fb-0ubuntu1
SourcePackage: xserver-xorg-video-ati
Uname: Linux 2.6.31-14-generic x86_64
XsessionErrors:
 (polkit-gnome-authentication-agent-1:3639): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (zdclient:7924): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so: wrong ELF class: ELFCLASS64
dmi.bios.date: 04/16/07
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: 68.05
dmi.board.name: MX6433
dmi.board.vendor: Gateway
dmi.board.version: 68.04
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 8
dmi.chassis.vendor: Gateway
dmi.chassis.version: Rev.1
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr68.05:bd04/16/07:svnGateway:pnMX6433:pvr1MA30001044:rvnGateway:rnMX6433:rvr68.04:cvnGateway:ct8:cvrRev.1:
dmi.product.name: MX6433
dmi.product.version: 1MA30001044
dmi.sys.vendor: Gateway
fglrx: Not loaded
system:
 distro: Ubuntu
 architecture: x86_64kernel: 2.6.31-14-generic

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :
Revision history for this message
Jeremy Wilkins (wjeremy) wrote :
Download full text (10.9 KiB)

Attached is the image of what the screen looks like. There are also a number of errors that come up constantly with:
err:d3d:state_undefined Undefined state.

It seems as if the GL state becomes lost somewhere along the way, so none of the textures have correct coordinates.

This problem has pervaded every version of open source driver I have tried over four editions of Kubuntu, but the latest closed source binary (that supports r300 chipsets) worked fine. However, the recent closed source drivers which support the newer kernels and xorg server don't support r300 anymore. If it worked fine on the closed source driver and it works fine on the open source driver of another ati chipset, it should theoretically work on this chipset too, unless something is left unimplemented.

In case the wine log may help here is the output:
ALSA lib ../../../src/pcm/pcm_dmix.c:947:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
err:alsa:ALSA_CheckSetVolume Could not find 'PCM Playback Volume' element
ALSA lib ../../../src/pcm/pcm_dmix.c:947:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
fixme:mixer:ALSA_MixerInit No master control found on ATI IXP Modem, disabling mixer
fixme:advapi:SetSecurityInfo stub
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (3000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 3000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (3000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 3000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (3000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 3000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 10000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 10000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 10000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (10000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 10000
failed to open C:/Progra...

Bryce Harrington (bryce)
Changed in xserver-xorg-video-ati (Ubuntu):
status: New → Confirmed
Revision history for this message
paul roy (paul-roy-b) wrote :

i am also experiencing those exact same issues. let me know which (if any) logs or system and hardware information you may need.

in a nutshell: im on xf86-video-ati 6.12.99.git20091014; xorg-server 1.7.1 and my card is a mobility radeon x1600 .. RV530 i believe ?...

anyway, hopefully this will get sorted out sooner rather than later.

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

I have received no feedback since I posted this last month. My curiosity is whether this may be a weak ATI OSS video driver implementation issue exposed by a 32bit/64bit conflict. The wine layer technically runs everything in 32bit mode on a 64bit architecture running 3D against a 64bit driver which is a very complicated situation to say the least.
Paul: What is your arch? 64 or 32 bit?
Please post the output of:
uname -r
uname -m
lspci
glxinfo

Once we have this info we may be able to figure out where it's going wrong. In the mean time, I will test a 32bit live CD on my laptop to see if that may bypass the issue. If the live CD works it may be a problem with the OSS video driver's implementation of 32bit 3D rendering in 64bit mode. If not, I suspect that it may be related to embedded Mobility chips and an incomplete implementation of software TCL. I remember that the closed source drivers on their final release for my hardware finally started working properly, but until that driver they also would not work right I'm just not sure what changed. i know the 9600 [RV350] is a desktop card which has hardware TCL, but my laptop does not. I am curious to know whether or not your card has hardware TCL Paul.

Revision history for this message
paul roy (paul-roy-b) wrote :
Download full text (10.1 KiB)

i am indeed running 64 bits, kernel 2.6.31-ARCH (archlinux), x86_64.

i dunno if you wanted the full output of lspci, but here it is:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility X1600]
02:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet Controller (rev 02)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
06:00.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
06:00.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
06:00.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
06:00.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

also, glxinfo doesn't seem to report anything out of the ordinary;

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_...

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

It would seem that there is a notable difference in how the 32bit version of the driver and the 64bit version operate and even what media acceleration is reported to be supported in glxinfo. I understand that if you are running 64bit you will have all those features automatically, but it is still nice to see it there. I wonder if there might be a bug here. It seems that your card supports TCL and you still suffer that problem, so it's isn't TCL causing it then. I also noticed that you are using an Intel chipset motherboard; mine is ATI/AMD chipset based, so that eliminates the motherboard as well. You aren't even using ubuntu kernel sources. That leaves the only commonality being the ATI video and 64bit arch.
Have you tried a 32bit LiveCD to see if it still has the problem. I haven't had an opportunity to do that yet. I am downloading a desktop LiveCD of Karmic to test it out. We may be noticing a strange bug that is brought on by the 64bit arch. If that is the case, I may be leaving the 64bit world soon. There has been no advantages for my hardware and plenty of regressions.

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

Well I have the answer.
It appears to be either a bug with the way wine implements its 32bit to 64bit 3D rendering or with the way the ATI drivers handle 3D requests from 32bit programs. I suspect the latter, because I was able to run wine on 64bit with proprietary drivers before, and running wine in a 32bit Live CD seems to work. The rendering is terribly slow on the Karmic CD, but all the graphics renders properly.
I also noticed that the glxinfo reports all the media acceleration features in 32bit mode, but not in 64bit mode. I will try the Jaunty 32bit CD as well to see if the rendering speed is any better there. It would seem to indicate that there is definitely an architecture problem with 64bit ATI OSS video drivers at least for the R300 series. I'm not sure this would affect everyone, but most definitely two cases with built-in laptop video have been reported so far. Both using the R300 series driver.

Bryce, I think this should be reported upstream. What is the proper channels?

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

One last post. I have tested the ATI OSS drivers on the Intrepid 32bit Live CD and they worked great. Even better than Karmic. The performance was also good and all textures showed up normally. I am certain that the 64bit ones on that distribution still did not work for me. So the problem seems to be with the architecture. The drivers for the ATI R300 series in 64bit have obvious problems with 32bit 3D access. I suspect it may be a failure to restore some 64bit register before running the 32bit code.

Revision history for this message
paul roy (paul-roy-b) wrote :

well .. i hate to bring you this news, but running the same wine setup against a 32 bit kernel and 32 bit drivers and all that 32 bit stuff gives me the very same problems. everything is distorted and my system comes to a *grinding* halt within seconds ...

now, that 32 bit system wasnt quite as up to date as my 64 bit one; but then again i keep thinking, glquake runs fine, as do other 32 bit apps that use the 32 bit ati libs on my 64 bit system, so maybe its an issue with wine rather than the ati drivers ?...

Revision history for this message
paul roy (paul-roy-b) wrote :

im sort of back to where i started; after initially figuring out that direct rendering was disabled for my 32 bit libs (it was missing some path entry environement variable) i though i had solved most of my issues. but really, it's still the same stuff.

i noticed that i get a bunch of these:

fixme:d3d:getFormatDescEntry Can't find format unrecognized(1414745673) in the format lookup table
fixme:d3d:IWineD3DDeviceImpl_CreateQuery (0x1764e0) Event query: Unimplemented, but pretending to be supported
fixme:thread:SetThreadIdealProcessor (0x190): stub
fixme:d3d_shader:vertexshader_set_function The difference between the minimum and maximum relative offset is > 127
fixme:d3d_shader:vertexshader_set_function Which this OpenGL implementation does not support. Try using GLSL
fixme:d3d_shader:vertexshader_set_function Min: 0, Max: 132

when trying to start my game; also, it really seems as though the real issue is that the image gets drawn 'upside down', rather than completely distorted. maybe it's a completely different issue after all ...

oh, and ive tried enabling GLSL or what not and it changes nothing ... :/

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

Paul: What version of wine are you using?
Did you try an OLDER 32bit LiveCD and update wine to latest (while running on the CD). The current implementation on 2.6.31 kernel with 7.6 Mesa has many problems including 3D freezing on my setup. I had to use 7.7.0-devel or try intrepid to get good results. I also had to take ownership of the .wine user folder for the LiveCD ubuntu user. Jaunty also has serious freezing issues with the stock kernel and Mesa 7.6 and ATI video.

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

Oh, and I had to disable 3D desktop effects or it would freeze or crash all the time.

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

You might be experiencing a damaged wine install or a damaged .wine folder too. I can't really tell without digging deeper.

Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

This bug has been triaged upstream to Xorg. The upstream bug report is:
https://bugs.freedesktop.org/show_bug.cgi?id=25156

Changed in xserver-xorg-video-ati (Ubuntu):
assignee: nobody → Jeremy Wilkins (wjeremy)
Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

I found the answer. Apparently the implementation of projectedTextured that WoW uses is broken in the 64bit drivers right now. It is already a known issue. The workaround is to set projectedTextures to 0 in the WoW Config.wtf file for now. This worked for me.

Bryce Harrington (bryce)
tags: added: karmic
Revision history for this message
Bryce Harrington (bryce) wrote :

[This is an automatic notification.]

Hi Jeremy,

This bug was reported against an earlier version of Ubuntu, can you
test if it still occurs on Lucid?

Please note we also provide technical support for older versions of
Ubuntu, but not in the bug tracker. Instead, to raise the issue through
normal support channels, please see:

    http://www.ubuntu.com/support

If you are the original reporter and can still reproduce the issue on
Lucid, please run the following command to refresh the report:

  apport-collect 455628

If you are not the original reporter, please file a new bug report, so
we can work with you as the original reporter instead (you can reference
bug 455628 in your report if you think it may be related):

  ubuntu-bug xorg

If by chance you can no longer reproduce the issue on Lucid or if you
feel it is no longer relevant, please mark the bug report 'Fix Released'
or 'Invalid' as appropriate, at the following URL:

  https://bugs.launchpad.net/ubuntu/+bug/455628

Changed in xserver-xorg-video-ati (Ubuntu):
status: Confirmed → Incomplete
tags: added: needs-retested-on-lucid-by-june
Revision history for this message
tiago s moraes (teagom) wrote :
Revision history for this message
Jeremy Wilkins (wjeremy) wrote :

I am no longer using the stock Lucid driver because it was unusable for me. There is good news for the current upstream Mesa 7.9 and 7.10 ati drivers though. They seem to work without a hitch, although a little slower. This bug can be marked as fixed at least for me. The problem Tiago is having seems unrelated to the problems I was having.

Bryce Harrington (bryce)
Changed in xserver-xorg-video-ati (Ubuntu):
status: Incomplete → Fix Released
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.