Gracias Gracias:  2
Me Gusta Me Gusta:  1
No me Gusta No me Gusta:  0
Mostrando resultados del 1 al 10 de 23

Tema: Como instalar DXVK en openSUSE Leap 15.0

Threaded View

Mensaje Previo Mensaje Previo   Próximo Mensaje Próximo Mensaje
  1. #1
    Fecha de Ingreso
    16-noviembre-2010
    Ubicación
    Delante del ordenador
    Mensajes
    869
    Post Thanks / Like
    Poder de Credibilidad
    9

    Como instalar DXVK en openSUSE Leap 15.0

    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).

    NOTA: En tarjetas Nvidia tened siempre instalada la última versión de los Developer Beta Drivers propietarios para Vulkan desde este enlace (para tarjetas Geforce 600 para arriba):

    https://developer.nvidia.com/vulkan-driver

    En el momento de escribir esta NOTA el driver actual es el 418.52.03

    Relato lo hecho.



    ¿Cómo instalar DXVK de forma óptima?

    Método:


    NUEVO EDIT de OCTUBRE de 1018

    Nuevo sistema simplificado para instalarlo.

    Si todavía no has instalado DXVK simplemente haz:

    Código:
    WINEPREFIX=~/.winedxvk winetricks dxvk
    Si ya lo tienes instalado y lo quieres actualizar a una nueva versión simplemente haz:

    Código:
    env WINEPREFIX=~/.winedxvk winetricks --force dxvk
    Si quieres ejecutar Battle.net con DXVK usa:

    Código:
    env DXVK_HUD=1 WINEDEBUG=-all WINEPREFIX=~/.winedxvk wine64 "/home/<tu usuario>/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe"
    Si quieres ejecutar Steam con DXVK usa:

    Código:
    env DXVK_HUD=1 WINEDEBUG=-all WINEPREFIX=~/.winedxvk wine64 "/home/<tu usuario>/.wine/drive_c/Program Files (x86)/Steam/Steam.exe" -no-cef-sandbox
    Para ejecutar cualquier otro programa con DXVK usa:

    Código:
    env DXVK_HUD=1 WINEDEBUG=-all WINEPREFIX=~/.winedxvk wine64 <programa>
    DXVK_HUD=1 es para ver arriba a la izquierda tu tarjeta gráfica, driver, versión de Vulkan, versión de DXVK y frames por segundo (fps).
    Si no quieres que aparezca cámbialo a DXVK_HUD=0 o borra DXVK_HUD=1 como parámetro.

    NOTA: No instaleis nada nunca en el prefijo .winedxvk. Seguid usando para instalar cosas wine <programa> o wine64 <programa> y la ruta de instalación ponedla en ~/.wine/drive_c etc.


    NUEVO EDIT de 18 ABRIL de 2019


    Me he fijado que winetricks suele tardar en poner disponibles las nuevas versiones. Y algún día podría ser discontinuado (nunca se sabe). Así que he usado un nuevo método que siempre ha estado disponible pero que nunca usé al estar verde en el asunto anteriormente. Método para instalar DXVK:

    1. Si es la primera vez que instalas DXVK:


    a) Crear Wineprefix para DXVK

    Código:
    WINEPREFIX=~/.winedxvk winecfg (escoged entre Windows 8.1 y Windows 10 si os saliera por defecto Windows7)
    b) Bajar la última Release disponible (o la que gusteis) del Github de DXVK aquí:

    https://github.com/doitsujin/dxvk/releases

    Escoged para bajar el archivo .tar.gz

    c) Una vez bajado descomprimirlo. Accedeis al directorio dxvk que se crea y ejecutais el siguiente comando:

    Código:
    env WINEPREFIX=~/.winedxvk sh setup_dxvk.sh install
    Ya lo teneis todo listo. En el EDIT anterior (encima de este) teneis los comandos para poder ejecutar Steam, Battle.net y cualquier programa, así como recomendaciones sobre no instalar nada en el WINEPREFIX nuevo.


    NOTA: Si por cualquier cosa se deseara desinstalar se haría con el siguiente comando desde el directorio DXVK que os creó la descompresión del .tar.gz:

    Código:
    env WINEPREFIX=~/.winedxvk sh setup_dxvk.sh uninstall

    2. Ya tienes DXVK y quieres actualizarlo

    Hacer todo lo de la sección 1 (encima) a excepción del paso a (el primero).




    Si aún quieres ver como se hacía a mediados de 2018 sigue leyendo para ver el proceso e imágenes de rendimiento.


    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: ~ y /home/<usuario> es lo mismo. Sólo que en el segundo habrá que teclear vuestro nombre de usuario en lugar de <usuario>
    Última edición por Krovikan; 04-may-2019 a las 23:28 Razón: Añadido otro método de instalación

  2. Gracias icomputo ha agradecido este mensaje

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Temas Similares

  1. DXVK/Wine-staging OpenSuse Tumbleweed
    By eduardocp25 in forum Juegos en Linux
    Respuestas: 0
    Último mensaje: 18-ene-2019, 18:25
  2. ¿Algún experto con DXVK en openSUSE?
    By Krovikan in forum Juegos en Linux
    Respuestas: 23
    Último mensaje: 05-ago-2018, 16:47
  3. Como instalar OnlyOffice en Leap?
    By cores8 in forum Software
    Respuestas: 9
    Último mensaje: 10-mar-2018, 17:00
  4. Respuestas: 2
    Último mensaje: 22-abr-2017, 13:07
  5. Como instalar gambas en opensuse leap 42.1
    By catlib in forum Software
    Respuestas: 6
    Último mensaje: 15-ago-2016, 15:30

Marcadores

Normas de Publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •