-> HowTo: DAoC client under Linux (e.g. Ubuntu)

Forum for general DAoC Portal discussion.

Moderator: Support Team

-> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby Metty » Thu Feb 12, 2009 8:27 pm

So, you have decided to try out this shiny new Ubuntu thingy and want to play some DAoC?

Getting DAoC to run under Linux is quite easy now-a-days:

1.) Installing Wine and Mono
Assuming you are using Ubuntu, just do it the easy way: Go on "System" -> "Adminstration" -> "Synaptic Package Manager", and click.
Then look for "wine", rightlick -> Mark for Installation.
Do the same for "mono-2.0-runtime", and install these packages by clicking on "Apply".

2.) Downloading DAoC
If you already got some version of DAoC from your windows partition, you can skip this step. But I would recommened to copy your DAoC Directory from your NTFS to your linux partition.

Otherwise you can probably download the DAoC Setup like the windows one, and run it with the Wine Command. Just go on "Accessories" -> "Terminal", CD to the directory where you saved the installer by doing e.g. "cd Downloads/", and then type in "wine <NameOfTheInstaller.exe>".

3.) Setting up DAoC Portal
DAoC Portal is still in a very unstable developement state under Unix systems, but still should run good enough for basic usage. Download the DAoC Portal setup, and run it again like the commandline you used to start the DAoC Installer. (You may also connect .exe directly to Wine and Mono apps!)

NOTE: I recommend you to install DAoC Portal directly in the DAoC directory you'll be using, as it will be much less painful. Sometimes the dolloader won't work when run from a different directory

After installing DAoC Portal, open up another terminal (Accessories -> Terminal), and CD to your daoc directory (cd ~/games/DAoC e.g.).
Then type in "mono Portal.exe". If you did everything right, a daoc portal window/config dialog should open up. As GameDir just enter a dot "." - If you did everything correctly, you should see some of your client details in the bottom right corner. Close the dialogue.

4.) Setting up the wine settings
Before running DAoC, you have to change some Wine-Settings. Open the wine configuration by either typing "winecfg" in your terminal, or by clicking on Applications -> Wine -> Configure Wine.

Add "game.dll" as an application; select it and switch to the graphics tab. Disable "Allow Pixelshader" here, or your daoc will probably crash after the loading screen.

5.) Connecting...
Go back to your daoc portal client, and look if the serverlist has loaded. If yes, try to select the appropriate server (you may have to use your arrow keys, the list control is quite bugged); or enter the IP under the custom server tab. Then just enter your account name, and password, and press Enter (or click on the play button). DAoC should load up.

Notes
These steps just worked for me, so they may not work for you - Just test it. If you have anything to note, just post it.
Metty
DOL Enthusiast
 
Posts: 284
Joined: Sat Jan 28, 2006 3:39 pm

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby sorkas » Fri May 04, 2012 10:26 pm

Hi,

Thanks for that post.
Everything was ok until i had to launch Portal.exe via mono.
When I run it,a window opensvery quick andI managed to screen it :
Image

Wine seems to be fine, since I ran camelot.exe and it updated correctly.

Thanks for helping me running daoc portal.
sorkas
DOL Visitor
 
Posts: 5
Joined: Fri May 04, 2012 10:17 pm

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby Metty » Sun May 06, 2012 7:58 pm

This seems to be cause by some internal mono bug or similar. You can either try updating to a newer mono version, or you can use the plain Connect.exe which can be found in the DAoC Portal folder. "mono Connect.exe" should display you the command line syntax to launch DAoC -- just add the proper ip, port, account, ... to connect to a server.
Metty
DOL Enthusiast
 
Posts: 284
Joined: Sat Jan 28, 2006 3:39 pm

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby sorkas » Sun May 06, 2012 10:42 pm

Thanks, a lot.

I managed to run "mono Connect.exe" and it gave me the correct command canvas.
I encountered some problems and I leave here the steps I went through in case some of you had the same issues.

I had a "Memory read error in child process" :
Image

I solved it with this command, to allow Wine to use ptrace :
Code: Select all
sudo setcap cap_sys_ptrace+ep /usr/bin/wineserver
But I'm stuck again and could not go further.
I think I'm really close to it now, But, it seems there is another technical problem with Wine :/
Image

EDIT :
I didn't notice terminal gave me this after I closed the error window :
Code: Select all
rominou@robuntu:~/.wine/drive_c/Electronic Arts/Dark Age of Camelot$ Unhandled exception: unimplemented function wined3d.dll.wined3d_create called in 32-bit code (0x7bc49f20).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7bc49f20 ESP:0033f620 EBP:0033f684 EFLAGS:00000202( - -- I - - - )
EAX:7ddb6bb0 EBX:7bca6ff4 ECX:00110064 EDX:00000000
ESI:0033f62c EDI:00941998
Stack dump:
0x0033f620: 7bc45196 00000030 00145430 80000100
0x0033f630: 00000001 00000000 7bc49f20 00000002
0x0033f640: 7ddb83a5 7ddb6bb0 0000000c 001105f0
0x0033f650: 001105f0 7bc35061 00000000 00000000
0x0033f660: 00000000 00110000 0033f6a8 0033f6a8
0x0033f670: 000001bc 7e62c2a0 00145438 7ddb5ff4
000c: sel=0067 base=00000000 limit=00000000 16-bit --x
Backtrace:
=>0 0x7bc49f20 call_dll_entry_point+0x5f0() in ntdll (0x0033f684)
1 0x003408f7 (0x0033f6c0)
2 0x0065e522 in game (+0x25e521) (0x0033f794)
3 0x00451145 in game (+0x51144) (0x0033f7c0)
4 0x00452770 in game (+0x5276f) (0x0033fbec)
5 0x00453028 in game (+0x53027) (0x0033fd48)
6 0x0077ceb7 in game (+0x37ceb6) (0x0033fe70)
7 0x7b859cdc call_process_entry+0xb() in kernel32 (0x0033fe88)
8 0x7b85af4f in kernel32 (+0x4af4e) (0x0033fec8)
9 0x7bc71da0 call_thread_func_wrapper+0xb() in ntdll (0x0033fed8)
10 0x7bc7485d call_thread_func+0x7c() in ntdll (0x0033ffa8)
11 0x7bc71d7e RtlRaiseException+0x21() in ntdll (0x0033ffc8)
12 0x7bc49f4e call_dll_entry_point+0x61d() in ntdll (0x0033ffe8)
0x7bc49f20 call_dll_entry_point+0x5f0 in ntdll: subl $4,%esp
Modules:
Module Address Debug info Name (87 modules)
PE 400000- 242b000 Export game
PE 10000000-100a4000 Deferred libxml2
PE 21100000-21164000 Deferred mss32
ELF 7b800000-7ba15000 Dwarf kernel32<elf>
\-PE 7b810000-7ba15000 \ kernel32
ELF 7bc00000-7bcc3000 Dwarf ntdll<elf>
\-PE 7bc10000-7bcc3000 \ ntdll
ELF 7bf00000-7bf04000 Deferred <wine-loader>
ELF 7dd80000-7ddb9000 Deferred d3d9<elf>
\-PE 7dd90000-7ddb9000 \ d3d9
ELF 7ddb9000-7ddcd000 Deferred psapi<elf>
\-PE 7ddc0000-7ddcd000 \ psapi
ELF 7dde3000-7de17000 Deferred uxtheme<elf>
\-PE 7ddf0000-7de17000 \ uxtheme
ELF 7de17000-7de1d000 Deferred libxfixes.so.3
ELF 7de1d000-7de28000 Deferred libxcursor.so.1
ELF 7deca000-7def4000 Deferred libexpat.so.1
ELF 7def4000-7df28000 Deferred libfontconfig.so.1
ELF 7df28000-7df38000 Deferred libxi.so.6
ELF 7df38000-7df3c000 Deferred libxcomposite.so.1
ELF 7df3c000-7df45000 Deferred libxrandr.so.2
ELF 7df45000-7df4f000 Deferred libxrender.so.1
ELF 7df4f000-7df55000 Deferred libxxf86vm.so.1
ELF 7df55000-7df5c000 Deferred libxdmcp.so.6
ELF 7df5c000-7df7d000 Deferred libxcb.so.1
ELF 7df7d000-7df83000 Deferred libuuid.so.1
ELF 7df83000-7df9d000 Deferred libice.so.6
ELF 7df9d000-7e0d1000 Deferred libx11.so.6
ELF 7e0d1000-7e0e3000 Deferred libxext.so.6
ELF 7e0e3000-7e0ec000 Deferred libsm.so.6
ELF 7e0ec000-7e17f000 Deferred winex11<elf>
\-PE 7e100000-7e17f000 \ winex11
ELF 7e17f000-7e195000 Deferred libz.so.1
ELF 7e195000-7e22f000 Deferred libfreetype.so.6
ELF 7e24d000-7e45e000 Deferred shell32<elf>
\-PE 7e260000-7e45e000 \ shell32
ELF 7e45e000-7e472000 Deferred shfolder<elf>
\-PE 7e460000-7e472000 \ shfolder
ELF 7e472000-7e4dc000 Deferred shlwapi<elf>
\-PE 7e480000-7e4dc000 \ shlwapi
ELF 7e4dc000-7e4fe000 Deferred imm32<elf>
\-PE 7e4e0000-7e4fe000 \ imm32
ELF 7e4fe000-7e62e000 Deferred wined3d<elf>
\-PE 7e510000-7e62e000 \ wined3d
ELF 7e62e000-7e696000 Deferred ddraw<elf>
\-PE 7e640000-7e696000 \ ddraw
ELF 7e696000-7e6be000 Deferred msacm32<elf>
\-PE 7e6a0000-7e6be000 \ msacm32
ELF 7e6be000-7e733000 Deferred rpcrt4<elf>
\-PE 7e6d0000-7e733000 \ rpcrt4
ELF 7e733000-7e83b000 Deferred ole32<elf>
\-PE 7e750000-7e83b000 \ ole32
ELF 7e83b000-7e8e8000 Deferred winmm<elf>
\-PE 7e840000-7e8e8000 \ winmm
ELF 7e8e8000-7e901000 Deferred version<elf>
\-PE 7e8f0000-7e901000 \ version
ELF 7e901000-7e9be000 Deferred gdi32<elf>
\-PE 7e910000-7e9be000 \ gdi32
ELF 7e9be000-7eafe000 Deferred user32<elf>
\-PE 7e9d0000-7eafe000 \ user32
ELF 7eafe000-7ebf6000 Deferred comctl32<elf>
\-PE 7eb10000-7ebf6000 \ comctl32
ELF 7ebf6000-7ec39000 Deferred dinput<elf>
\-PE 7ec00000-7ec39000 \ dinput
ELF 7ec39000-7ecc6000 Deferred msvcrt<elf>
\-PE 7ec50000-7ecc6000 \ msvcrt
ELF 7ecc6000-7ed26000 Deferred advapi32<elf>
\-PE 7ecd0000-7ed26000 \ advapi32
ELF 7ed26000-7ed48000 Deferred iphlpapi<elf>
\-PE 7ed30000-7ed48000 \ iphlpapi
ELF 7ed48000-7ed7a000 Deferred ws2_32<elf>
\-PE 7ed50000-7ed7a000 \ ws2_32
ELF 7ed7a000-7ed87000 Deferred libnss_files.so.2
ELF 7ed87000-7ed93000 Deferred libnss_nis.so.2
ELF 7ed93000-7edad000 Deferred libnsl.so.1
ELF 7edad000-7edb6000 Deferred libnss_compat.so.2
ELF 7efb6000-7efe2000 Deferred libm.so.6
ELF 7efe5000-7f000000 Deferred wsock32<elf>
\-PE 7eff0000-7f000000 \ wsock32
ELF f73f1000-f73f5000 Deferred libxinerama.so.1
ELF f73f6000-f73fb000 Deferred libdl.so.2
ELF f73fb000-f75a0000 Deferred libc.so.6
ELF f75a1000-f75bc000 Deferred libpthread.so.0
ELF f75bc000-f75c0000 Deferred libxau.so.6
ELF f75da000-f771c000 Dwarf libwine.so.1
ELF f771e000-f7740000 Deferred ld-linux.so.2
ELF f7740000-f7741000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
0000001e 0
0000001d 0
00000015 0
00000010 0
0000000f 0
00000012 winedevice.exe
0000001b 0
00000018 0
00000014 0
00000013 0
00000019 plugplay.exe
0000001f 0
0000001c 0
0000001a 0
00000020 explorer.exe
00000021 0
00000022 (D) C:\Electronic Arts\Dark Age of Camelot\game.dll
00000023 0 <==

System information:
Wine build: wine-1.4
Platform: i386 (WOW64)
Host system: Linux
Host version: 3.2.0-24-generic
sorkas
DOL Visitor
 
Posts: 5
Joined: Fri May 04, 2012 10:17 pm

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby svartson » Fri Jan 04, 2013 9:17 pm

4.) Setting up the wine settings
Before running DAoC, you have to change some Wine-Settings. Open the wine configuration by either typing "winecfg" in your terminal, or by clicking on Applications -> Wine -> Configure Wine.

Add "game.dll" as an application; select it and switch to the graphics tab. Disable "Allow Pixelshader" here, or your daoc will probably crash after the loading screen.
I found a solution to this: http://appdb.winehq.org/commentview.php ... adId=58279

You should at least patch the part where it says limits.blends = 4;
Aurora Admin(R.I.P.), Argain GM
User avatar
svartson
DOL Novice
 
Posts: 71
Joined: Fri Aug 15, 2008 7:35 am
Location: RLP, Germany

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby Graveen » Sun Jan 06, 2013 8:21 am

Thank you, an useful tip (and 2013 is the linux year, isn't it ?) ;)
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: -> HowTo: DAoC client under Linux (e.g. Ubuntu)

Postby svartson » Mon Jan 07, 2013 2:01 am

Yeah, i am not able to play without pixelshaders because the graphics are all in black and blue only when i disable them with winetricks. So i am dependent on having them enabled.

I actually still haven't been able to play under linux, I keep getting this error when entering charactermenu or the game directly:
Code: Select all
wine: Unhandled page fault on read access to 0x00000020 at address 0x499f4f (thread 0026), starting debugger... Unhandled exception: page fault on read access to 0x00000020 in 32-bit code (0x00499f4f). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00499f4f ESP:0033ef50 EBP:0033f060 EFLAGS:00210246( R- -- I Z- -P- ) EAX:0033efa0 EBX:02a10ae8 ECX:00000000 EDX:36800000 ESI:00000000 EDI:02276cb0 Stack dump: 0x0033ef50: 0286e200 02969430 02a10ae8 7e581711 0x0033ef60: b5e17748 43088b71 c297ea75 c5aaab67 0x0033ef70: 4319dc31 4153bf5e 41be528f 45afc590 0x0033ef80: bfea2aa1 40a0d77b 41109143 474c01d0 0x0033ef90: be326997 3ef5178b 3f5c4b07 47c342f0 0x0033efa0: 3f7fffff 00000000 b2bdf8a3 36800000 Backtrace: =>0 0x00499f4f in game (+0x99f4f) (0x0033f060) 1 0x006434c2 in game (+0x2434c1) (0x0fcaa6c4) 2 0x00000001 (0x0079aab8) 3 0x00652fb0 in game (+0x252faf) (0x00675390) 4 0xffff2958 (0xe8f18b56) 0x00499f4f: movzwl 0x20(%esi),%eax
OS: Ubuntu 12.04 Precise
HW: Intel Core i7 920 + GeForce EN 9600 GT
Wine: 1.5.20 with pixelshader hardcoded to 4
both on ntfs and ext4 drive
Aurora Admin(R.I.P.), Argain GM
User avatar
svartson
DOL Novice
 
Posts: 71
Joined: Fri Aug 15, 2008 7:35 am
Location: RLP, Germany


Return to “%s” General

Who is online

Users browsing this forum: No registered users and 0 guests