forum

Solution: Running osu! In Ubuntu or Xubuntu

posted
Total Posts
943
show more
rurigk
I share .desktop file launcher and my icon

[Desktop Entry]
Name=Osu
Exec=env WINEPREFIX="/home/USER/.wine" wine '/home/USER/.wine/drive_c/users/USER/Local Settings/Application Data/osu!/osu!.exe'
Type=Application
StartupNotify=true
Path=/home/USER/.wine/dosdevices/c:/users/USER/Local Settings/Application Data/osu!
Icon=/home/USER/.wine/drive_c/users/USER/Local Settings/Application Data/osu!/osu.png

You need replace USER with you use name and place the icon on
/home/USER/.wine/drive_c/users/USER/Local Settings/Application Data/osu!/osu.png


Icon -> https://drive.google.com/uc?id=0B9F3bh2B9tmTUXBWcHFrQ2UycFk
RavenWithSwords
Hi!

I installed osu! on my Linux laptop, but whenever I click Solo, or a new map, or when I fail or pass, it shows a pure white screen that only changes when I move the mouse (only for Solo), or whenever I click again or press escape. Any solution?

EDIT: Disabled shader, and it works now. Sorry for taking up thread space, but if anyone else has this problem this is the solution.
SatoXYN
People who complaining of audio delay, please use my osulauncher script in ArchLinux AUR package:
https://aur.archlinux.org/packages/osu/
You can use this script on any Linux OS. It installs osu! into dedicated wineprefix and configures PulseAudio and DirectSound audio latency.

Also, read my old post on how to drastically decrease audio delay in Linux:
p/1400208
RavenWithSwords
Hi!

I made this quick little script to install osu! on Ubuntu 12.04, with i686 arch. Should still work for different Ubuntu versions, and maybe difference arches.

add-apt-repository ppa:ubuntu-wine/ppa -y
apt-get update
apt-get install wine1.7 -y
WINEARCH=win32 winecfg
winetricks dotnet20
wget http://m1.ppy.sh/r/osu\!install.exe
mkdir ~/.wine/drive_c/Program\ Files/osu\! && mv osu\!install.exe ~/.wine/drive_c/Program\ Files/osu\! && wine ~/.wine/drive_c/Program\ Files/osu\!/osu\!install.exe
echo "alias osu='wine ~/.drive_c/Program\ Files/osu\!/osu\!.exe'" >> ~/.bash_aliases
. ~/.bash_aliases
ln -s ~/.wine/drive_c/Program\ Files/osu\!/osu\!.exe ~/Desktop/
osu

Just copy and paste this into a .bash file, such as osuDownloader.bash, and then run ". osuDownloader.bash".

After that, I would recommend disabling Shader in the settings.
Also, once at a terminal, just type "osu" and it'll launch :D
SatoXYN
ThePhantom_PCMR, absolutely all sudo calls in your script are unnecessary and harmful. Better to remove them.
RavenWithSwords

SatoXYN wrote:

ThePhantom_PCMR, absolutely all sudo calls in your script are unnecessary and harmful. Better to remove them.
Alright, thanks. Editing it now.
Espionage724
Here is a script I put together that installs osu! on Ubuntu (easy to adapt elsewhere), creates the launcher shortcut, and does this in possibly the cleanest manner possible with very little user input (only need to enter sudoer password for PPA add and packages). The script has comments to let you know what something does, and is verbose while being ran.

The script source can be found here:
https://gitlab.com/Espionage724/Linux/b ... pts/osu.sh

The script can be ran with any of the commands below (first method recommended):
wget 'https://gitlab.com/Espionage724/Linux/raw/master/Scripts/osu.sh' -O ~/'osu.sh' && chmod +x ~/'osu.sh' && ~/'osu.sh'
bash <(curl -s https://gitlab.com/Espionage724/Linux/raw/master/Scripts/osu.sh)
curl -L https://gitlab.com/Espionage724/Linux/raw/master/Scripts/osu.sh | bash

- The script installs wine-staging from the official Ubuntu PPA
- It uses dotnet40 and gdiplus (needed for cjk fonts)
- Installs osu! in an isolated 32-bit Wine prefix
- Uses the officially-included osu! icon (it is automatically created after the second start of osu!)
- .osz (and I assume skin formats and any other archives for osu!) also just-work (can open downloaded beatmaps from Firefox and open with osu! as-expected)
- CJK fonts don't work; if someone has a solution to this, please share it (corefonts, takao, fakejapanese, and cjkfonts from winetricks didn't help) (fixed)

If there's any issues or any known improvements that can be made to it, please report them!
Espionage724
Could someone try installing osu! with only dotnet40 and cjkfonts (in a 32-bit prefix and no manual dll overrides)? It would appear that gdiplus (and its huge 500+MB download size) isn't a requirement for cjkfonts. A quick way to test if CJK fonts work is to go to the select language drop-down in Options (if you see CJK characters, it works; if boxes, then it doesn't work).

My script currently does this for anyone who also wants to try it out that way.
m42a

Espionage724 wrote:

Could someone try installing osu! with only dotnet40 and cjkfonts (in a 32-bit prefix and no manual dll overrides)?
I tried this, and it shows some but not all CJK characters (and inconsistently). For example, when looking at https://osu.ppy.sh/s/198034 the source field (which contains the characters 東方) show up as blocks if and only if I prefer English metadata. When I enable "Prefer metadata in original language" the source filed is perfectly readable.

Even better, if I edit the beatmap title or source to include a hiragana character, the 東方 starts showing up correctly. So I suspect it's something about wine's default font selection algorithm that is not recognizing that certain characters aren't available in certain fonts.
surepy
hmm. tried on my ubuntu LTS 14.04
it wont go over 20 fps on ANY GPU for some odd reasons.

oh and

rrismawan wrote:

Just want to report :D

Worked on :
Ubuntu 12.04 to 14.04.1 = with wine 1.7
Linux Mint
OS X
Debian


tested :v

Kali LInux error with wine 1.4.1


error logs :

Unhandled exception: 0xe0434f4d in 32-bit code (0x7b83b581).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7b83b581 ESP:0033e3b0 EBP:0033e414 EFLAGS:00000293( - -- I S -A- -C)
EAX:7b827b45 EBX:7b8a5ff4 ECX:00000000 EDX:00000004
ESI:0033e44c EDI:0012f780
Stack dump:
0x0033e3b0: 0033e44c 00000004 0033e3c4 e0434f4d
0x0033e3c0: 00000001 00000000 7b83b581 00000001
0x0033e3d0: 8007007e 0033e44c 003a2010 02000038
0x0033e3e0: 0033e3f0 79e80024 0033e3f8 02000038
0x0033e3f0: 0033e3fc 79e80687 03370714 0033e40c
0x0033e400: 79eda76f 0381fa7c 0000012f 7b83b539
Backtrace:
=>0 0x7b83b581 in kernel32 (+0x2b581) (0x0033e414)
1 0x79eda91c in mscorwks (+0x6a91b) (0x0033e474)
2 0x79f39e44 in mscorwks (+0xc9e43) (0x0033e4ac)
3 0x7a0d14b5 in mscorwks (+0x2614b4) (0x0033e50c)
4 0x79064076 in mscorjit (+0x4075) (0x0033e528)
5 0x79066918 in mscorjit (+0x6917) (0x0033eb20)
6 0x790643a1 in mscorjit (+0x43a0) (0x0033eb98)
7 0x790644d6 in mscorjit (+0x44d5) (0x0033ebb0)
8 0x7906465c in mscorjit (+0x465b) (0x0033ebcc)
9 0x79065b8e in mscorjit (+0x5b8d) (0x0033ec18)
10 0x79065d33 in mscorjit (+0x5d32) (0x0033eca0)
11 0x79066448 in mscorjit (+0x6447) (0x0033ecc4)
12 0x79fc7198 in mscorwks (+0x157197) (0x0033ed30)
13 0x79fc722d in mscorwks (+0x15722c) (0x0033ed74)
14 0x79fc72a0 in mscorwks (+0x15729f) (0x0033edc8)
15 0x79fc7019 in mscorwks (+0x157018) (0x0033f170)
16 0x79fc6ddb in mscorwks (+0x156dda) (0x0033f214)
17 0x79e811a3 in mscorwks (+0x111a2) (0x0033f26c)
18 0x79e81363 in mscorwks (+0x11362) (0x0033f2bc)
19 0x00a4a1be (0x0033f2d4)
20 0x038729ed (0x0033f310)
21 0x79e71b4c in mscorwks (+0x1b4b) (0x0033f320)
22 0x79e821b1 in mscorwks (+0x121b0) (0x0033f3a0)
23 0x79e96501 in mscorwks (+0x26500) (0x0033f4e4)
24 0x79e96534 in mscorwks (+0x26533) (0x0033f500)
25 0x79e96552 in mscorwks (+0x26551) (0x0033f518)
26 0x79eefa45 in mscorwks (+0x7fa44) (0x0033f67c)
27 0x79eef965 in mscorwks (+0x7f964) (0x0033f8e4)
28 0x79eefeb5 in mscorwks (+0x7feb4) (0x0033fdb4)
29 0x79ef009f in mscorwks (+0x8009e) (0x0033fe04)
30 0x79eeffcf in mscorwks (+0x7ffce) (0x0033fe4c)
31 0x603b55ab in mscoreei (+0x55aa) (0x0033fe58)
32 0x79007f16 in mscoree (+0x7f15) (0x0033fe68)
33 0x79004de3 in mscoree (+0x4de2) (0x0033fe88)
34 0x7b85c70f in kernel32 (+0x4c70e) (0x0033fec8)
35 0x7bc75750 call_thread_func_wrapper+0xb() in ntdll (0x0033fed8)
36 0x7bc7852d call_thread_func+0x7c() in ntdll (0x0033ffa8)
37 0x7bc7572e RtlRaiseException+0x21() in ntdll (0x0033ffc8)
38 0x7bc4ce1e call_dll_entry_point+0x4fd() in ntdll (0x0033ffe8)
39 0xf75a153d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
40 0xf75a15fb wine_switch_to_stack+0x2a() in libwine.so.1 (0xffa24218)
41 0x7bc52868 LdrInitializeThunk+0x3b7() in ntdll (0xffa24288)
42 0x7b862910 __wine_kernel_init+0xbbf() in kernel32 (0xffa25398)
43 0x7bc52ee3 __wine_process_init+0x182() in ntdll (0xffa25418)
44 0xf759f1c2 wine_init+0x2a1() in libwine.so.1 (0xffa25478)
45 0x7bf00ecb main+0x8a(argc=0x2, argv=0xffa25974) [/build/buildd-wine_1.4.1-4-i386-NgOHCo/wine-1.4.1/build32/loader/../../loader/main.c:230] in <wine-loader> (0xffa258c8)
46 0xf7444e16 __libc_start_main+0xe5() in libc.so.6 (0xffa25948)
0x7b83b581: movl 0xfffffffc(%ebp),%ebx
Modules:
Module Address Debug info Name (93 modules)
PE 400000- 71a000 Deferred osu!
PE 45d0000- 45d6000 Deferred x3daudio1_1
PE 5e3a0000-5e42d000 Deferred diasymreader
PE 603b0000-60417000 Export mscoreei
PE 637a0000-63998000 Deferred system.xml
PE 64020000-64033000 Deferred mscorsec
PE 78130000-781cb000 Deferred msvcr80
PE 79000000-7904a000 Export mscoree
PE 79060000-790bb000 Export mscorjit
PE 790c0000-79518000 Deferred mscorlib
PE 79e70000-7a400000 Export mscorwks
PE 7a440000-7a744000 Deferred system
PE 7ade0000-7ae7c000 Deferred system.drawing
PE 7afd0000-7b49e000 Deferred system.windows.forms
ELF 7b800000-7ba3a000 Dwarf kernel32<elf>
\-PE 7b810000-7ba3a000 \ kernel32
ELF 7bc00000-7bcd4000 Dwarf ntdll<elf>
\-PE 7bc10000-7bcd4000 \ ntdll
ELF 7bf00000-7bf04000 Dwarf <wine-loader>
PE 7c4c0000-7c53d000 Deferred msvcm80
ELF 7debd000-7ded1000 Deferred msimg32<elf>
\-PE 7dec0000-7ded1000 \ msimg32
ELF 7ded1000-7defb000 Deferred msacm32<elf>
\-PE 7dee0000-7defb000 \ msacm32
ELF 7defb000-7dfac000 Deferred winmm<elf>
\-PE 7df00000-7dfac000 \ winmm
ELF 7dfac000-7dff5000 Deferred dsound<elf>
\-PE 7dfb0000-7dff5000 \ dsound
ELF 7dff5000-7e21c000 Deferred shell32<elf>
\-PE 7e000000-7e21c000 \ shell32
ELF 7e21c000-7e29c000 Deferred rpcrt4<elf>
\-PE 7e230000-7e29c000 \ rpcrt4
ELF 7e29c000-7e3c6000 Deferred ole32<elf>
\-PE 7e2b0000-7e3c6000 \ ole32
ELF 7e3c6000-7e408000 Deferred rsaenh<elf>
\-PE 7e3d0000-7e408000 \ rsaenh
ELF 7e408000-7e422000 Deferred imagehlp<elf>
\-PE 7e410000-7e422000 \ imagehlp
ELF 7e45b000-7e491000 Deferred uxtheme<elf>
\-PE 7e460000-7e491000 \ uxtheme
ELF 7e491000-7e593000 Deferred comctl32<elf>
\-PE 7e4a0000-7e593000 \ comctl32
ELF 7e593000-7e65a000 Deferred crypt32<elf>
\-PE 7e5a0000-7e65a000 \ crypt32
ELF 7e65a000-7e690000 Deferred wintrust<elf>
\-PE 7e660000-7e690000 \ wintrust
ELF 7e690000-7e72e000 Deferred msvcrt<elf>
\-PE 7e6b0000-7e72e000 \ msvcrt
ELF 7e72e000-7e734000 Deferred libxfixes.so.3
ELF 7e734000-7e73e000 Deferred libxcursor.so.1
ELF 7e773000-7e79b000 Deferred libexpat.so.1
ELF 7e79b000-7e7d1000 Deferred libfontconfig.so.1
ELF 7e7d1000-7e7e0000 Deferred libxi.so.6
ELF 7e7e0000-7e7e3000 Deferred libxcomposite.so.1
ELF 7e7e3000-7e7eb000 Deferred libxrandr.so.2
ELF 7e7eb000-7e7f5000 Deferred libxrender.so.1
ELF 7e7f5000-7e7fb000 Deferred libxxf86vm.so.1
ELF 7e7fb000-7e7fe000 Deferred libxinerama.so.1
ELF 7e7fe000-7e822000 Deferred imm32<elf>
\-PE 7e800000-7e822000 \ imm32
ELF 7e822000-7e828000 Deferred libxdmcp.so.6
ELF 7e828000-7e82b000 Deferred libxau.so.6
ELF 7e82b000-7e84e000 Deferred libxcb.so.1
ELF 7e84e000-7e854000 Deferred libuuid.so.1
ELF 7e854000-7e98c000 Deferred libx11.so.6
ELF 7e98c000-7e99e000 Deferred libxext.so.6
ELF 7e99e000-7e9b7000 Deferred libice.so.6
ELF 7e9b7000-7e9bf000 Deferred libsm.so.6
ELF 7e9bf000-7ea5b000 Deferred winex11<elf>
\-PE 7e9d0000-7ea5b000 \ winex11
ELF 7ea5b000-7ea74000 Deferred libz.so.1
ELF 7ea74000-7eb10000 Deferred libfreetype.so.6
ELF 7eb2b000-7ebf8000 Deferred gdi32<elf>
\-PE 7eb40000-7ebf8000 \ gdi32
ELF 7ebf8000-7ed4c000 Deferred user32<elf>
\-PE 7ec10000-7ed4c000 \ user32
ELF 7ed4c000-7edc0000 Deferred shlwapi<elf>
\-PE 7ed60000-7edc0000 \ shlwapi
ELF 7edc0000-7ee2c000 Deferred advapi32<elf>
\-PE 7edd0000-7ee2c000 \ advapi32
ELF 7ee2c000-7ee38000 Deferred libnss_files.so.2
ELF 7ee38000-7ee43000 Deferred libnss_nis.so.2
ELF 7ee43000-7ee5a000 Deferred libnsl.so.1
ELF 7ee5a000-7ee62000 Deferred libnss_compat.so.2
ELF 7efbf000-7efe5000 Deferred libm.so.6
ELF 7efe6000-7f000000 Deferred version<elf>
\-PE 7eff0000-7f000000 \ version
ELF f742a000-f742e000 Deferred libdl.so.2
ELF f742e000-f757e000 Dwarf libc.so.6
ELF f757f000-f7598000 Deferred libpthread.so.0
ELF f7598000-f76db000 Dwarf libwine.so.1
ELF f76f8000-f7716000 Deferred ld-linux.so.2
ELF f7718000-f7719000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
00000008 osu!.exe
0000002b 2
0000002a 0
00000009 0
0000000e services.exe
00000028 0
00000027 0
00000020 0
00000010 0
0000000f 0
00000014 explorer.exe
00000015 0
0000001d winedevice.exe
00000025 0
00000022 0
0000001f 0
0000001e 0
00000023 plugplay.exe
00000029 0
00000026 0
00000024 0
00000038 (D) C:\Program Files\osu!\osu!.exe
0000003b 2
0000003a 0
00000039 0 <==
System information:
Wine build: wine-1.4.1
Platform: i386
Host system: Linux
Host version: 3.18.0-kali1-amd64
kali is for penetration testing and ethical hacking; so i suggest you don't bother with it..
TicClick
For Debian (stretch/sid, x64), I had to install allfonts with winetricks before successfully installing osu!; until that, the installer was unable to find Sans Serif font:
Call stack, in case anyone is interested
Unhandled Exception: System.ArgumentException: Font '?' cannot be found.
at System.Drawing.FontFamily.GetGdipGenericSansSerif()
at System.Drawing.FontFamily.get_GenericSansSerif()
at System.Drawing.SystemFonts.get_DefaultFont()
at System.Windows.Forms.Control.get_DefaultFont()
at System.Windows.Forms.Control.GetDefaultFontHandleWrapper()
at System.Windows.Forms.Control.get_FontHandle()
at System.Windows.Forms.ContainerControl.GetFontAutoScaleDimensions()
at System.Windows.Forms.ContainerControl.get_CurrentAutoScaleDimensions()
at System.Windows.Forms.ContainerControl.get_AutoScaleFactor()
at System.Windows.Forms.ContainerControl.PerformAutoScale(Boolean includedBounds, Boolean excludedBounds)
at System.Windows.Forms.ContainerControl.PerformNeededAutoScaleOnLayout()
at System.Windows.Forms.ContainerControl.OnLayout(LayoutEventArgs e)
at System.Windows.Forms.Control.PerformLayout(LayoutEventArgs args)
at System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.PerformLayout(IArrangedElement affectedElement, String affectedProperty)
at System.Windows.Forms.ContainerControl.LayoutScalingNeeded()
at System.Windows.Forms.ContainerControl.set_AutoScaleMode(AutoScaleMode value)
at #=qFqELZI4CNHUjKlISqNlqnX2uMei3zPMx8jZ8zLeeBj7Q4x$6KNxWT7M01WdMEh3I..ctor()
at #=qW0tN4ySVT$vmZGnYMncrziuJEtrqKKZPkNtuPZbZmPs=.#=qqFbgVCJT2zxMLRtGCN6VTlroKzNIL3fbyrFSNeSEUw0=()
at #=qW0tN4ySVT$vmZGnYMncrziuJEtrqKKZPkNtuPZbZmPs=..ctor(#=qFEAs5fL7G2eW0XiiKIbOqpMBS0Ah06vQIIelyZcp9_Wd1a4l$n0bUzJBo0EVjKGb #=qG1zuvPrqcHV0WNmt7xC1gvqnBeQl6c5qEFb7wQBQl7g=)
at #=qMJg8u$Xqvw7tXT54izDz5A==.#=qr$P1Dil8E5VEwL$EgqLKZw==()
at #=qeBiB6WYAto2Ihrie8aLoHI0y8Y6oGCnwGtCLe3embDM=.#=qPU2vGuvD17IDXy0rwjzALg==()

Other than that, everything went smoothly!
Ketchup901
What Wine libraries should you install to make the audio work?
AGRX
Can someone please help me ? Does anyone know what are dependencies needed to run cutting edge on wine? im trying to make wine build for mac. thanks
Espionage724
I don't suppose anyone here happens to know how to fix the transparency around the osu! logo (the black square) when you start the game? It seems to happen on any DE (Plasma 5, Xfce, Unity, GNOME) with or without compositing (on Xfce and Plasma 5).

apt-get

Espionage724 wrote:

I don't suppose anyone here happens to know how to fix the transparency around the osu! logo (the black square) when you start the game? It seems to happen on any DE (Plasma 5, Xfce, Unity, GNOME) with or without compositing (on Xfce and Plasma 5).

I'm getting this too. Either the logo isn't transparent (or wine doesn't support the logo format's transparency), or wine doesn't apply the logo transparency.

Wine is supposed to support windows transparency since 1.6, too. (https://www.winehq.org/announce/1.6)
Espionage724

apt-get wrote:

I'm getting this too. Either the logo isn't transparent (or wine doesn't support the logo format's transparency), or wine doesn't apply the logo transparency.

Wine is supposed to support windows transparency since 1.6, too. (https://www.winehq.org/announce/1.6)
Guild Wars 2's launcher uses transparency as well (all the area around the main rectangle) and looks to be fine, but to be fair, I'm sure both are using totally different methods. I'm wondering how osu! is handling the transparency and if it could be improved somehow.



On another note, I updated my script for installing osu!; it now sandboxes the prefix and locks the cursor to the window when fullscreen. Pretty sure I didn't miss anything, but if anyone could test it out, that'd be great :)

It only works as-is on Ubuntu (other distros may need to modify the top part of the script and to make sure wine and aria2c are installed; if other distros just ignore commands it can't run and continue executing later commands, then the script may not require any editing).

Can run the script with the following command (it's all one line):
wget 'https://gitlab.com/Espionage724/Linux/raw/master/Scripts/osu.sh' -O ~/'osu.sh' && chmod +x ~/'osu.sh' && ~/'osu.sh'

For anyone who didn't see the first post I made about it; the script above should install Wine (and aria2c), handle the creation of a Wine Prefix for osu!, dependencies (dotnet40, cjkfonts), create a desktop launcher, and install osu! with very little input needed and as lightweight as possible. Works out-the-box on Ubuntu, and can work on other distros with very minor editing.

Alternatively,I have my install doc here for osu! I use on my machines.
EZ2ACTux
Thought I would share my experience about how I got osu going on my particular rig. Might help some of you.

Please note that you may be prompted to change a value in a file called ptrace_scope.
Even if not prompted I recommend you change the value in the file from 1 to 0 as playonlinux complains if it is set to 1 (note that this change is temporary so if you need to restart your computer at any point during the install remember to reset this)

To edit this file just type:
sudo gedit /proc/sys/kernel/yama/ptrace_scope

(If not running GNOME then substitute gedit with your prefered text editor)

So I used playonlinux, a special automator for setting up windows games. There IS an osu script on there but I found it didn't work.

So anyway I opened playonlinux and added a game. Now in the add a game menu there should be an option for manually adding a game not listed, select that.

Name the drive whatever you want but MAKE SURE IT IS SETUP AS 32 BIT. THIS IS IMPORTANT

A menu should pop up, select the checkbox for: Use different wine version and Install some libraries

For the wine version select version 1.9.1.

For libraries to install you need to select

Dotnet4.0

Only select to install .NET 4.0, DO NOT SELECT 4.5 AS THIS MIGHT BREAK THINGS (We will come back and deal with the rest later)

When given the option to select a program to install do so. Browse to the osu installer (The new installer not the old installer) and select it. Click next and the program should install.

Now playonlinux most likely WILL complain and say something has gone wrong. Ignore this and wait until the install is finished.
Once finished osu SHOULD start. Once it starts, exit it and then select CANCEL in the playonlinux window (which should still be displaying some sort of error about the install failing)

Now click the configure button and you should see your virtual drive in there, select it.

Hop over to the install components tab and install these libraries in this order:
Dotnet30
Dotnet30sp1
Dotnet35
Dotnet35sp1
Dotnet40
Dotnet45
gdiplus

Now the installer will be a bit weird as each time you install a version of .NET it will "install" previous versions. I don't know if it is actually installing them or if it is just checking to see if they are there but it doesn't cause any problems.

Once you have finished installing those libraries go back to the general tab and select "Make a new shortcut from this virtual drive" then select osu.exe in the window that pops up.

That's it! You should be all set and ready to go! Note that while these steps worked for me they might not work for you but if they do please let me know. Enjoy!
Espionage724

tux wrote:

...
Please note that you may be prompted to change a value in a file called ptrace_scope.
Even if not prompted I recommend you change the value in the file from 1 to 0 as playonlinux complains if it is set to 1 (note that this change is temporary so if you need to restart your computer at any point during the install remember to reset this)

To edit this file just type:
sudo gedit /proc/sys/kernel/yama/ptrace_scope
(If not running GNOME then substitute gedit with your prefered text editor)

...
Hop over to the install components tab and install these libraries in this order:
Dotnet30
Dotnet30sp1
Dotnet35
Dotnet35sp1
Dotnet40
Dotnet45
gdiplus
Why do you install all those dotnet packages? I've checked a few times in the past, and as of maybe a month ago, only dotnet40 was needed to get osu! up and running (the dotnet40 package only installs that one package and nothing before it).

As for ptrace_scope, you ideally don't want that to remain at 0 after closing osu! for security purposes (it basically lets apps talk to each other; you don't want some malicious script to run from Firefox and then just casually log other apps). That may only apply to PlayOnLinux though, as I don't recall having to do that for years with regular Wine.

Running gedit with sudo is also a slight no-no. It can cause some weird permission issues when you try to go back to using gedit as the normal user. pkexec is a better option, but I'm not entirely certain if it works out-the-box with gedit or not (I know it didn't back on Ubuntu 15.10, but not sure about Ubuntu GNOME).
EZ2ACTux

Espionage724 wrote:

tux wrote:

...
Please note that you may be prompted to change a value in a file called ptrace_scope.
Even if not prompted I recommend you change the value in the file from 1 to 0 as playonlinux complains if it is set to 1 (note that this change is temporary so if you need to restart your computer at any point during the install remember to reset this)
To edit this file just type:
sudo gedit /proc/sys/kernel/yama/ptrace_scope

(If not running GNOME then substitute gedit with your prefered text editor)
...
Hop over to the install components tab and install these libraries in this order:
Dotnet30
Dotnet30sp1
Dotnet35
Dotnet35sp1
Dotnet40
Dotnet45
gdiplus

Why do you install all those dotnet packages? I've checked a few times in the past, and as of maybe a month ago, only dotnet40 was needed to get osu! up and running (the dotnet40 package only installs that one package and nothing before it).
As for ptrace_scope, you ideally don't want that to remain at 0 after closing osu! for security purposes (it basically lets apps talk to each other; you don't want some malicious script to run from Firefox and then just casually log other apps). That may only apply to PlayOnLinux though, as I don't recall having to do that for years with regular Wine.
Running gedit with sudo is also a slight no-no. It can cause some weird permission issues when you try to go back to using gedit as the normal user. pkexec is a better option, but I'm not entirely certain if it works out-the-box with gedit or not (I know it didn't back on Ubuntu 15.10, but not sure about Ubuntu GNOME).


Ptrade_scope is changed back to 1 after the computer is rebooted. It is only required to install .NET. To actually start and play osu ptrace_scope does NOT need to be set to 0. The program runs just fine with it set at 1

Only reason I installed all those frameworks was because the info I kept seeing around which frameworks were required was patchy. In the end I just thought it better to install all those frameworks to just be sure. Plus when I selected .NET 4.0 to install playonlinux insisted on installing the previous .NET's along with it. I dunno why but it just did.

As for gedit, I've run into no issues with permissions while using that coupled with the sudo command. In fact I've never even heard of that happening before.

I was only posting what I found worked for me when it came to getting the game up and running under linux. It isn't an end all solution and any suggestions on things to change would be appreciated
HitCoder
http://pastebin.com/HHFn4Ji1 Wine crashes :/
I'll mess with winecfg for a bit and update if fixed by tomorrow.
Chaosemerald
I installed osu! by following a guide on winehq.org (I installed dotnet40 instead of dotnet45 btw)
Everything went well and the game worked, until I closed the game and tried to run osu!.exe from the prefix directory. Now it won't start the game.

I'm using Xubuntu 14.04.04 LTS and Wine-Staging 1.9.11
I can run Touhou without any problems, so I don't know why Wine won't run osu! :(

Edit: Nevermind, I got it working by running it with Terminal. I'm such a noob :?
HitCoder
I cannot run Osu!, friends are wondering where I am. When I first installed it it would run fine, then it stopped. I fixed it but the next day it broke again and now the install won't work. I posted the wine error log, here's the link to the pastebin again http://pastebin.com/HHFn4Ji1
And here's my terminal log:

err:ole:CoGetContextToken apartment not initialised
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:nls:GetUserPreferredUILanguages stub: 0 0x33cf38 (nil) 0x33cf34
fixme:nls:GetThreadPreferredUILanguages 00000000, 0x33cf38, (nil) 0x33cf34
fixme:nls:get_dummy_preferred_ui_language (0x0 0x33cf38 (nil) 0x33cf34) returning a dummy value (current locale)
fixme:nls:GetUserPreferredUILanguages stub: 0 0x33cf38 0x150250 0x33cf34
fixme:nls:GetThreadPreferredUILanguages 00000000, 0x33cf38, 0x150250 0x33cf34
fixme:nls:get_dummy_preferred_ui_language (0x0 0x33cf38 0x150250 0x33cf34) returning a dummy value (current locale)
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting"
fixme:ntdll:EtwRegisterTraceGuidsW (0xda0792, (nil), {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 1, 0x33e07c, (null), (null), 0x110d06c): stub
fixme:ntdll:EtwRegisterTraceGuidsW register trace class {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}
fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting.resources"
fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"
fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.Core"
fixme:shell:URL_ParseUrl failed to parse L"System.Web"
fixme:shell:URL_ParseUrl failed to parse L"osu!.resources"
fixme:shell:URL_ParseUrl failed to parse L"osu!.resources"
fixme:shell:URL_ParseUrl failed to parse L"zx_f74ba05ddf784a57a2801daa7c127ffb"
fixme:process:SetProcessPriorityBoost (0x2ec,0): stub
fixme:shell:URL_ParseUrl failed to parse L"OpenTK"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"Accessibility"
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:crypt:SystemFunction041 (0x190e34, 10, 0): stub [RtlDecryptMemory]
fixme:shell:URL_ParseUrl failed to parse L"System.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.resources"
fixme:ole:CoGetApartmentType (0xf39e108, 0xf39e104): semi-stub
fixme:ole:CoGetApartmentType (0xf49e088, 0xf49e084): semi-stub
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
fixme:thread:NtQueryInformationThread info class 16 not supported yet
And from here and onwards it keeps repeating "fixme:thread:NtQueryInformationThread info class 16 not supported yet", PLEASE help me!! :(

I'm running Manjaro 64bit 16.06 if that helps, the distro was only released this month.
JSE

apt-get wrote:

Espionage724 wrote:

I don't suppose anyone here happens to know how to fix the transparency around the osu! logo (the black square) when you start the game? It seems to happen on any DE (Plasma 5, Xfce, Unity, GNOME) with or without compositing (on Xfce and Plasma 5).

I'm getting this too. Either the logo isn't transparent (or wine doesn't support the logo format's transparency), or wine doesn't apply the logo transparency.

Wine is supposed to support windows transparency since 1.6, too. (https://www.winehq.org/announce/1.6)
Just something to note FWIW I have seen this on standard Windows XP as well so it's not just a wine issue but probably with the runtime used. While I've never run osu! in wine and I don't know your configuration, I take it to get osu! to run you are using wine as Windows XP mode with the XP version of .net which is the default (at least it was last I used wine which has been well over a year now lol), which is probably the limitation. While it's probably not recommended and even more likely to not work whatsoever, has anyone tried running Wine in Windows 7 mode to see if it fixes this?

HitCoder wrote:

I cannot run Osu!, friends are wondering where I am. When I first installed it it would run fine, then it stopped. I fixed it but the next day it broke again and now the install won't work. I posted the wine error log, here's the link to the pastebin again http://pastebin.com/HHFn4Ji1
Have you attempted to install other stuff into this prefix?
HitCoder

jsebean wrote:

Have you attempted to install other stuff into this prefix?
I actually recreated the prefix multiple times and with multiple installs of WINE but to no avail. I've installed Linux Mint now though and it works fine.
HitCoder
My Osu! on Linux Mint 17.3 can't connect to bancho wtf
Sh0wer
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory


why? :?
Chaosemerald

Sh0wer wrote:

rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory


why? :?
It's because there is an exclamation mark in osu!. You need to put the word in double quotation marks (e.g. drive_c/Program Files/"osu!") ^^

I thought osume was dead for a long time.. which guide are you following?
141592653
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory


why? :?
Well you've forgotten a space between mkdir and '.wine...'
Chaosemerald

141592653 wrote:

rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory
rika@rika-X201EV:~$ mkdir'.wine/drive_c/Program Files/osu!' && mv osume.exe '.wine/drive_c/Program Files/osu!' && cd'.wine/drive_c/Program Files/osu!' && wine osume.exe
bash: mkdir.wine/drive_c/Program Files/osu!: No such file or directory


why? :?
Well you've forgotten a space between mkdir and '.wine...'
Oh yeah, that too..
mmstick
Interesting how there is still no effort to produce a native solution for Linux. At this point, we may as well create a Snap or Flatpak-wrapped wine-wrapped copy of the game so that no one has to be bothered with ensuring that they have the right system libraries and associated wine configurations.
Chaosemerald

mmstick wrote:

Interesting how there is still no effort to produce a native solution for Linux. At this point, we may as well create a Snap or Flatpak-wrapped wine-wrapped copy of the game so that no one has to be bothered with ensuring that they have the right system libraries and associated wine configurations.
It seems like the development team doesn't care about the Linux users, because osu! is available on everything but Linux, which just sounds a bit odd. Everytime someone suggested a native port for Linux, Peppy just told them "to use a real operating system".
as if Windows is better than Linux
AGRX
Patience, Peppy is rewriting and cleaning up his old code since 2007 and working on osu!next. Its only reasonable to work on cross platform when all this is done.
NoYzE
You either write with cross platform in mind, or you don't.

The main problem i see here (maybe i'm wrong) is .NET, since the game depends on libraries of .NET and .NET is a framework of Microsoft so they make sure you are caught on the platform once you start write code for it, you can't change it to cross platform easily.

There is some effort in porting .NET to cross-platform called Mono, but it is somewhat behind and probably will never port some important libraries like Windows Presentation Foundation (WPF).
Also some of the devs were bought (xamarin) to develop .NET Core, a Open Source .NET rebuild from Microsoft with fewer element tailored to the needs of the cloud.

All in all it's pretty complicated with all the framework stuff and corporate interests.
If you want cross platform, you better stay away from closed source proprietary frameworks owned by a company thats very interested in keeping you locked in the ecosystem.

However i really wonder why there is a MacOs X port of the game, if it isn't heavily wrapped in wine, the assumption above may be wrong and peppy just don't want to support linux for whatever reason.
vKarl

NoYzE wrote:

You either write with cross platform in mind, or you don't.

The main problem i see here (maybe i'm wrong) is .NET, since the game depends on libraries of .NET and .NET is a framework of Microsoft so they make sure you are caught on the platform once you start write code for it, you can't change it to cross platform easily.

There is some effort in porting .NET to cross-platform called Mono, but it is somewhat behind and probably will never port some important libraries like Windows Presentation Foundation (WPF).
Also some of the devs were bought (xamarin) to develop .NET Core, a Open Source .NET rebuild from Microsoft with fewer element tailored to the needs of the cloud.

All in all it's pretty complicated with all the framework stuff and corporate interests.
If you want cross platform, you better stay away from closed source proprietary frameworks owned by a company thats very interested in keeping you locked in the ecosystem.

However i really wonder why there is a MacOs X port of the game, if it isn't heavily wrapped in wine, the assumption above may be wrong and peppy just don't want to support linux for whatever reason.
Well WINE works nicely. The game works very well if you use the playonlinux script:)

But unless peppy decides "Hey, I want to support a bit more of the community, I'll develop with cross-platform in mind and write the engine with OpenGL and Vulkan" it's probably not going to happen. :(os
Kitlith
For those who are having trouble getting osu! to run with the looping 'Information Class 16 not implemented" or such, there are two things I would try: Try installing winbind `apt-get install winbind`, first, and then if that doesn't work, `wineserver -k`, `wineserver -k9`, or `killall wineserver` *might* help.

Thank you, people, though, for making this guide. My tips are from playing osu, thn osu not working without changing anything, and then doing those things... though in opposite order. So, I hope this helps someone.
marshallracer
For those who haven't noticed (due to it not being stickied yet), there's a NEW THREAD on how to tun osu! latency-free on Linux

May the new Thread be stickied instead of this one?
Espionage724
I have some new notes on getting osu! to run here: https://wiki.realmofespionage.xyz/games:wine:osu

I've only tested it on Solus, but I see no reason why it wouldn't work fine on any other mainstream distro. This provides a plain install of osu! with no additional tweaking (in my experience, I've had no latency issues on the computers I've used). CJK fonts are untested (if they're broken, winetricks cjkfonts should fix that)

dotnet40 is still the only dotnet package needed (I'm still a bit curious why dotnet45 is being used by some people; does it actually solve anything?)
Jesper
I wonder if linux kali works.
Chaosemerald

Espionage724 wrote:

I have some new notes on getting osu! to run here: https://wiki.realmofespionage.xyz/games:wine:osu

I've only tested it on Solus, but I see no reason why it wouldn't work fine on any other mainstream distro. This provides a plain install of osu! with no additional tweaking (in my experience, I've had no latency issues on the computers I've used). CJK fonts are untested (if they're broken, winetricks cjkfonts should fix that)

dotnet40 is still the only dotnet package needed (I'm still a bit curious why dotnet45 is being used by some people; does it actually solve anything?)
That's awesome! I'll definitely try it sometime on Ubuntu 16.04 when I've got time.

dotnet45 is a total pain in the arse to install (and I think it's harmful too..?) and osu! works fine with dotnet40. I don't understand why people would install dotnet45, when dotnet40 is much more easier to install
Espionage724

Chaosemerald wrote:

That's awesome! I'll definitely try it sometime on Ubuntu 16.04 when I've got time.

dotnet45 is a total pain in the arse to install (and I think it's harmful too..?) and osu! works fine with dotnet40. I don't understand why people would install dotnet45, when dotnet40 is much more easier to install
Not entirely sure if it's harmful, but I'm pretty sure it has the potential for more problems if anything. I'm not aware of anything that dotnet45 and its massive dependency set would solve that isn't provided solely with dotnet40.

Notes updated also; I keep forgetting osu! doesn't start the install on Ubuntu if it happens to be in the Downloads folder (seems to work regardless on other distros strangely). corefonts is also added (it fixes most non-Latin fonts).
show more
Please sign in to reply.

New reply