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=alsaIf this isn't working either, you should switch back with
$ ./run.sh winetricks settings sound=pulseIf 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=alsaand press[Enter]- Enter
WINEPREFIX=~/.steam/steam/steamapps/compatdata/221680/pfx winecfgand press[Enter]* If either of these fail, runsudo apt install wine-development winetricksto install WINE and winetricks- Go to Drives, select
Z:, and set it to~/.steamin 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.confandecho "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
OKand 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
~/.winefolder. 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 $USERandecho $HOME). This is the defaultWINEPREFIX, but every Proton game as a folder (.../pfx) which is it's ownWINEPREFIXand 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 winecfgyou're telling WINE that you want its "root" to be~/.steam/steam/steamapps/compatdata/221680/pfxand then runwinecfgwithin that root. Same thing for thewinetrickscommand.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~/.steambut most of them use~/.local/share/Steam. Sometimes people will make a symbolic link between the two, especially if they distrohop a lot.
pavucontrolis 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.
teeis 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 useteewhen you need superuser permissions.tee -aappends to the file, so you don't overwrite previous information. (EXAMPLE:echo "Hi" | tee example.txtecho "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.drvinstead ofpulseaudio(edit the registry for that) - recommend using
2.7-stagingand turning on Enable_CSMT and EAX SetWin32UltraLowLatencyMode=0inRocksmith.ini - setting
ExclusiveMode=0inRocksmith.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-detecttoload-module module-udev-detect tsched=0in/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