Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Software > Juegos en Linux


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

  #1  
Antiguo 04-ago-2018, 22:34
Avatar de Krovikan
Krovikan Krovikan está desconectado
Miembro Junior
 
Fecha de Ingreso: 16-noviembre-2010
Ubicación: Delante del ordenador
Versión: Leap 15
Mensajes: 724
Agradecimientos: 308
Agradecido 170 Veces en 146 Mensajes
Poder de Credibilidad: 8
Krovikan está en el buen camino
Thumbs up

He estado rompiéndome la cabeza y después retocando cosillas y he conseguido ejecutar tanto Battle.net como Steam con DXKV y al darle a Jugar (si el juego lo admite) se ejecuta en Vulkan con el DXVK (si no lo admite se ejecuta como siempre).

Relato lo hecho lo cual invalida el post anterior que puse con los pasos.


¿Cómo instalar DXVK de forma óptima?


Método:


1. Dependencias

meson 0.43 o superior


Código:
krovikan@linux:~/dxvk/bin> zypper se -iv meson*
E  | Nombre    | Tipo    | Versión          | Arquitectura | Repositorio               
---+-----------+---------+------------------+--------------+----------------------------
i+ | meson     | paquete | 0.46.0-lp150.1.1 | noarch       | Repositorio principal (OSS)
    name: meson
i  | meson-vim | paquete | 0.46.0-lp150.1.1 | noarch       | Repositorio principal (OSS)
    name: meson-vim

ninja 1.8.2 o superior


Código:
krovikan@linux:~/dxvk/bin> zypper se -iv ninja*
E | Nombre | Tipo    | Versión         | Arquitectura | Repositorio               
--+--------+---------+-----------------+--------------+----------------------------
i | ninja  | paquete | 1.8.2-lp150.1.8 | x86_64       | Repositorio principal (OSS)
    name: ninja

glslang-devel 3.0 o superior



Código:
krovikan@linux:~/dxvk/bin> zypper se -iv glslang-devel
E  | Nombre        | Tipo    | Versión              | Arquitectura | Repositorio               
---+---------------+---------+----------------------+--------------+----------------------------
i+ | glslang-devel | paquete | 3.0.g1516-lp150.1.11 | x86_64       | Repositorio principal (OSS)
    name: glslang-devel

mingw32 y mingw64

Primero añadir los repositorios con los paquetes:

mingw32: http://download.opensuse.org/reposit...USE_Leap_15.0/

mingw64: http://download.opensuse.org/reposit...USE_Leap_15.0/


Código:
krovikan@linux:~/dxvk/bin> zypper se -i ming*
E  | Nombre                       | Resumen                                                           | Tipo  
---+------------------------------+-------------------------------------------------------------------+--------
i+ | mingw32-binutils             | GNU Binutils                                                      | paquete
i+ | mingw32-cpp                  | MinGW Windows C Preprocessor                                      | paquete
i+ | mingw32-cross-binutils       | GNU Binutils                                                      | paquete
i  | mingw32-cross-breakpad-tools | An open-source multi-platform crash reporting system              | paquete
i+ | mingw32-cross-cpp            | MinGW Windows cross-C Preprocessor                                | paquete
i+ | mingw32-cross-gcc            | MinGW Windows cross-compiler (GCC) for C                          | paquete
i+ | mingw32-cross-gcc-c++        | MinGW Windows cross-compiler for C++                              | paquete
i  | mingw32-filesystem           | MinGW base filesystem and environment                             | paquete
i+ | mingw32-gcc                  | MinGW Windows compiler (GCC) for C                                | paquete
i+ | mingw32-gcc-c++              | MinGW Windows compiler for C++                                    | paquete
i  | mingw32-headers              | MinGW-w64 headers for Win32 and Win64                             | paquete
i  | mingw32-libgcc_s_sjlj1       | MinGW Windows compiler for C shared libraries                     | paquete
i  | mingw32-libgmp10             | The GNU MP Library                                                | paquete
i  | mingw32-libmpc3              | MPC multiple-precision complex library                            | paquete
i  | mingw32-libmpfr4             | MPFR multiple-precision floating-point computation shared library | paquete
i  | mingw32-libwinpthread1       | A pthreads implementation for Windows                             | paquete
i  | mingw32-runtime              | MinGW-w64 runtime libraries for Win32                             | paquete
i  | mingw32-winpthreads-devel    | Development files for mingw32-winpthreads                         | paquete
i  | mingw32-zlib1                | Zlib compression library                                          | paquete
i+ | mingw64-binutils             | GNU Binutils                                                      | paquete
i+ | mingw64-cpp                  | MinGW Windows C Preprocessor                                      | paquete
i+ | mingw64-cross-binutils       | GNU Binutils                                                      | paquete
i  | mingw64-cross-breakpad-tools | An open-source multi-platform crash reporting system              | paquete
i+ | mingw64-cross-cpp            | MinGW Windows cross-C Preprocessor                                | paquete
i+ | mingw64-cross-gcc            | MinGW Windows cross-compiler (GCC) for C                          | paquete
i+ | mingw64-cross-gcc-c++        | MinGW Windows cross-compiler for C++                              | paquete
i  | mingw64-filesystem           | MinGW base filesystem and environment                             | paquete
i+ | mingw64-gcc                  | MinGW Windows compiler (GCC) for C                                | paquete
i+ | mingw64-gcc-c++              | MinGW Windows compiler for C++                                    | paquete
i  | mingw64-headers              | MinGW-w64 headers for Win32 and Win64                             | paquete
i  | mingw64-libgcc_s_seh1        | MinGW Windows compiler for C shared libraries                     | paquete
i  | mingw64-libgmp10             | The GNU MP Library                                                | paquete
i  | mingw64-libmpc3              | MPC multiple-precision complex library                            | paquete
i  | mingw64-libmpfr4             | MPFR multiple-precision floating-point computation shared library | paquete
i  | mingw64-libwinpthread1       | A pthreads implementation for Windows                             | paquete
i  | mingw64-runtime              | MinGW-w64 runtime libraries for Win64                             | paquete
i  | mingw64-winpthreads-devel    | Development files for mingw64-winpthreads                         | paquete
i  | mingw64-zlib1                | Zlib compression library                                          | paquete
git y las dependencias automáticas

wine-staging 3.13 o superior

steam

Los últimos drivers gráficos que hayan salido.
En el caso de las Nvidia, los últimos de la serie 396 que hayan. En mi caso tengo los 396.51 (salidos del horno hace 1 día o 2 y requeridos para la versión actual de DXVK, la 0.64)


2. Instalación de DXVK en un nuevo prefijo de Wine (si usais openSUSE será de 64 bits, el ideal)

2.1 Comenzamos con las DLLs de 32 bits

Código:
cd ~
WINEPREFIX=~/.winedxvk winecfg (escoged Windows10 si os saliera por defecto Windows7)
git clone https://github.com/doitsujin/dxvk.git
cd dxvk
WINEPREFIX=~/.winedxvk meson --cross-file build-win32.txt --prefix ~/dxvk build.w32
cd build.w32
meson configure -Dbuildtype=release
ninja
ninja install
cd ../bin
WINEPREFIX=~/.winedxvk bash setup_dxvk.sh
Ahora tendreis en .winedxvk/drive_c/windows/system32 y .winedxvk/drive_c/windows/syswow 64 2 enlaces simbólicos llamados d3d11.dll y dxgi.dll apuntando a ~/dvxk/bin.

Vamos a hacer lo siguiente:

1. Renombramos ~/dxvk a ~/dxvk32 con:

Código:
mv ~/dxvk ~/dxvk32
2. Borramos .winedxvk/drive_c/windows/system32/d3d11.dll y .winedxvk/drive_c/windows/system32/dxgi.dll (este directorio es para 64bits, esos enlaces no sirven)

Código:
rm ~/.winedxvk/drive_c/windows/system32/d3d11.dll
rm ~/.winedxvk/drive_c/windows/system32/dxgi.dll
3. Borramos .winedxvk/drive_c/windows/syswow64/d3d11.dll y .winedxvk/drive_c/windows/syswow64/dxgi.dll para rehacerlos (recordad que estamos en el directorio de 32bits)

Código:
rm ~/.winedxvk/drive_c/windows/syswow64/d3d11.dll
rm ~/.winedxvk/drive_c/windows/syswow64/dxgi.dll
4. Rehacemos los enlaces simbólicos de syswow64

Código:
ln -s ~/dxvk32/bin/d3d11.dll ~/.winedxvk/drive_c/windows/syswow64/d3d11.dll
ln -s ~/dxvk32/bin/dxgi.dll ~/.winedxvk/drive_c/windows/syswow64/dxgi.dll
Con eso tenemos los enlaces de 32bits (los de syswow64) apuntando al directorio dxvk32 que es donde compilamos las librerías anteriormente (antes llamado dxvk).


2.2 Comenzamos con las DLLs de 64 bits

Código:
cd ~
git clone https://github.com/doitsujin/dxvk.git
cd dxvk
WINEPREFIX=/home/-youruserdir-/.winedxvk meson --cross-file build-win64.txt --prefix /home/-youruserdir-/dxvk build.w64
cd build.w64
meson configure -Dbuildtype=release
ninja
ninja install
Ahora tenemos en dxvk/bin las librerías de 64 bits. Esta vez NO usaremos el script de antes ya que el prefijo .winedxvk ya está configurado con sus DLLs especificadas y que no nos interesa sobreescribir los enlaces a las librerías de 32bits del paso anterior)


Vamos a hacer lo siguiente:

1. Renombramos ~/dxvk a ~/dxvk64 con:

Código:
mv ~/dxvk ~/dxvk64
2. Rehacemos los enlaces simbólicos de system32 (directorio de 64bits)

Código:
ln -s ~/dxvk64/bin/d3d11.dll ~/.winedxvk/drive_c/windows/system32/d3d11.dll
ln -s ~/dxvk64/bin/dxgi.dll ~/.winedxvk/drive_c/windows/system32/dxgi.dll
Con eso tenemos los enlaces de 64bits (los de system32) apuntando al directorio dxvk64 que es donde compilamos las librerías anteriormente (antes llamado dxvk de nuevo).


Con todo este proceso lo tenemos todo funcional para ejecutar tanto Battle.net como Steam con DXVK (que funcione la tienda y todo lo demás) y que al darle a Jugar, si el juego admite DXVK lo haga de esa forma. Y si no lo hará como siempre.


3. Comprobar que funciona

3.1 Steam

Ejecutar con:

Código:
env DXVK_HUD=devinfo,fps DXVK_FAKE_DX10_SUPPORT=1 WINEDEBUG=-all WINEPREFIX=~/.winedxvk wine64 "/home/<tu usuario>/.wine/drive_c/Program Files (x86)/Steam/Steam.exe" -no-cef-sandbox
Podeis meter todo ese code de antes en el enlace a la aplicación que teneis en el escritorio con click derecho, Propiedades, pestaña Aplicación, campo Orden.

Una vez iniciada la sesión podreis hacer lo que querais (como siempre). Si le dais a jugar a un juego DX10,DX11 o DX12 os saldrá el HUD arriba a la izquierda (esa es la comprobación de que va todo).

Si le dais a Jugar a un juego DX9 os lo ejecutará de manera normal. De todas formas yo tengo 2 enlaces. El Steam de siempre con su orden:
env WINEPREFIX="/home/krovikan/.wine" wine64 C:\\\\windows\\\\command\\\\start.exe "C:\\Program Files (x86)\\Steam\\Steam.exe" -no-cef-sandbox

y un enlace al que le he llamado Steam DXVK que contiene la orden del code de más arriba. Eso me sirve, por ejemplo, porque Dark Souls 2 necesita tener marcada la opción CSMT en el winecfg o no para de parpadear. En el winecfg de .winedxvk esa opción ha de estar desmarcada (de hecho ya viene desmarcada por defecto).


3.2 Battle.net

Ejecutar con:

Código:
env DXVK_HUD=devinfo,fps DXVK_FAKE_DX10_SUPPORT=1 WINEDEBUG=-all WINEPREFIX=~.winedxvk wine64 "/home/<tu usuario>/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe"
Podeis meter todo ese code de antes en el enlace a la aplicación que teneis en el escritorio con click derecho, Propiedades, pestaña Aplicación, campo Orden.

Una vez iniciada la sesión podreis darle a jugar a un juego DX10,DX11 o DX12 y os saldrá el HUD arriba a la izquierda (esa es la comprobación de que va todo).

Si le dais a Jugar a un juego DX9 os lo ejecutará de manera normal.
Aunque los 4 de Blizzard que tengo (World of Warcraft, Diablo 3, HearthStone y Heroes of the Storm) van todos con DXVK (sé por foros que Overwatch también funciona con DXVK).
De todas formas tengo 2 enlaces (por si acaso). El Battle.net de siempre con su orden:
__GL_THREADED_OPTIMIZATIONS=0 __GL_YIELD=NOTHING wine64 "/home/<tu usuario>/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe"

y un enlace al que le he llamado Battle.net DXVK que contiene la orden del code de más arriba.

NOTA: Es posible que no os vaya bien el Battle.net al principio. Si no os va bien borrad ~/.wine/drive_c/users/Public/Application Data/Battle.net y todo su contenido.
Descargad el Battle.net-Setup.exe de vuesta cuenta y reinstalad esa parte del Battle.net.

IMPORTANTE: NUNCA instaleis nada en el prefijo ~/.winedxvk
Cuando tengais que instalar algo lo haceis como siempre. Cuando no especificais prefijo alguno escoge el por defecto ~/.wine (que es cómo lo debeis hacer).
Sólo se especifica el WINEPREFIX=~/.winedxvk para ejecutar un juego o aplicación (Battlet.net o Steam por lo general).

Si os dice en los juegos Instalar, vereis que a la derecha teneis la opción de Localizar juego. Dadle y navegad hasta el directorio del juego y todo listo.
Tendreis que reconfigurar las opciones de ajustes de Battle.net (acordaos de desactivar la aceleración gráfica en el Launcher).


4. Algunas capturas

World of Warcraft sin DXVK:




World of Warcraft con DXVK:





La info de la parte superior izquierda se puede eliminar borrando el parámetro DXVK_HUD=devinfo,fps

El siguiente es Endless Space 2 (en Steam). No me atrae nada el juego pero es DirectX 11 y se podía jugar con él 2 dias este fin de semana (perfecto para mis pruebas):




5 . Actualizar DXVK

Actualizando nos ahoraremos gran parte del proceso.
Tendreis que volver a hacer las compilaciones cuando salga una nueva versión bajándola de nuevo con GIT.

IMPORTANTE: Los dxvk32 y dxvk64 renombradlos a dxvk32-BAK y dxvk64-BAK por ejemplo.

5.1 32 bits

Código:
cd ~
git clone https://github.com/doitsujin/dxvk.git
cd dxvk
WINEPREFIX=~/.winedxvk meson --cross-file build-win32.txt --prefix ~/dxvk build.w32
cd build.w32
meson configure -Dbuildtype=release
ninja
ninja install
Ahora renombrais ese ~/dxvk a ~/dxvk32 y ya tendreis la 1ª parte hecha.


5.2 64 bits

Código:
cd ~
git clone https://github.com/doitsujin/dxvk.git
cd dxvk
WINEPREFIX=~/.winedxvk meson --cross-file build-win64.txt --prefix ~/dxvk build.w64
cd build.w64
meson configure -Dbuildtype=release
ninja
ninja install
Ahora renombrais ese ~/dxvk a ~/dxvk64 y ya tendreis actualizado DXVK.


6. A tener en cuenta

A medida que salen nuevas versiones de DXVK os pueden requerir que actualiceis el driver gráfico. Estad atentos a eso.

Para el proceso que he explicado con wine-staging 3.13 y DXVK 0.64 os hace falta el driver 396.51 en el caso de Nvidia:
https://devtalk.nvidia.com/default/t...iver-releases/
siempre las Current Release (driver 396.x). Nunca los LTS de familia 390.x


7. ¡A disfrutar!


De nuevo gracias a @DiabloRojo por su interés y a cualquiera que haya respondido el hilo.

Con esto ya está lo de DXVK finalizado.


Saludos

PD: Espero no haberme dejado nada en el tintero ni haber hecho erratas.

PD 2: Guía hecha con rutas absolutas y con ~ para ahorrar el especificar cada 2x3 <tu usuario> y que no hayan errorres.
Responder Citando
  #2  
Antiguo 02-oct-2018, 12:23
Avatar de Krovikan
Krovikan Krovikan está desconectado
Miembro Junior
 
Fecha de Ingreso: 16-noviembre-2010
Ubicación: Delante del ordenador
Versión: Leap 15
Mensajes: 724
Agradecimientos: 308
Agradecido 170 Veces en 146 Mensajes
Poder de Credibilidad: 8
Krovikan está en el buen camino
A día de hoy se ha simplificado mucho el proceso.

En lugar de compilar y tener todas esas dependencias basta con hacer:

a) Si no lo teneis aún hacer:

Código:
WINEPREFIX=~/.winedxvk winetricks dxvk
o

b) Si ya lo teneis pero quereis actualizar la versión de DXVK en el mismo prefijo:

Código:
env WINEPREFIX=~/.winedxvk winetricks --force dxvk

Y listo.

Tendreis que seguir ejecutando los juegos con el comando proporcionado en el paso 3.2 de la guía (aunque ponga Battle.net sirve para cualquier juego de cualquier plataforma).

A día de hoy es DXVK 0.90 y NVIDIA driver 396.54.09.


Saludos

Última edición por Krovikan; 18-oct-2018 a las 12:05 Razón: actualización
Responder Citando
El Siguiente Usuario Ha Dado las Gracias a Krovikan Por Este Mensaje:
DiabloRojo (03-oct-2018)
  #3  
Antiguo 17-oct-2018, 12:30
Avatar de Krovikan
Krovikan Krovikan está desconectado
Miembro Junior
 
Fecha de Ingreso: 16-noviembre-2010
Ubicación: Delante del ordenador
Versión: Leap 15
Mensajes: 724
Agradecimientos: 308
Agradecido 170 Veces en 146 Mensajes
Poder de Credibilidad: 8
Krovikan está en el buen camino
Hoy he ido a actualizar DXVK de 0.80 a 0.90 y no podía. Al final encontré la manera (me olvidé un --force).



Así que editado el post anterior de instalación simplificada y actualización con el comando correcto para actualizar y ya de paso pongo las versiones correctas a día de hoy.




Saludos
Responder Citando
  #4  
Antiguo 18-oct-2018, 08:31
Avatar de DiabloRojo
DiabloRojo DiabloRojo está desconectado
Super Moderador
 
Fecha de Ingreso: 19-marzo-2005
Ubicación: En un lugar del planeta Tierra
Versión: La ultima estable
Mensajes: 16.978
Agradecimientos: 633
Agradecido 2.700 Veces en 1.837 Mensajes
Poder de Credibilidad: 10
DiabloRojo llegará a ser famoso muy pronto
Cita:
Iniciado por Krovikan Ver Mensaje
Hoy he ido a actualizar DXVK de 0.80 a 0.90 y no podía. Al final encontré la manera (me olvidé un --force).

Así que editado el post anterior de instalación simplificada y actualización con el comando correcto para actualizar y ya de paso pongo las versiones correctas a día de hoy.
TRUCO: Cuando pongas comandos para ejecutar en la carpeta de usuario sustituye '/home/<tu usuario>' por '~' o '$HOME' que viene a ser lo mismo. Así puede copiar y pegar el comando.

Sustituye:
env WINEPREFIX=/home/<tu usuario>/.winedxvk winetricks --force dxvk

por, menos intuitivo:
env WINEPREFIX=~/.winedxvk winetricks --force dxvk
o este otro, mas intuitivo:
env WINEPREFIX=$HOME/.winedxvk winetricks --force dxvk

'~' y '$HOME' tiene como valor el directorio home del usuario, compruebalo ejecutando
echo $HOME
echo ~
__________________
NORMAS A CUMPLIR EN LOS FOROS (Lectura obligatoria) Lo siento, no contesto privados sobre problemas con GNU/Linux.
Síguenos en TWITTER y en FACEBOOK
Código:
Buscador de   Alojamiento      Alojamiento     Otros
 paquetes:    de imágenes:     de ficheros:    buscadores:
Search        TinyPic          Ifile Wuala     Simple y Facil
Webpinstant   Paste Suse       SendSpace       TextSnip  Cl1p
Responder Citando
El Siguiente Usuario Ha Dado las Gracias a DiabloRojo Por Este Mensaje:
Krovikan (18-oct-2018)
  #5  
Antiguo 18-oct-2018, 11:58
Avatar de Krovikan
Krovikan Krovikan está desconectado
Miembro Junior
 
Fecha de Ingreso: 16-noviembre-2010
Ubicación: Delante del ordenador
Versión: Leap 15
Mensajes: 724
Agradecimientos: 308
Agradecido 170 Veces en 146 Mensajes
Poder de Credibilidad: 8
Krovikan está en el buen camino
Gracias. De hecho el post inicial está todo con ~ pero no pensé en ello para el de actualización.


Lo de $HOME sí que viene muy bien saberlo.




Saludos
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instalación y Arranque opensuse Leap 42.1 [solucionado] numael07 Instalación y Actualizaciones 3 30-may-2016 08:11
Comandos y mantenimiento de OpenSUSE Tumbleweed joakoej General OpenSUSE 54 10-abr-2015 21:12
Otro "The following 48 package updates will NOT be installed" al actualizar openSUSE moshpirit Software 12 01-mar-2015 22:39
GUIA: Como instalar un programa o driver desde el codigo fuente DiabloRojo FAQs, Manuales y Tutoriales 1 08-feb-2015 10:48
me podrian explicar mejor como instalar este programa en opensuse 12.1 phurion Software 1 24-ago-2012 21:36



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 12:28.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba