Gentoo Forums
Gentoo Forums
Quick Search: in
SOLVED: Starcraft, Wine - HOWTO full-screen?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
achallenger1
n00b
n00b


Joined: 23 Jun 2005
Posts: 7

PostPosted: Sat Jul 02, 2005 1:26 am    Post subject: SOLVED: Starcraft, Wine - HOWTO full-screen? Reply with quote

I've installed Wine in the hopes of getting Starcraft running on Linux. So far, it's up and running, and works fine as long as I add the appropriate commands in ~/.wine/config to run it in a 640x480 window. I'd really like to run Starcraft full-screen, though.

Back in Red Hat 9, when I did "wine StarCraft.exe", it would automagically load Starcraft, switch to 640x480x8 resolution, and work perfectly (never tried network games, but otherwise...). In Gentoo (2005.0, I think; a new download/install), Starcraft dies with a DirectX error when it tries to switch to 640x480.

I'm running Linux x86_64 (I followed Wine compile instructions from this forum somewhere because the official ebuild dies on x86_64; could that have broken something?). I'm using the NVidia proprietary drivers, if it matters.

I've seen some scripts on this forum for launching a new X instance at the right resolution; this isn't exactly what I want, but I've tried it anyway. It only works if I set up a 640x480x8 X server, and then the colors look horrendous.

Is there a way to get this to work cleanly?

Here are my Wine and X config files, if that helps: (is there any other relevant info?)

Code:
$ cat ~/.wine/config | grep -vG "^;"
WINE REGISTRY Version 2


[wine]

# [wineconf]

[Version]
"Windows" = "winxp"

[DllOverrides]
"oleaut32"     = "builtin, native"
"ole32"        = "builtin, native"
"comdlg32"     = "builtin, native"
"shell32"      = "builtin, native"
"shfolder"     = "builtin, native"
"shlwapi"      = "builtin, native"
"shdocvw"      = "builtin, native"
"advapi32"     = "builtin, native"
"msvcrt"       = "native, builtin"
"mciavi.drv"   = "native, builtin"
"mcianim.drv"  = "native, builtin"
"d3drm"        = "native, builtin"
"d3dxof"       = "native, builtin"
"dpnhpast"     = "native, builtin"
"*" = "builtin, native"

[x11drv]
"AllocSystemColors" = "256"
"PrivateColorMap" = "Y"
"PerfectGraphics" = "N"
"Managed" = "Y"
"UseDGA" = "Y"
"UseXVidMode" = "Y"
"UseXRandR" = "Y"
"UseTakeFocus" = "Y"
"UsePrimarySelection" = "N"
"DXGrab" = "Y"
"DesktopDoubleBuffered" = "Y"

[fonts]
"Default" = "-adobe-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-adobe-times-"
"DefaultSansSerif" = "-adobe-helvetica-"


[FontDirs]

[ppdev]

[spooler]
"FILE:" = "tmp.ps"
"LPT1:" = "|lpr"
"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"
"LPT3:" = "/dev/lp3"

[ports]

[Debug]

[afmdirs]
"1" = "/usr/share/ghostscript/fonts"
"2" = "/usr/share/a2ps/afm"
"3" = "/usr/share/enscript"
"4" = "/usr/X11R6/lib/X11/fonts/Type1"

[WinMM]

"Drivers" = "winealsa.drv"    ; for ALSA users
"WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv"

[dsound]

[Network]



[AppDefaults\\_INS0432._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS0466._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS0576._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS5176._MP\\x11drv]
"Desktop" = "640x480"

[AppDefaults\\_INS5576._MP\\x11drv]
"Desktop" = "800x600"



# [/wineconf]


Code:
$ cat /etc/X11/xorg.conf | grep -vG "^#" | grep -vG "^        #"
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        RgbPath      "/usr/lib64/X11/rgb"
        ModulePath   "/usr/lib64/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/CID/"
        FontPath     "/usr/share/fonts/75dpi/"
        FontPath     "/usr/share/fonts/100dpi/"
EndSection

Section "Module"
        Load  "glx"
        Load  "record"
        Load  "extmod"
        Load  "dbe"
        Load  "xtrap"
        Load  "freetype"
        Load  "type1"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "ExplorerPS/2"
        Option      "Device" "/dev/input/mice"
        Option  "Buttons" "7"
        Option  "ZAxisMapping" "6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        Option     "HWcursor" "true"            # [<bool>]
        Option     "ConnectedMonitors" "CRT-0, CRT-1"   # <str>
        Option     "RenderAccel" "true"         # [<bool>]
        Option     "CursorShadow" "true"        # [<bool>]

        Option     "TwinView"


        Option     "MetaModes"   "CRT-0: 1024x768 +1280+256, CRT-1: 1280x1024 +0+0; CRT-1: 1280x1024; CRT-1: 1024x768; CRT-1: 800x600; CRT-1: 640x480"

        Option     "AllowGLXWithComposite" "true"       # [<bool>]
        Identifier  "Card0"
        Driver      "nvidia"
        VendorName  "nVidia Corporation"
        BoardName   "Unknown Board"
        Option  "NoLogo" "true"
        BusID       "PCI:5:0:0"
        Option "VideoRam" "131072"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport   0 0
                Depth 8
                Modes "640x480"
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes   "2304x1024" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection


Last edited by achallenger1 on Wed Jul 06, 2005 6:33 pm; edited 1 time in total
Back to top
View user's profile Send private message
achallenger1
n00b
n00b


Joined: 23 Jun 2005
Posts: 7

PostPosted: Wed Jul 06, 2005 6:24 pm    Post subject: Reply with quote

I seem to have solved the problem. Here's what I did:

I first emerged all of the emul-linux-x86-* packages:

Code:

emerge emul-linux-x86-baselibs
emerge emul-linux-x86-compat
emerge emul-linux-x86-glibc
emerge emul-linux-x86-gtklibs
emerge emul-linux-x86-qtlibs
emerge emul-linux-x86-sdl
emerge emul-linux-x86-soundlibs
emerge emul-linux-x86-xlibs


(I skipped emul-linux-x86-nvidia because it was masked; I believe it's built in to the current Nvidia package)

I had emerged several of the above before, but apparently new versions were available (?); all packages re-downloaded.

After this, I removed symlinks "/usr/lib/libXext.a", "/usr/lib/libXext.so", and "/usr/lib/libX11.so", and re-created them, targeting them at the corresponding files in "/emul/linux/x86/usr/lib/". I'm sure this will break some package or other, but it hasn't caused any problems yet, so...

After that, wine worked as expected; Starcraft went full-screen nicely, and at a quick glance it appears to work well.

EDIT: Apparently, /usr/lib is a symlink to /usr/lib64, not /usr/lib32 like on other distros... In any case, X refused to start the next time I rebooted the system. I'm not sure if the above changes caused the problem; I've undone all of them (and re-emerged Xorg and the Nvidia drivers, which I use), and the problem's still there. The problem appears to be somewhere in the Nvidia drivers; the Nv X driver still works fine. So, don't try the above unless you're really sure it won't break X!!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum