Rocksmith, Rocksmith 2014 and Rocksmith 2014 remastered are music video games by Ubisoft.
It is the best guitar training software I found but it is not natively available on Linux.
So far you will need virtualization or a compatibility layer like Wine or Proton (see protondb) to run it.
And even then you might run into various issues.
It would be nice being able just to install and run it via winepak (i.e. flatpak install winepak com.ubisoft.rocksmith2014
) but so far there's no pak available.
You also might be interested in that petition on change.org to support Rocksmith on Linux natively.
Proton is working for some people but still needs various fixes.
So this repository is basically an attempt to bring an easier 🎸 Rocksmith experience to 🐧 Linux. Simply pulling and running a proper prebuild Docker image would be nice solution.
- I did not get it working. I'm running Rocksmith 2014 within a "real" Windows machine now (dual boot — and it has bugs even there). I guess the repository could be finished but currently I'm not seeing what is missing.
- This repository is basically a merge of @PedrioliLab's and @scottyhardy's repositories plus some tweaks and hints I found somewhere else. I think I linked all of them, so this might also help if you are struggeling with Rocksmith 2014 remastered on Wine in general.
You can build the image with docker build -t rocksmith .
(or just use ./build.sh
).
Afterwards might want to run ./run.sh setup /usr/bin/winecfg
first, to check whether audio is working in the audio tab and to install wine gecko and wine mono.
Afterwards you might want to install or run Rocksmith by pointing wine to the executable of the mounted installer volume:
$ ./run.sh '/usr/bin/wine /home/user/rocksmith/Rocksmith2014.exe'
You can workaround the problem by disabling d3d11
.
winecfg
➡️ Libraries
➡️ [New override for library:
] d3d11
➡️ Add
➡️ Edit...
➡️ Disable
And you might want to use the ./ini_generator.sh
(from playonlinux) to edit or generate Rocksmith.ini
.
I had to lower the resolution even on "Windows" to have it working without stuttering although I'm running it with more than enough resources and a peroper graphic card. So this would obviously most probably be necessary on Linux machines, too.
Call pavucontrol
and disable Rocksmith Guitar Adapter
in the Configuration
tab.
You can check this with:
$ pactl list sources | grep -i 'Rocksmith'
If this command returns nothing it is successfully disabled. Otherwise you might check with pacmd
as well.
If this is not working you might want to switch to ALSA instead of Pulseaudio:
$ ./run.sh winetricks settings sound=alsa
If this isn't working either, you should switch back with
$ ./run.sh winetricks settings sound=pulse
If you see something like
No audio output device is detected. Please connect and enable an audio output device then restart Rocksmith 2014.
You may want to try a solution from this Wiki page. Good luck!
Seems to be related to external monitors.
Try using just one monitor or run wine virtual desktop emulation in Graphics tab of winecfg
.
You might want to follow one of those:
or DidYouKillMyFather's guide from reddit:
- Open a terminal
- Enter
WINEPREFIX=~/.steam/steam/steamapps/compatdata/221680/pfx winetricks sound=alsa
and press[Enter]
- Enter
WINEPREFIX=~/.steam/steam/steamapps/compatdata/221680/pfx winecfg
and press[Enter]
* If either of these fail, runsudo apt install wine-development winetricks
to install WINE and winetricks- Go to Drives, select
Z:
, and set it to~/.steam
in the Path box- Click
OK
- If the game does not pick up your guitar, run
apt install pavucontrol
(assuming you're on Ubuntu or Mint)That should do it for you. If it doesn't, do the following:
- From the above step 4, change Z: to
~/.local/share/Steam
- Run
echo "default-fragments = 5" | sudo tee -a /etc/pulse/daemon.conf
andecho "default-fragment-size-msec = 2" | sudo tee -a /etc/pulse/daemon.conf
- In Steam, right-click Rocksmith and then enter Properties. From there go Set Launch Options and enter
PROTON_NO_D3D11=1 %command%
- Click
OK
and then close the Properties windowIf you have any further problems you may be SoL for now. I'll decode what all this gibberish is a little later.
Explanations:
WINE can have different prefixes, which is like different Windows installations with tweaks to get specific applications running. By default you have a
~/.wine
folder. I'm not sure how far along you are in your Linux journey, but~
means "Home Directory" and points you towards/home/$USER/
(you can see this by opening a terminal and enteringecho $USER
andecho $HOME
). This is the defaultWINEPREFIX
, but every Proton game as a folder (.../pfx
) which is it's ownWINEPREFIX
and has whatever tweaks it needs to be able to run, provided it's on the whitelist.In other words, in that command
WINEPREFIX=~/.steam/steam/steamapps/compatdata/221680/pfx winecfg
you're telling WINE that you want its "root" to be~/.steam/steam/steamapps/compatdata/221680/pfx
and then runwinecfg
within that root. Same thing for thewinetricks
command.The
Z:
drive is just a "fake" drive that follows the Windows naming scheme (A:
-Z:
, as opposed to the near infinitesd_
/hd_
/vd_
/xd_
format that Linux has). You're setting this drive to look in your Steam's data folder, where Rocksmith will be able to see it. Some distributions use~/.steam
but most of them use~/.local/share/Steam
. Sometimes people will make a symbolic link between the two, especially if they distrohop a lot.
pavucontrol
is a program that makes PulseAudio a lot easier to use. It's almost like a mixing board that allows for finer control over all of your sound devices.
tee
is a program that redirects whatever you entered into a specified file. You can do this with redirects too (echo "test" > example.txt
) but it's easier to usetee
when you need superuser permissions.tee -a
appends to the file, so you don't overwrite previous information. (EXAMPLE:echo "Hi" | tee example.txt
echo "Hi again" | tee -a example.txt
)
If you have the Rocksmith USB cable anyway, you also might want to have a look at guitarix, rakarrack (recent patches on GitHub), Ardour and Hydrogen.
-
Well, making it work in the first place. 😉
-
maybe integrating other tweaks mentioned on WineHQ
- Use
winealsa.drv
instead ofpulseaudio
(edit the registry for that) - recommend using
2.7-staging
and turning on Enable_CSMT and EAX SetWin32UltraLowLatencyMode=0
inRocksmith.ini
- setting
ExclusiveMode=0
inRocksmith.ini
? - Important: You need to open Pulse audio volume control (
pavucontrol
) and in the configuration tab disable Rocksmith guitar adapter so the guitar cable gets connected. - Change
load-module module-udev-detect
toload-module module-udev-detect tsched=0
in/etc/pulse/default.pa
- https://bugs.winehq.org/show_bug.cgi?id=35224
- https://lutris.net/games/install/3319/view
- Use
-
Open Wine configuration, Audio tab, and instead of system default set your current audio output as your output device
-
https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Glitches.2C_skips_or_crackling
-
Open Wine configuration, Audio tab, and instead of system default set your current audio output as your output device