The forum

[Script] Rocksmith 2014 (Steam)

Author Replies
plata Saturday 7 May 2016 at 15:11
plata

The script installs Rocksmith 2014 for Steam.

Icons:

Rocksmith2014-48x48.png

https://ibin.co/2gKpCeKVhB7x.png

Rocksmith2014-22x22.png

https://ibin.co/2gKpPRzK5TfN.png

left.png

https://ibin.co/2gKpcsMT5FMv.png

top.png

https://ibin.co/2gKplcN7XweH.png

 

Problems:

  • Feels like it does not run 100% smoothly. Maybe setting DirectDrawRenderer to OpenGL helps a little.

 

#!/bin/bash
# Date : (2016-05-07 ??-??)
# Last revision : (2016-09-20 18-00)
# Wine version used : 1.9.19
# Distribution used to test : Kubuntu 16.04 x64
# Author : plata
 
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
 
TITLE="Rocksmith 2014 (Steam)"
PREFIX="Rocksmith_2014"
WORKING_WINE_VERSION="1.9.19"
EDITOR="Ubisoft"
GAME_URL="http://rocksmith.ubi.com/rocksmith/en-US/home/index.aspx"
AUTHOR="plata"
STEAM_APPID=221680
 
# start the script
POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.jpg" "http://files.playonlinux.com/resources/setups/$PREFIX/left.jpg" "$TITLE"
POL_SetupWindow_Init
POL_Debug_Init
 
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"

# set prefix path
POL_Wine_SelectPrefix "$PREFIX"

# download wine if necessary and create prefix
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

# use Windows XP (only for Steam, will add Windows 7 for Rocksmith2014.exe later)
Set_OS "winxp"

# make sure that audio works
Set_SoundDriver "alsa"

# install dependencies
POL_Call POL_Install_steam
 
# begin game installation
cd "$WINEPREFIX/drive_c/$PROGRAMFILES/Steam"
POL_Wine "steam.exe" steam://install/$STEAM_APPID
POL_SetupWindow_message "$(eval_gettext 'When $TITLE download by Steam is finished,\nDo NOT click on Play.\n\nClose COMPLETELY the Steam interface, \nso that the installation script can continue.')" "$TITLE"
POL_Wine_WaitExit "$TITLE"

# fix Rocksmith.ini
read width height <<<$(xrandr | fgrep '*' | egrep -o '[0-9]+x[0-9]+' | egrep -o '[0-9]+')
cd "$WINEPREFIX/drive_c/Program Files/Steam/steamapps/common/Rocksmith2014"
if [ -f Rocksmith.ini ]; then
    #if Rocksmith.ini exists, fix it
    # set Win32UltraLowLatencyMode=0 to make sure cable is detected
    sed -i 's/^\(Win32UltraLowLatencyMode=\).*/\10/' Rocksmith.ini
    # set ExclusiveMode=0 to make sure cable is detected
    sed -i 's/^\(ExclusiveMode=\).*/\10/' Rocksmith.ini
    # set display resolution
    sed -i "s/^\(ScreenWidth=\).*/\1$width/" Rocksmith.ini
    sed -i "s/^\(ScreenHeight=\).*/\1$height/" Rocksmith.ini
else
    # if Rocksmith.ini does not exist, create new one
    echo "[Audio]" > Rocksmith.ini
    echo "EnableMicrophone=1" >> Rocksmith.ini
    echo "ExclusiveMode=0" >> Rocksmith.ini
    echo "LatencyBuffer=4" >> Rocksmith.ini
    echo "ForceDefaultPlaybackDevice=" >> Rocksmith.ini
    echo "ForceWDM=0" >> Rocksmith.ini
    echo "ForceDirectXSink=0" >> Rocksmith.ini
    echo "Win32UltraLowLatencyMode=0" >> Rocksmith.ini
    echo "DumpAudioLog=0" >> Rocksmith.ini
    echo "MaxOutputBufferSize=0" >> Rocksmith.ini
    echo "[Renderer.Win32]" >> Rocksmith.ini
    echo "ShowGamepadUI=0" >> Rocksmith.ini
    echo "ScreenWidth=$width" >> Rocksmith.ini
    echo "ScreenHeight=$height" >> Rocksmith.ini
    echo "Fullscreen=2" >> Rocksmith.ini
    echo "VisualQuality=1" >> Rocksmith.ini
    echo "RenderingWidth=0" >> Rocksmith.ini
    echo "RenderingHeight=0" >> Rocksmith.ini
    echo "EnablePostEffects=1" >> Rocksmith.ini
    echo "EnableShadows=1" >> Rocksmith.ini
    echo "EnableHighResScope=1" >> Rocksmith.ini
    echo "EnableDepthOfField=1" >> Rocksmith.ini
    echo "EnablePerPixelLighting=1" >> Rocksmith.ini
    echo "MsaaSamples=4" >> Rocksmith.ini
    echo "DisableBrowser=0" >> Rocksmith.ini
    echo "[Net]" >> Rocksmith.ini
    echo "UseProxy=1" >> Rocksmith.ini
fi

# run Rocksmith2014.exe as Windows 7
cd "$WINEPREFIX"
echo "[HKEY_CURRENT_USER\Software\Wine\AppDefaults\Rocksmith2014.exe]" > windows_version.reg
echo "\"Version\"=\"win7\"" >> windows_version.reg
POL_Wine regedit windows_version.reg
 
# create shortcut
POL_Shortcut "steam.exe" "$TITLE" "" "steam://rungameid/$STEAM_APPID"
 
POL_SetupWindow_Close
exit 0

 

Edited by plata

MTres19 Wednesday 18 May 2016 at 0:16
MTres19Anonymous

I'm not sure what you mean by cable. However, the script otherwise looks good. I'd suggest removing the Set_SoundDriver "alsa", though, unless it's necessary. I'm pretty sure Wine would fall back to it if PulseAudio wasn't available, and (I think) most distributions have PulseAudio these days anyway.

plata Wednesday 18 May 2016 at 17:35
plata

Rocksmith requires a cable which is used to connect your guitar to your PC (via USB). You need the "alsa" sound because the cable is not working properly.

Check it out on WineHQ: https://appdb.winehq.org/objectManager.php?sClass=version&iId=29333

MTres19 Thursday 19 May 2016 at 21:58
MTres19Anonymous

Okay, that's fine, as long as there's a reason for it. (Though doesn't PulseAudio route ALSA output through PulseAudio anyway? Or is this just for audio input?) Anyway, as long as it works, I'd go ahead and contribute it.

hunterzocker Monday 19 September 2016 at 8:27
hunterzockerAnonymous

The script worked flawless for me (Ubuntu 16.04, x64) as i changed the Rocksmith.ini file. I had to set both "ExclusiveMode" and "Win32UltraLowLatencyMode" to "0". Otherwise the Cable would not be detected.

(Source: https://www.youtube.com/watch?v=hB6FwBX9BIU)

For PulseAudio you just have to turn the Rocksmith Guitar Adapter off, no need for Jack.

I would suggest to slightly update your script plata, but awesome work anyway, thx a lot!!

 

This is my complete Rocksmith.ini file:

[Audio]
EnableMicrophone=0
ExclusiveMode=0
LatencyBuffer=4
ForceDefaultPlaybackDevice=
ForceWDM=0
ForceDirectXSink=0
Win32UltraLowLatencyMode=0
DumpAudioLog=0
MaxOutputBufferSize=0
[Renderer.Win32]
ShowGamepadUI=0
ScreenWidth=0
ScreenHeight=0
Fullscreen=2
VisualQuality=1
RenderingWidth=0
RenderingHeight=0
EnablePostEffects=1
EnableShadows=1
EnableHighResScope=0
EnableDepthOfField=0
EnablePerPixelLighting=1
MsaaSamples=0
DisableBrowser=1
[Net]
UseProxy=1

Edited by hunterzocker

hunterzocker Monday 19 September 2016 at 14:57
hunterzockerAnonymous

 

The script worked flawless for me (Ubuntu 16.04, x64) as i changed the Rocksmith.ini file. I had to set both "ExclusiveMode" and "Win32UltraLowLatencyMode" to "0". Otherwise the Cable would not be detected.

(Source: https://www.youtube.com/watch?v=hB6FwBX9BIU)

For PulseAudio you just have to turn the Rocksmith Guitar Adapter off, no need for Jack.

I would suggest to slightly update your script plata, but awesome work anyway, thx a lot!!

 

This is my complete Rocksmith.ini file:

[Audio]
EnableMicrophone=0
ExclusiveMode=0
LatencyBuffer=4
ForceDefaultPlaybackDevice=
ForceWDM=0
ForceDirectXSink=0
Win32UltraLowLatencyMode=0
DumpAudioLog=0
MaxOutputBufferSize=0
[Renderer.Win32]
ShowGamepadUI=0
ScreenWidth=0
ScreenHeight=0
Fullscreen=2
VisualQuality=1
RenderingWidth=0
RenderingHeight=0
EnablePostEffects=1
EnableShadows=1
EnableHighResScope=0
EnableDepthOfField=0
EnablePerPixelLighting=1
MsaaSamples=0
DisableBrowser=1
[Net]
UseProxy=1

EDIT: If anyone has a problem with the steamwebhelper.exe muting your application, i would recommend not to start Rocksmith via the shortcut. Instead just open PlayOnLinux, select the "Rocksmith 2014 (Steam)" virtual drive, open up the configuration. Switch to the "Wine" tab. Start the wine configuration and check "Emulate virtual desktop" under the "Graphics" tab. Go back and start Wine via "Command prompt". After that minimize the command prompt window and start Steam via the shortcut from the desktop. Wait for the steamwebhelper.exe error to occur, ignore it and let the window open. Finally start Rocksmith.

plata Monday 19 September 2016 at 20:22
plata

 

 

The script worked flawless for me (Ubuntu 16.04, x64) as i changed the Rocksmith.ini file. I had to set both "ExclusiveMode" and "Win32UltraLowLatencyMode" to "0". Otherwise the Cable would not be detected.

(Source: https://www.youtube.com/watch?v=hB6FwBX9BIU)

For PulseAudio you just have to turn the Rocksmith Guitar Adapter off, no need for Jack.

I would suggest to slightly update your script plata, but awesome work anyway, thx a lot!!

 

This is my complete Rocksmith.ini file:

[Audio]
EnableMicrophone=0
ExclusiveMode=0
LatencyBuffer=4
ForceDefaultPlaybackDevice=
ForceWDM=0
ForceDirectXSink=0
Win32UltraLowLatencyMode=0
DumpAudioLog=0
MaxOutputBufferSize=0
[Renderer.Win32]
ShowGamepadUI=0
ScreenWidth=0
ScreenHeight=0
Fullscreen=2
VisualQuality=1
RenderingWidth=0
RenderingHeight=0
EnablePostEffects=1
EnableShadows=1
EnableHighResScope=0
EnableDepthOfField=0
EnablePerPixelLighting=1
MsaaSamples=0
DisableBrowser=1
[Net]
UseProxy=1

EDIT: If anyone has a problem with the steamwebhelper.exe muting your application, i would recommend not to start Rocksmith via the shortcut. Instead just open PlayOnLinux, select the "Rocksmith 2014 (Steam)" virtual drive, open up the configuration. Switch to the "Wine" tab. Start the wine configuration and check "Emulate virtual desktop" under the "Graphics" tab. Go back and start Wine via "Command prompt". After that minimize the command prompt window and start Steam via the shortcut from the desktop. Wait for the steamwebhelper.exe error to occur, ignore it and let the window open. Finally start Rocksmith.

 

I updated the script. It seems like the Rocksmith.ini is created only after you start for the first time, therefore it was not changed automatically. This should be fixed now. 

 

Would be great if you could try this out hunterzocker.

hunterzocker Friday 7 October 2016 at 10:25
hunterzockerAnonymous

I tried and tested the script, everything is now working fine! Even the steamwebhelper.exe error is gone!

Thank you very much plata!!

 

Mark2016Florida Saturday 17 December 2016 at 15:51
Mark2016FloridaAnonymous

Just wanted to say thank you. I have not tested this out completely but so far so good. I am so happy that I can finally run RockSmith on my Linux computer. I am very new to the Linux world and it took me a couple of days to figure out what this script was for even but, I think I got it now. Thanks!

RattyDAVE Saturday 21 July 2018 at 10:14
RattyDAVEAnonymous

I have this running great on Linux Mint 18.

On Linux Mint 19 this is a disaster. Fails to install and with text in the boxes missing.

So this is a warning to others and also a cry for help.

DAVE

plata Monday 23 July 2018 at 17:30
plata

@RattyDAVE: I didn't test this recently. I would like to encourage you to try the version for Phoenicis PlayOnLinux 5 (the designated successor of PoL4): https://github.com/PhoenicisOrg/phoenicis. Let me know if it works out.

Edited by plata

RattyDAVE Wednesday 25 July 2018 at 14:07
RattyDAVEAnonymous

Currently it failed to build with error. I going to do some research. So Ill get back to this thread when I have answers.

Actions : 

sudo apt-get install maven
mkdir -P ~/build
cd ~/build
git clone https://github.com/PhoenicisOrg/phoenicis.git
cd phoenicis
mvn clean package

 

 

dave@dave-linux:~/build/phoenicis$ mvn clean package
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.phoenicis:phoenicis-win32:jar:5.0-SNAPSHOT
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.phoenicis:phoenicis-configuration:jar -> duplicate declaration of version 5.0-SNAPSHOT @ org.phoenicis:phoenicis-win32:[unknown-version], /home/dave/build/phoenicis/phoenicis-win32/pom.xml, line 61, column 21
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] phoenicis
[INFO] phoenicis-configuration
[INFO] phoenicis-entities
[INFO] phoenicis-multithreading
[INFO] phoenicis-win32
[INFO] phoenicis-tools
[INFO] phoenicis-repository
[INFO] phoenicis-scripts
[INFO] phoenicis-library
[INFO] phoenicis-engines
[INFO] phoenicis-settings
[INFO] phoenicis-containers
[INFO] phoenicis-javafx
[INFO] phoenicis-cli
[INFO] phoenicis-dist
[INFO] phoenicis-tests
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building phoenicis 5.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading from central: https://repo.maven.apache.org/maven2/net/revelc/code/formatter/formatter-maven-plugin/2.7.4/formatter-maven-plugin-2.7.4.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] phoenicis .......................................... FAILURE [  0.364 s]
[INFO] phoenicis-configuration ............................ SKIPPED
[INFO] phoenicis-entities ................................. SKIPPED
[INFO] phoenicis-multithreading ........................... SKIPPED
[INFO] phoenicis-win32 .................................... SKIPPED
[INFO] phoenicis-tools .................................... SKIPPED
[INFO] phoenicis-repository ............................... SKIPPED
[INFO] phoenicis-scripts .................................. SKIPPED
[INFO] phoenicis-library .................................. SKIPPED
[INFO] phoenicis-engines .................................. SKIPPED
[INFO] phoenicis-settings ................................. SKIPPED
[INFO] phoenicis-containers ............................... SKIPPED
[INFO] phoenicis-javafx ................................... SKIPPED
[INFO] phoenicis-cli ...................................... SKIPPED
[INFO] phoenicis-dist ..................................... SKIPPED
[INFO] phoenicis-tests .................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.738 s
[INFO] Finished at: 2018-07-25T13:04:32+01:00
[INFO] Final Memory: 9M/34M
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin net.revelc.code.formatter:formatter-maven-plugin:2.7.4 or one of its dependencies could not be resolved: Failed to read artifact descriptor for net.revelc.code.formatter:formatter-maven-plugin:jar:2.7.4: Could not transfer artifact net.revelc.code.formatter:formatter-maven-plugin:pom:2.7.4 from/to central (https://repo.maven.apache.org/maven2): java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException