These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Linux

 
 

Debian 9 NVIDIA Proprietary + Old AMD rig = Awesome; Nice job dude!

Author
Merkwurkdigliebe
Vigrior
#1 - 2017-07-07 09:57:34 UTC  |  Edited by: Merkwurkdigliebe
Alpha Clones! Cool! A reason to come pester people!

It's been awhile since I played and I gotta say, nice job! Launcher is slick as snot now and the graphics!

I been away 5 years guys wow!

So for your cut and paste enjoyment, a quick dirty deploy stolen from you all so I don't have to go digging next time :):


# My clean install w/ Xfce task, old hardware (GT740/AMD KN8-SLI)
# nvidia.com / dx9 / prebuilt wine

cd ~/
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/375.66/NVIDIA-Linux-386_64-x75.66.run;
wget https://binaries.eveonline.com/evelauncher-11x4891.tar.gz

tar zxf evelauncher-11x4891.tar.gz
cd ~/evelauncher

wget https://binaries.eveonline.com/EveLauncher-11x6237.exe

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install dkms build-essential linux-headers-$(uname -r); # Always
sudo apt-get qt5-default:i386

# Blacklist nouveau
#sudo nano /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

#sudo echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
# reboot to cli

### NVIDIA Proprietary ###
# Fixes:
# debug    "libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so"
# debug    "libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so"
# debug    "ATTENTION: default value of option force_s3tc_enable overridden by environ
# ldconfig -p | grep -i gl.so

service lightdm stop

#oops dont do this tho:
#no: apt-get purge xserver-xorg-video-nouveau
#ok if no: sudo apt-get autoremove

sudo apt-get remove nvidia-*
sudo chmod u+x NVIDIA-Linux-x86_64-375.66.run

./NVIDIA-Linux-x86_64-375.66.run
# sudo nvidia-xconfig # Redundant
# sudo /etc/X11/xorg.conf # Double Redundant

### Winetricks ###
sudo apt-get install winetricks;
winetricks corefonts d3dx9_36 vcrun2005 vcrun2008 vcrun2010 vcrun2013

# winecfg settings list-all

# Don't run eve yet tho
WINEDLLOVERRIDES="*msvcrt,*msvcr100,*msvcr80=b,n" wine "/home/user/evelauncher/EveLauncher-1156237.exe"

# Get old SSL, extract (file only, you could do backports prob)
cd ~/evelauncher
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
dpkg --fsys-tarfile libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb | tar xOf - ./usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 > libssl.so
dpkg --fsys-tarfile libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb | tar xOf - ./usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 > libcrypto.so
rm libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
cp libssl.so ~/; cp libcrypto.so ~/;

### Otherwise, dpkg -i and Roj's script: ###
# We need 1.0.0 from somewhere tho..
# /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 is oldest

nano eveset.sh

#!/bin/bash

CRYPTLIB="/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0"
SSLLIB="/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0"
# Change the paths to wherever you have installed evelauncher
EVECRYPT="/home/user/evelauncher/libcrypt.so"
EVESSL="/home/user/evelauncher/libssl.so"

# Check if libcrypt.so exist in evelauncher directory, if not create it.
if [ ! -f "$EVECRYPT" ] ; then
ln -s "$CRYPTLIB" "$EVECRYPT"
fi

# Check if libssl.so exist in evelauncher directory, if not create it.
if [ ! -f "$EVESSL" ] ; then
ln -s "$SSLLIB" "$EVESSL"
fi

# EOF

chmod a+x eveset.sh
sudo ./eveset.sh

./evelauncher.sh

# .... and update already.. and error... but rerunning it works fine...
# Maybe didnt like there being no Res files yet? Or first login buisness? hmmm....

Good luck!

Normal Errors:

err:mscoree:LoadLibraryShim error reading registry key for installroot

user@host:~/evelauncher$ libpng warning: iCCP: known incorrect sRGB profile
 
QWidget::setLayout: Attempting to set QLayout "" on QWidget "tableParent", which already has a layout
libpng warning: iCCP: known incorrect sRGB profile

Merkwurkdigliebe
Vigrior
#2 - 2017-07-07 10:07:33 UTC
and normal shell warnings :)


[0707/023802:WARNING:resource_bundle.cc(291)] locale_file_path.empty() for locale
Installed Qt WebEngine locales directory not found at location /home/user/evelauncher/translations/qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /home/user/evelauncher/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
[0707/023803:WARNING:resource_bundle.cc(291)] locale_file_path.empty() for locale
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.



So awesome... I'm going to have to completely relearn this game!
Shallanna Yassavi
Imperial Academy
Amarr Empire
#3 - 2017-07-12 02:07:46 UTC
You missed something very important: msttcorefonts.
If you (like I did these past few days) try to run the game without them, the launcher won't work at all. The launcher doesn't even give an error about them being missing. They're so simple and basic, the launcher doesn't check to see if they're there before it tries to use them. But, on a default Debian install, they aren't included. They won't even show up in the package manager until you add contrib to your non-security package repository:

deb [mirror] stretch main contrib non-free

A signature :o

Merkwurkdigliebe
Vigrior
#4 - 2017-07-12 02:53:43 UTC
Which is actually:

https://packages.debian.org/stretch/ttf-mscorefonts-installer

Which you don't need. You just need corefonts in wine. If winetricks slipped in a regular system lib with it when I wasnt looking I can't find it.

That's my complete working config I shared, I reinstalled using it to be sure. From it the following:

~# ldconfig -p | grep font
    libfontenc.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libfontenc.so.1
    libfontconfig.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1
    libfontconfig.so.1 (libc6) => /usr/lib/i386-linux-gnu/libfontconfig.so.1
    libXfont2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libXfont2.so.2
    libXfont.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libXfont.so.1


I do have the fonts-liberation package installed, which would have come with the desktop task.

Merkwurkdigliebe
Vigrior
#5 - 2017-07-12 02:57:45 UTC
That said apparently people are using the 1.0.2 ssl libs fine.. not sure why I was having an issue there.. Edit the script accordingly and you can skip that bit.

o/
Merkwurkdigliebe
Vigrior
#6 - 2017-07-12 23:01:27 UTC
This setup now running the dev wine / DX11 with no issues see #11:

https://forums.eveonline.com/default.aspx?g=posts&m=6993348#post6993348
Ravow
Respawn Disabled
Brute Force Solutions
#7 - 2017-07-25 13:23:01 UTC
Merkwurkdigliebe wrote:
Alpha Clones! Cool! A reason to come pester people!

It's been awhile since I played and I gotta say, nice job! Launcher is slick as snot now and the graphics!

I been away 5 years guys wow!

So for your cut and paste enjoyment, a quick dirty deploy stolen from you all so I don't have to go digging next time :):


# My clean install w/ Xfce task, old hardware (GT740/AMD KN8-SLI)
# nvidia.com / dx9 / prebuilt wine

cd ~/
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/375.66/NVIDIA-Linux-386_64-x75.66.run;
wget https://binaries.eveonline.com/evelauncher-11x4891.tar.gz

tar zxf evelauncher-11x4891.tar.gz
cd ~/evelauncher

wget https://binaries.eveonline.com/EveLauncher-11x6237.exe

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install dkms build-essential linux-headers-$(uname -r); # Always
sudo apt-get qt5-default:i386

# Blacklist nouveau
#sudo nano /etc/modprobe.d/blacklist-nouveau.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

#sudo echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
# reboot to cli

### NVIDIA Proprietary ###
# Fixes:
# debug    "libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so"
# debug    "libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so"
# debug    "ATTENTION: default value of option force_s3tc_enable overridden by environ
# ldconfig -p | grep -i gl.so

service lightdm stop

#oops dont do this tho:
#no: apt-get purge xserver-xorg-video-nouveau
#ok if no: sudo apt-get autoremove

sudo apt-get remove nvidia-*
sudo chmod u+x NVIDIA-Linux-x86_64-375.66.run

./NVIDIA-Linux-x86_64-375.66.run
# sudo nvidia-xconfig # Redundant
# sudo /etc/X11/xorg.conf # Double Redundant

### Winetricks ###
sudo apt-get install winetricks;
winetricks corefonts d3dx9_36 vcrun2005 vcrun2008 vcrun2010 vcrun2013

# winecfg settings list-all

# Don't run eve yet tho
WINEDLLOVERRIDES="*msvcrt,*msvcr100,*msvcr80=b,n" wine "/home/user/evelauncher/EveLauncher-1156237.exe"

# Get old SSL, extract (file only, you could do backports prob)
cd ~/evelauncher
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
dpkg --fsys-tarfile libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb | tar xOf - ./usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 > libssl.so
dpkg --fsys-tarfile libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb | tar xOf - ./usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 > libcrypto.so
rm libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
cp libssl.so ~/; cp libcrypto.so ~/;

### Otherwise, dpkg -i and Roj's script: ###
# We need 1.0.0 from somewhere tho..
# /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 is oldest

nano eveset.sh

#!/bin/bash

CRYPTLIB="/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0"
SSLLIB="/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0"
# Change the paths to wherever you have installed evelauncher
EVECRYPT="/home/user/evelauncher/libcrypt.so"
EVESSL="/home/user/evelauncher/libssl.so"

# Check if libcrypt.so exist in evelauncher directory, if not create it.
if [ ! -f "$EVECRYPT" ] ; then
ln -s "$CRYPTLIB" "$EVECRYPT"
fi

# Check if libssl.so exist in evelauncher directory, if not create it.
if [ ! -f "$EVESSL" ] ; then
ln -s "$SSLLIB" "$EVESSL"
fi

# EOF

chmod a+x eveset.sh
sudo ./eveset.sh

./evelauncher.sh

# .... and update already.. and error... but rerunning it works fine...
# Maybe didnt like there being no Res files yet? Or first login buisness? hmmm....

Good luck!

Normal Errors:

err:mscoree:LoadLibraryShim error reading registry key for installroot

user@host:~/evelauncher$ libpng warning: iCCP: known incorrect sRGB profile
 
QWidget::setLayout: Attempting to set QLayout "" on QWidget "tableParent", which already has a layout
libpng warning: iCCP: known incorrect sRGB profile



Why don't you use nouveau?
Kepler Nvidia card have reclocking support on the OSS stack and perform about the same as the blob except that.. unlike the blob, they do support Gallium Nine (native D3d9) so it allow you to offload the D3D9 to the video card directly instead of converting it to OpenGL by wasting your CPU resources and lowering your frame rate.

Plus a blob-less setup is more friendly to use and update, you don't need to mess with the nvidia drivers each time you change the kernel and xorg plus your not limited to the version you can use.
Merkwurkdigliebe
Vigrior
#8 - 2017-07-26 02:58:56 UTC
In the case of debian the packages for mesa seem to have priority when nouveau is installed which seems to be a problem. Mucking about with diversions or being very undebianesk and changing the priorities by hand seem like worse solutions then the occasional symlink breakage. I wanted a quick out of the box setup and that's the best I've come up with but certainly wasn't meant to be a whole tutorial on how to do this right esp considering I'm wildly out of date on all this. Having read your post about gallium and wondering also about wine build requirements I'll probably go whole hog with my next system upgrade :)

Nouveau used to blow balls. Usable now I take it?

Ravow
Respawn Disabled
Brute Force Solutions
#9 - 2017-07-26 03:14:20 UTC
Merkwurkdigliebe wrote:
In the case of debian the packages for mesa seem to have priority when nouveau is installed which seems to be a problem. Mucking about with diversions or being very undebianesk and changing the priorities by hand seem like worse solutions then the occasional symlink breakage. I wanted a quick out of the box setup and that's the best I've come up with but certainly wasn't meant to be a whole tutorial on how to do this right esp considering I'm wildly out of date on all this. Having read your post about gallium and wondering also about wine build requirements I'll probably go whole hog with my next system upgrade :)

Nouveau used to blow balls. Usable now I take it?



Nouveau is usable for video card where Nvidia released the signed firmware. Kepler card like your 740 are fully supported. More recent Nvidia card are less supported (missing re-clocking so stuck in boot (slow) speed). And by useable, I mean that Dx9 game run faster on Nine-Wine than on Windows.

Radeon card are also fully supported on release (RX cards where fully supported like a month before the release).

You still need recent kernel, libdrm, mesa, llvm (like 4.10+ if possible for the kernel and Mesa 17.x+, LLVM 4.x or better, 5.x)

Also, if your using open drivers, you will need libtxc or something like that for patent encumbered S3TC texture compression support. (except of course if you like Vantablack ships/stations...)

Also you have to google for how to enable gallium nine support on your platform for D3D9 support. Mesa have it enabled by default now but you need a patched wine. And you need to enable it in the eve launcher too (I think I have to make an actual tutorial for that...)