You are not logged in.

#1 2008-01-23 10:34:48

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Getting Half-Life 2 games in Steam to run like they should in Wine

I've seen several guys in the Arch Linux group playing HL2-based games on Steam.  Whenever I try to play Garry's Mod, I get a garbled screen.  There's a diagonal line from the top left to bottom right, and textures are in all sorts of weird places.  This is just on the menu of the game (I haven't gotten any further).  HL1 games play perfectly - I've never once seen a glitch in them and the framerate is great.  What are you guys doing to make it work?

If it matters, I'm running a 32-bit chroot where wine resides.  I really appreciate the support smile

Offline

#2 2008-01-23 13:11:34

eljoeb
Member
Registered: 2007-12-02
Posts: 37

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Have you looked at HL2's entry on Wine's appdb? Adding -dxlevel 80 or something like that to the launcher helps.

Offline

#3 2008-01-27 14:05:58

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

When I double click on Garry's Mod in Steam, this is what I get in the console ...

wine: Unhandled page fault on read access to 0xfaf5b758 at address 0x7ee6a207 (thread 0027), starting debugger...
fixme:win:SetLayeredWindowAttributes (0x4002e,0x00000000,0,2): stub!
Unhandled exception: page fault on read access to 0xfaf5b758 in 32-bit code (0x7ee6a207).
fixme:shdocvw:OleInPlaceObject_InPlaceDeactivate (0x10f5bf10)
fixme:shdocvw:OleInPlaceObject_UIDeactivate (0x10f5bf10)
fixme:shdocvw:OleObject_Close (0x10f5bf10)->(1)
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7ee6a207 ESP:0034fdd0 EBP:0034fe00 EFLAGS:00010213(   - 00      -RIA1C)
 EAX:1efd6ffe EBX:00000001 ECX:7efff760 EDX:f7eb7ff4
 ESI:00000008 EDI:f7eb7ff4
Stack dump:
0x0034fdd0:  00360011 00350000 f7eb7ff4 00000008
0x0034fde0:  0034fe00 0034fdf8 00000001 00000000
0x0034fdf0:  7efff760 00000000 00000296 ffffe410
0x0034fe00:  0034fea8 00000000 7efff760 f7ead7c9
0x0034fe10:  7ffdf000 0034fe2c 00000014 0040da94
0x0034fe20:  0034fe2c 0040da0c 0040d8bc 00000000
Backtrace:
=>1 0x7ee6a207 LocalReAlloc16+0x57() in kernel32 (0x0034fe00)
  2 0x00000000 (0x0034fea8)
  3 0x7efa5fbe LdrInitializeThunk+0x2ae() in ntdll (0x0034ff08)
  4 0x7ee83c7a start_process+0xba() in kernel32 (0x0034ffe8)
  5 0xf7ecb867 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
0x7ee6a207 LocalReAlloc16+0x57 in kernel32: movl    0x0(%ecx,%eax,4),%ecx
Modules:
Module    Address            Debug info    Name (19 modules)
PE      400000-  41a000    Deferred        hl2
ELF    7bf00000-7bf03000    Deferred        <wine-loader>
ELF    7ea6f000-7eaba000    Deferred        advapi32<elf>
  \-PE    7ea80000-7eaba000    \               advapi32
ELF    7eaba000-7eb52000    Deferred        gdi32<elf>
  \-PE    7ead0000-7eb52000    \               gdi32
ELF    7eb52000-7ec8f000    Deferred        user32<elf>
  \-PE    7eb70000-7ec8f000    \               user32
ELF    7ec8f000-7ec9a000    Deferred        libnss_files.so.2
ELF    7ee0f000-7ef39000    Export          kernel32<elf>
  \-PE    7ee30000-7ef39000    \               kernel32
ELF    7ef39000-7ef5e000    Deferred        libm.so.6
ELF    7ef5e000-7f000000    Export          ntdll<elf>
  \-PE    7ef70000-7f000000    \               ntdll
ELF    f7d69000-f7d6d000    Deferred        libdl.so.2
ELF    f7d6d000-f7ea3000    Deferred        libc.so.6
ELF    f7ea3000-f7ebb000    Deferred        libpthread.so.0
ELF    f7ec4000-f7fd8000    Export          libwine.so.1
ELF    f7fd9000-f7ff5000    Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000025 (D) C:\Program Files\Steam\steamapps\nes_power\garrysmod\hl2.exe
    00000027    0 <==
00000010 
    00000011    0
0000000c 
    0000000f    0
    0000000e    0
    0000000d    0
0000000a 
    0000000b    0
00000008 
    00000012    0
    00000047    0
    00000046    0
    00000045    1
    00000043    0
    00000042    0
    00000041    1
    00000040    0
    0000003f    1
    0000003e    0
    0000003d    1
    0000003c    0
    0000003b    1
    0000003a    0
    00000039    1
    00000038    0
    00000037    1
    00000036    0
    00000035    1
    00000034    0
    00000033    1
    0000002f    0
    0000002e    0
    0000002d    1
    0000002c    0
    0000002b    0
    00000029    0
    00000028    1
    00000026    0
    00000024   15
    00000022    0
    00000021   15
    00000020   15
    0000001f    0
    0000001e    0
    0000001d    0
    0000001c    0
    0000001b    0
    0000001a    1
    00000019    0
    00000018    0
    00000017    0
    00000016    0
    00000015    0
    00000014    0
    00000013    0
    00000009    0
Backtrace:
=>1 0x7ee6a207 LocalReAlloc16+0x57() in kernel32 (0x0034fe00)
  2 0x00000000 (0x0034fea8)
  3 0x7efa5fbe LdrInitializeThunk+0x2ae() in ntdll (0x0034ff08)
  4 0x7ee83c7a start_process+0xba() in kernel32 (0x0034ffe8)
  5 0xf7ecb867 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)

tongue

Offline

#4 2008-01-27 14:10:25

Dheart
Member
From: Sofia, Bulgaria
Registered: 2006-10-26
Posts: 956

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Gary's mod works in the newest wine version (0.9.54)


My victim you are meant to be
No, you cannot hide nor flee
You know what I'm looking for
Pleasure your torture, I will endure...

Offline

#5 2008-01-27 21:41:28

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

It's not in the repos, how do I install it via pacman?

-edit-
Nevermind, I did a yaourt -G wine and I'm modding the PKGBUILD smile
I'll let you know how it goes

Last edited by synthead (2008-01-27 21:45:56)

Offline

#6 2008-01-27 21:54:46

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Oh hey, I just noticed it compiling it with the -march=i686 flag in my 32-bit chroot.  That's what I wanted it to do and that's fine and dandy, but is there a chance of making a 64-bit wine in my 64-bit environment to play 64-bit Windows executables, or is this not gonna happen?

Offline

#7 2008-01-27 22:18:29

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Here's what I get with wine 0.9.54 ...

gmodcrashdg5.png

If I turn pixel shaders off in winecfg, I get the crash that I posted above tongue

Last edited by synthead (2008-01-27 22:20:37)

Offline

#8 2008-01-27 22:26:19

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Other times I can't even launch the game and I get an error message like this

gmodcrash2oy0.png

I'm using compiz-fusion, but I've tried Garry's Mod without running it and I get the same results either way.

Last edited by synthead (2008-01-27 22:26:59)

Offline

#9 2008-01-28 01:41:13

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Has anyone seen this before?  Is there a flag I could try or perhaps a Garry's Mod config I could edit by hand to try to get around this?

Offline

#10 2008-01-28 01:47:07

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Here's that modded pkgbuild that I got to work if anyone wants it

# $Id: PKGBUILD,v 1.51 2008/01/14 21:34:16 dale Exp $
# Maintainer: Dale Blount <dale@archlinux.org>
# Contributor: Matt Smith (Majik) <darkknight@helpdesk.zaz.net>
pkgname=wine
pkgver=0.9.54
pkgrel=1
pkgdesc="Emulator of the Windows 3.x and Win32 APIs"
url="http://www.winehq.com"
arch=('i686')
license=('LGPL')
depends=('freetype2' 'fontconfig' 'libjpeg' 'libungif' 'alsa-lib' 'glut' 'libldap' 'libxslt' 'lcms' 'libxxf86dga' 'freeglut' \
         'libxinerama' 'libxcursor' 'libxrandr' 'libxrender' 'libxdamage')
makedepends=('alsa-lib' 'sane' 'fontforge' 'flex' 'bison')
source=(http://easynews.dl.sourceforge.net/sourceforge/wine/wine-$pkgver.tar.bz2)
md5sums=('8d9d5c8ed53f1f97cc997c2612bc3993')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr --sysconfdir=/etc --enable-opengl --with-x
  make depend || return 1
  make || return 1
  make prefix=$startdir/pkg/usr install || return 1
  # expand conflicts with textutils ( doesn't exist anymore ? )
  # mv $startdir/pkg/usr/bin/expand $startdir/pkg/usr/bin/wine-expand || return 1
  mkdir -p $startdir/pkg/etc/wine
  # mkdir -p $startdir/pkg/etc/profile.d
  # cp -r $startdir/src/$pkgname-$pkgver/documentation/samples $startdir/pkg/etc/wine
}

Offline

#11 2008-01-28 05:46:54

Dheart
Member
From: Sofia, Bulgaria
Registered: 2006-10-26
Posts: 956

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Always disable compiz-fusion before running something in wine...
Also what registry keys are you using in the Direct3D folders (useGLGS/fbo, etc.)
Did you start it with the directx 8 switch?


My victim you are meant to be
No, you cannot hide nor flee
You know what I'm looking for
Pleasure your torture, I will endure...

Offline

#12 2008-01-28 08:28:44

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

I'm not sure about the registry keys.

I've tried using different directx levels but the same things happen.  Perhaps I'm passing the flag incorrectly, what is the proper way to make wine use dx8?

Offline

#13 2008-01-28 11:29:45

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Ok, so I disabled the in-game community as directed to here and it prevented the page faults I was getting (like I posted on post #4).

I installed wine-git to see if it would make a difference.  All the casualties are the same still.  I can't start Garry's Mod without getting that dialog box that I got on post #9 ... so I tried Portal.  It shows me the valve logo, goes to the source logo, the screen flips out and does something similar to post #8, and goes back to my desktop, only with a big black box in the middle of the screen with this message enlessly spewing out in the console behind it:

DisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913

I just don't understand it.  I go to WineHQ.org and the website says that it runs "Gold," while some users suggest that it should be "Platinum," yet Steam is giving me serious problems of its own and none of the HL2 games work at all.  HL1 games work great but that's not the goal tongue

Offline

#14 2008-01-28 11:43:29

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

synthead wrote:

Other times I can't even launch the game and I get an error message like this

http://img444.imageshack.us/img444/6919 … sh2oy0.png

I'm using compiz-fusion, but I've tried Garry's Mod without running it and I get the same results either way.

Now both Portal and GM is showing this message.  I can't even launch any games tongue

Offline

#15 2008-01-28 12:07:10

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Wine BLOWS!

Offline

#16 2008-01-28 18:06:16

Dheart
Member
From: Sofia, Bulgaria
Registered: 2006-10-26
Posts: 956

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

First: Stop spamming...
Second: Go to winehq and post how wine blows.
Third: Write something better then wine.
Fourth: At winehq appdb are posted the switches for DXlevels and also there is bug that says:

HL 2 games occasionally don't start due to registry in use.

This is fixed by setting hl2.exe version to win 98.
Fifth: Go and pay for cedega (Which really blows because hl2 is broken after every steam update...)
Sixth: ... Do you even understand how hard is what wine is doing? Translating the direct3D calls to opengl...
EDIT: Seventh http://wiki.winehq.org/UsefulRegistryKeys  here is information about useful keys
The direct3D ones explain what you need to do.

Last edited by Dheart (2008-01-28 18:08:19)


My victim you are meant to be
No, you cannot hide nor flee
You know what I'm looking for
Pleasure your torture, I will endure...

Offline

#17 2008-01-29 02:37:16

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Sorry, sorry ... I got frustrated last night about it tongue  It's very rude to insult a group of people or even a whole community that work very hard on something without asking anything for return, no matter what it is.  Wine is an amazing project.  The fact that many games are almost completely playable in it is miraculous.  I remember years and years ago when it was kind of silly but it's really serious now.  I'll keep working at it - I'll get it to work.

Back to the topic - I really appreciate your support.  I googled for about an hour last night and you've already given me more answers tongue  I'll try your suggestions, thank you!

Offline

#18 2008-01-31 11:05:47

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

I finally got it to work!

There were tons of things I had to do.  Pretty much every aspect of my setup needed a bit of tweaking to work right.

One more thing though, have any of you guys experinced fonts like this in HL2?  I copied all the fonts from my windows parition over to ~/.wine/drive_c/windows/fonts but it looks like there's more tweaking to do tongue

fontscm9.png

Offline

#19 2008-01-31 18:55:18

rmores
Member
Registered: 2008-01-18
Posts: 8

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

I'm puzzled that you didn't post how you did it. Others like myself have faced the exact problem, that being on arch ubuntu and gentoo all x64 systems, even under a 32 chroot. after a whole month i'm using native 32 and last night i played for about 2 minutes before my whole Steam broke down and I'm back to nothing.

Anyway, please post how you did it

Offline

#20 2008-02-01 01:59:56

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

rmores wrote:

I'm puzzled that you didn't post how you did it. Others like myself have faced the exact problem, that being on arch ubuntu and gentoo all x64 systems, even under a 32 chroot. after a whole month i'm using native 32 and last night i played for about 2 minutes before my whole Steam broke down and I'm back to nothing.

Anyway, please post how you did it

Of course I will smile  The reason why I didn't last night:

synthead wrote:

synthead
Today 03:05:47

Was damn tired and it's a lot to write tongue

So anyway, first thing I did was modify the way ext3 performs disk caching on my Steam folder.  I researched a bit and discovered that when you launch a Steam game, it unzips a huge amount of data and runs it immediately.  With ext3 (and a lot of linux filesystems in general), it caches what it's working on into RAM first then onto the disk later, so it is fast.  But for one reason or another, Steam doesn't work well with this and tries to execute files that are half-written to disk.  That causes this problem:

gmodcrash2oy0.png

chattr fixes this problem; it's a little utility for ext3 that modifies how certain directory trees on an ext3 filesystem are cached.  Run this command as root on your Steam folder and it'll stop caching things into RAM,

chattr -R +S ~/.wine/drive_c/Program\ Files/Steam

The next thing I had to do was disable in-game Friends integration.  I kinda forget where it is in the menu off the top of my head (I'm at work on my work computer), but go to File -> Preferences (or is it Settings?), Friends, and uncheck enable Friends integration.  I'll edit this when I'm at my laptop at home and I know better tongue  But that will stop this crash:

DisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913
fixme:d3d:unloadNumberedArrays >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glDisableVertexAttribArrayARB(reg) @ state.c / 2913

Now as far as THIS goes ...

gmodcrashdg5.png

I don't know how I fixed it.  At this point, hovering over the menu options made sound, and I was able to bring up some menus on the screen (even though they were pretty mutilated like you would imagine), so I figured it had something to do with my video settings in xorg.conf.  To my surprise, the glx and dri modules were commented out, so I enabled them, and I believe that's what made the video look the way it should.

I also enabled a virtual desktop for Wine.  For a reason I haven't figured out, HL2 lauches in fullscreen without removing my XFCE panels from the screen, and it's pretty hokey when I don't set the game to my native resolution on my laptop.  So I enabled the desktop as a quick temporary solution until I can boom-headshot in 1680x1050. 

I also found that the mouse was very herky jerky in HL2, but movign with the keyboard was smooth.  So I launched Wine with WINEDEBUG=-all and it fixed it right away.  Also, I set Steam to launch in DX9 mode by adding the flag -dxlevel 90 to the command line.  For one reason or another, HL2 persisted that I had DX6.1 hardware, and it created loads of bugs and looked terrible.  So throwing these two flags into the command line made it really smooth and pretty.  All in all, the complete command I ended up with was ...

WINEDEBUG=-all wine Steam.exe -dxlevel 90

Another issue with Steam is that you have to be in the Steam directory when you run it with Wine or you'll get errors.  So I made a little script in my chroot to cd into ~/.wine/drive_c/Program Files/Steam and later launch Steam with the commands.  I saved it as ~/.wine/steam and I launch it by running "dchroot -d ~/.wine/steam"  The script is simple, it looks like this:

cd ~/.wine/drive_c/Program\ Files/Steam
WINEDEBUG=-all wine Steam.exe -dxlevel 90

From then on, Steam ran, but the games were a little rickety because they were translating DX9 calls.  So I set the games I play to force hardware detection as DX8.1.  To do this, right click on your game, i.e. Garry's Mod, click properties, Launch Options (I think, again, I'm at my work computer),  add -dxlevel 81 to the text field, and click ok.  Games will run in DirectX 8.1 mode now and will have a balance of graphics while still having an excellent framerate.

This is where I am now.  All the games I own in Steam work properly, but all I have is a bunch of HL1 games, Garry's Mod, and Portal.  I would imagine most other HL2 games would work too however.  At this point in time, I'm still working on the weird fonts, but they only appear in the HL2 menus and nowhere else in the game.  Also, I have to set my texture detail from Low to Very High each time I play - I'm trying to work that out too.  Oh, and the fullscreen thing.  But the games are totally playable and I get a higher FPS than my scan rate big_smile

Hope this helps!

Offline

#21 2008-02-02 21:46:38

rmores
Member
Registered: 2008-01-18
Posts: 8

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

I've seen the chattr solution on winehq and disabling the steam friends as well. Strange is that it didn't stop the registry in use error, maybe because I just copy-pasted without bothering too much in what the code is doing. The main problem I have is a screen glitched just like yours, on my x64 systems, but here on arch 32 I actually got TF2 running for 2 mins before a complete system freeze that now leads to a register dump from wine every time I try to start a steam game...it might or might not happen, but surely I cant play the games. sad

I'm not even sure this is the right place to be dumping wine/steam debug messages so I won't post the error I'm talking about(unless permitted of course). Anyway, I'd like to say that I liked your little script, I hadn't thought of scripting+chroot smile

But on my own research I came across some other arguments to pass to steam that might be useful to you:
-window #sets windowed mode
-width 1024 -height 768 #sets resolution
-silent #supresses steam errors (but ive never seen it impact performance anyway)
-force # supposed to force settings even if you have them differently, but had no effect for me
-applaunch X #where X is the game number, i.e. 440 = TF2 and 220=HL2 but those are the only ones I know. You can have steam create a desktop shortcut and work from there if you want it.


Oh and one more thing, are you using NVIDIA or ATi?

Last edited by rmores (2008-02-02 21:47:39)

Offline

#22 2008-02-03 02:01:06

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

I'm using nvidia.  ATI is getting much, much better with the inclusion of the catalyst drivers, but it's still pretty lacking (my gf uses it on her computer).

Did you try messing with the dri and glx gettings and the Wine desktop?

Offline

#23 2008-02-03 14:26:54

rmores
Member
Registered: 2008-01-18
Posts: 8

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Well, I have dri and glx on both machines(Ati desktop and nvidia notebook), but I need option AIGLX for my ATi to render 3D(and I have direct rendering with glxinfo) . The problem is met on both computers, but only on x64. And I'm using the wine desktop..

Offline

#24 2008-02-10 09:19:00

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

Here's my xorg.conf.  I'm pretty sure changing around some options in it made HL2 render correctly, but I was working on a couple options at the same time so I may be wrong.  If there's something in my xorg.conf that isn't enabled on yours, try enabling it.

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildmeister@builder26)  Wed Sep 12 14:29:53 PDT 2007

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder26)  Wed Sep 12 14:29:17 PDT 2007
# File generated by xorgconfig.
#
# Copyright 2004 The X.Org Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
# 
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
# 
# Except as contained in this notice, the name of The X.Org Foundation shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from
# The X.Org Foundation.
#
# **********************************************************************
# Refer to the xorg.conf(5) man page for details about the format of 
# this file.
# **********************************************************************
# **********************************************************************
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
# **********************************************************************
# Files section.  This allows default font and rgb paths to be set
# **********************************************************************
# **********************************************************************
# Server flags section.
# **********************************************************************
# **********************************************************************
# Input devices
# **********************************************************************
# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************
# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************
# **********************************************************************
# Other input device sections 
# this is optional and is required only if you
# are using extended input devices.  This is for example only.  Refer
# to the xorg.conf man page for a description of the options.
# **********************************************************************
#
# Section "InputDevice" 
#    Identifier  "Mouse2"
#    Driver      "mouse"
#    Option      "Protocol"      "MouseMan"
#    Option      "Device"        "/dev/mouse2"
# EndSection
#
# Section "InputDevice"
#    Identifier "spaceball"
#    Driver     "magellan"
#    Option     "Device"        "/dev/cua0"
# EndSection
#
# Section "InputDevice"
#    Identifier "spaceball2"
#    Driver     "spaceorb"
#    Option     "Device"        "/dev/cua0"
# EndSection
#
# Section "InputDevice"
#    Identifier "touchscreen0"
#    Driver     "microtouch"
#    Option     "Device"        "/dev/ttyS0"
#    Option     "MinX"          "1412"
#    Option     "MaxX"          "15184"
#    Option     "MinY"          "15372"
#    Option     "MaxY"          "1230"
#    Option     "ScreenNumber"  "0"
#    Option     "ReportingMode" "Scaled"
#    Option     "ButtonNumber"  "1"
#    Option     "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
#    Identifier "touchscreen1"
#    Driver     "elo2300"
#    Option     "Device"        "/dev/ttyS0"
#    Option     "MinX"          "231"
#    Option     "MaxX"          "3868"
#    Option     "MinY"          "3858"
#    Option     "MaxY"          "272"
#    Option     "ScreenNumber"  "0"
#    Option     "ReportingMode" "Scaled"
#    Option     "ButtonThreshold"       "17"
#    Option     "ButtonNumber"  "1"
#    Option     "SendCoreEvents"
# EndSection
# **********************************************************************
# Monitor section
# **********************************************************************
# Any number of monitor sections may be present
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
# Device configured by xorgconfig:
# **********************************************************************
# Screen sections
# **********************************************************************
# Any number of screen sections may be present.  Each describes
# the configuration of a single screen.  A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
# **********************************************************************
# ServerLayout sections.
# **********************************************************************
# Any number of ServerLayout sections may be present.  Each describes
# the way multiple screens are organised.  A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option.  In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.
 Section "DRI"
    Mode 0666
 EndSection

Section "ServerLayout"

# The Identifier line must be present
# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens.  The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen.  In this example, screen 2 is located to the
# right of screen 1.
# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used.  Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".
    Identifier     "Simple Layout"
    Screen      0  "Screen0" 1680 0
    Screen      1  "Screen1" 0 0
    InputDevice    "Mouse1" "AlwaysCore"
    InputDevice    "Mouse[1]" "SendCoreEvents"
    InputDevice    "Keyboard1" "CoreKeyboard"
EndSection

Section "Files"

# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.
#    RgbPath    "/usr/share/X11/rgb"
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
# 
# 
#    FontPath   "/usr/lib/X11/fonts/local/"
#    FontPath   "/usr/lib/X11/fonts/misc/"
#    FontPath   "/usr/lib/X11/fonts/75dpi/:unscaled"
#    FontPath   "/usr/lib/X11/fonts/100dpi/:unscaled"
#    FontPath   "/usr/lib/X11/fonts/Speedo/"
#    FontPath   "/usr/lib/X11/fonts/Type1/"
#    FontPath   "/usr/lib/X11/fonts/TrueType/"
#    FontPath   "/usr/lib/X11/fonts/freefont/"
#    FontPath   "/usr/lib/X11/fonts/75dpi/"
#    FontPath   "/usr/lib/X11/fonts/100dpi/"
# The module search path.  The default path is shown here.
#    ModulePath "/usr/lib/modules"
    FontPath        "/usr/share/fonts/misc"
    FontPath        "/usr/share/fonts/100dpi:unscaled"
    FontPath        "/usr/share/fonts/75dpi:unscaled"
    FontPath        "/usr/share/fonts/TTF"
    FontPath        "/usr/share/fonts/Type1"
EndSection

Section "Module"

# This loads the DBE extension module.
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
# This loads the font modules
    Load        "type1"
# This loads the GLX module
    Load       "glx"
# This loads the DRI module
    Load    "dri"
# Double buffer extension
    Load    "dbe"
    SubSection     "extmod"
        Option         "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
    Load           "freetype"
    Load        "xtt"
    Load           "synaptics"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"

#    Option    "Xleds"      "1 2 3"
#    Option "LeftAlt"     "Meta"
#    Option "RightAlt"    "ModeShift"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#    Option "XkbModel"    "pc105"
# If you have a US Microsoft Natural keyboard, you can use:
#    Option "XkbModel"    "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#    Option "XkbLayout"   "de"
# or:
#    Option "XkbLayout"   "de"
#    Option "XkbVariant"  "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#    Option "XkbOptions"  "ctrl:swapcaps"
# These are the default XKB settings for Xorg
#    Option "XkbRules"    "xorg"
#    Option "XkbModel"    "pc105"
#    Option "XkbLayout"   "us"
#    Option "XkbVariant"  ""
#    Option "XkbOptions"  ""
#    Option "XkbDisable"
    Identifier     "Keyboard1"
    Driver         "kbd"
    Option         "AutoRepeat" "500 30"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc104"
    Option         "XkbLayout" "us"
EndSection

Section "InputDevice"

# Identifier and driver
#    Option "Resolution"    "256"
# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.
#    Option "BaudRate"    "9600"
#    Option "SampleRate"    "150"
# Mouse wheel mapping.  Default is to map vertical wheel to buttons 4 & 5,
# horizontal wheel to buttons 6 & 7.   Change if your mouse has more than
# 3 buttons and you need to map the wheel to different button ids to avoid
# conflicts.
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)
#    Option "Emulate3Buttons"
#    Option "Emulate3Timeout"    "50"
# ChordMiddle is an option for some 3-button Logitech mice
#    Option "ChordMiddle"
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "Auto"    # Auto detect
    Option         "Device" "/dev/input/mice"
# Mouse-speed setting for PS/2 mouse.
    Option         "ZAxisMapping" "4 5 6 7"
# Emulate3Buttons is an option for 2-button mice
EndSection

Section "InputDevice"
    Identifier     "Mouse[1]"
    Driver         "synaptics"
    Option         "Device" "/dev/psaux"
    Option         "Protocol" "auto-dev"
    Option         "LeftEdge" "1700"
    Option         "RightEdge" "5300"
    Option         "TopEdge" "1700"
    Option         "BottomEdge" "4200"
    Option         "FingerLow" "25"
    Option         "FingerHigh" "30"
    Option         "MaxTapTime" "180"
    Option         "MaxTapMove" "220"
    Option         "VertScrollDelta" "100"
    Option         "MinSpeed" "0.10"
    Option         "MaxSpeed" "0.20"
    Option         "AccelFactor" "0.0010"
    Option         "SHMConfig" "on"
#  Option    "Repeater"    "/dev/ps2mouse"
EndSection

Section "Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
#    HorizSync    30-64         # multisync
#    HorizSync    31.5, 35.2    # multiple fixed sync frequencies
#    HorizSync    15-25, 30-50  # multiple ranges of sync frequencies
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
    Identifier     "monitor"
    HorizSync       31.5 - 82.0
    VertRefresh     40.0 - 150.0
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Seiko"
    HorizSync       30.0 - 75.0
    VertRefresh     59.0
EndSection

#Section "Monitor"
#    Identifier     "Monitor0"
#    VendorName     "Unknown"
#    ModelName      "SAMSUNG"
#    HorizSync       30.0 - 61.0
#    VertRefresh     60.0 - 75.0
#EndSection

Section "Device"

# The chipset line is optional in most cases.  It can be used to override
# the driver's chipset detection, and should not normally be specified.
#    Chipset    "generic"
# The Driver line must be present.  When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module.  Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this section.
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for.  When this line isn't present, a device
# section can only match up with the primary video device.  For PCI
# devices a line like the following could be used.  This line should not
# normally be included unless there is more than one video device
# intalled.
#    BusID      "PCI:0:10:0"
#    VideoRam    256
#    Clocks    25.2 28.3
    Identifier     "Standard VGA"
    Driver         "vga"
    VendorName     "Unknown"
    BoardName      "Unknown"
EndSection

Section "Device"

    #VideoRam    262144
    # Insert Clocks lines here if appropriate
    Identifier     "vidcard"
    Driver         "nvidia"
    Option         "NoLogo" "true"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GS"
    Option         "NoLogo" "true"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GS"
    Option         "NoLogo" "true"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen 1"
    Device         "Videocard0"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard1"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT: nvidia-auto-select +0+0"
EndSection

Offline

#25 2008-04-06 09:36:38

synthead
Member
Registered: 2006-05-09
Posts: 1,337

Re: Getting Half-Life 2 games in Steam to run like they should in Wine

In an effort to get rid of my 32-bit chroot, I tried getting Wine working via 32-bit libs, and it worked!  I am using bin32-wine-suse.  The trick is to install the right lib32 packages for your video card, explained here: http://wiki.archlinux.org/index.php/Usi … _on_Arch64

Offline

Board footer

Powered by FluxBB