Paramètres d'écran du jeu sur Linux (Bottles)
luckydu43 Messages postés 4614 Statut Membre -
Bonjour,
Pour cette fois, ci, une IA n'arrive pas à répondre à ma demande... Je me tourne donc vers des humains qui sauront me répondre j'en suis sûr !
Depuis peu, j'ai changé d'os (Windows --> Linux (PoP!_Os)) et j'eu l'idée d'installer des petits jeux, sur Steam, aucun problème... Mais quand il s'agit d'émuler des lanceurs de jeux (prennons l'exemple de Ubisoft Connect) ça marche parfaitement, tout du moins, juste pour le lanceur. En effet, j'arrive à télécharger mes jeux sans soucis (sur un autre SSD configuré dans Bottles avant), le problème étant que lorsque je veux le lancer (ex avec Assassin's Creed Origins), tout ce passe parfaitement mais je reste bloqué à du 60hz (alors que mon écran et mon GPU peuvent en afficher plus ou moins 240). Donc mon problème est que quand je lance Assassin's Creed Origins et que je met tout dans les paramètres graphique (2560x1440 et 240hz), j'ai du 60hz à la bonne résolution par contre...
Sachant que je n'ai jamais eu de problème sous Windows, j'en conclus que le problème n'est pas matériel mais logiciel.
Faut-il que j'utilise autre chose que Bottles ? Me manque-t-il un soft ? Un paramètre ? Une commande ?
Je vous remercie pour vos réponses.
Config :
GPU : RX 6600 XT
Écran : ASUS 27" 2K 240HZ BRANCHÉ EN DISPLAY PORT
- Paramètres d'écran du jeu sur Linux (Bottles)
- Double ecran - Guide
- Parametres de mon ordinateur - Guide
- Capture d'écran whatsapp - Accueil - Messagerie instantanée
- Paramètres dns - Guide
- 94 jeu - Télécharger - Puzzle & Réflexion
2 réponses
Bonjour,
Comme tout dans Linux, dès que ça marche pas faut une ligne de commandes.
Pour avoir joué sous Linux aussi (Mint, pas Pop!_OS), c'était compliqué de faire marcher à l'optimal, pour pas dire plus :-D
Ma procédure était plus velue que celle que je fournis plus bas. Merci Pop!_OS et ta gestion améliorée des drivers !
J'ai résumé toutes les étapes de configuration dans un script qui va créer un lanceur pour le lanceur Ubisoft Connect (oui) avec les paramètres 240Hz pour les jeux (sur le moment ça me paraissait plus simple à faire faire) :
#!/bin/bash
if [[ $EUID -eq 0 ]]; then
echo "Ne pas exécuter ce script en tant que root !"
echo "Il faut le bon profil utilisateur."
echo "Si root est effectivement le bon profil, supprimez cette vérification"
exit 1
fi
WINEPREFIX="$HOME/.wine-ubisoft"
DXVK_CONFIG_FILE="$HOME/dxvk.conf"
LAUNCH_SCRIPT="$HOME/start-ubisoft.sh"
DEFAULT_SEARCH_PATH="$HOME/.wine-ubisoft/drive_c"
echo "Étape 1/6 : Installation des dépendances nécessaires des fois qu il en manque..."
sudo apt update
sudo apt install -y lutris wine winetricks vulkan-tools mesa-vulkan-drivers mesa-utils libgl1-mesa-dri libvulkan1 libglx-mesa0 libgles2-mesa
echo "Étape 2/6 : Création du préfixe Wine pour Ubisoft Connect..."
if [ ! -d "$WINEPREFIX" ]; then
WINEPREFIX=$WINEPREFIX wineboot --init
echo "Préfixe Wine initialisé dans $WINEPREFIX"
else
echo "Préfixe Wine déjà présent. Aucun changement nécessaire."
fi
echo "Étape 3/6 : Recherche de l exécutable Ubisoft Connect..."
UBISOFT_CONNECT_PATH=$(find "$DEFAULT_SEARCH_PATH" -type f -iname "UbisoftConnect.exe" 2>/dev/null | head -n 1)
if [ -z "$UBISOFT_CONNECT_PATH" ]; then
echo "Erreur : Impossible de trouver Ubisoft Connect.exe dans Wine."
echo "Veuillez préciser manuellement le chemin dans le fichier $LAUNCH_SCRIPT après création."
echo "Il faut modifier la ligne 5 : wine $UBISOFT_CONNECT_PATH"
echo "N oubliez pas cette étape !"
else
echo "Ubisoft Connect trouvé : $UBISOFT_CONNECT_PATH"
fi
echo "Étape 4/6 : Configuration de DXVK pour limite à 240Hz..."
cat <<EOF > "$DXVK_CONFIG_FILE"
dxgi.maxFrameRate = 240
EOF
echo "Fichier de configuration DXVK créé à $DXVK_CONFIG_FILE"
echo "Étape 5/6 : Création du script de démarrage pour Ubisoft Connect..."
cat <<EOF > "$LAUNCH_SCRIPT"
#!/bin/bash
export WINEPREFIX="$WINEPREFIX"
export DXVK_CONFIG_FILE="$DXVK_CONFIG_FILE"
export WINEDEBUG=-all
export __GL_SYNC_TO_VBLANK=0
wine "$UBISOFT_CONNECT_PATH"
EOF
chmod +x "$LAUNCH_SCRIPT"
echo "Script de démarrage créé à $LAUNCH_SCRIPT"
echo "Étape 6/6 : Création de la commande start-ubisoft"
if ! grep -q "alias start-ubisoft=" "$HOME/.bashrc"; then
echo "alias start-ubisoft='$LAUNCH_SCRIPT'" >> "$HOME/.bashrc"
echo "Alias start-ubisoft ajouté à .bashrc"
source "$HOME/.bashrc"
else
echo "Alias start-ubisoft déjà présent."
fi
echo "Configuration terminée !"
echo "Lancez Ubisoft Connect avec : start-ubisoft"
Il n'est pas vraiment compliqué, si vous avez un doute sur une des lignes, dites-moi.
Copiez ce script dans un fichier .sh, disons conf-ubisoft.sh
Dans le dossier où se trouve le script, ouvrez un terminal.
Rendez exécutable le fichier .sh avec
chmod +x conf-ubisoft.sh
Exécutez-le avec
sh ./conf-ubisoft.sh
Une fois toutes les étapes du script réalisées, vous ne lancez Ubisoft Connect qu'avec start-ubisoft qui lancera un script avec les bonnes options avant de lancer lui-même Ubisoft Connect.
Si ça doit concerner d'autres lanceurs, dites-moi, j'ajusterai le script en conséquence.
Si le script est en erreur, dites-moi exactement ce qui est affiché.
Bonjour, merci pour votre réponse très rapide !
Mais j'ai installé Bottles avec flatpack (classique) mais j'ai mis la data générale de mes bottles (dans l'accueil, les trois points ou roue cranté, et tout en bas, j'ai changé le chemin) dans un autre chemin. Et je met chaque jeu et chaque lanceur dans un disque différent, Y-a-t-il un impact sur votre script, dois-je modifier quelques choses ?
Merci
Normalement le lanceur connaît le chemin du jeu, il suffit de lancer le lanceur avec les bons paramètres pour exécuter les jeux sans problème.
Je rappelle que j'ai tourné ce script uniquement pour Ubi, si y a d'autres faut prévenir :-)
Le script une fois lancé n'a affiché que les lignes "Etape 1/6 ... 6/6 Fin" sans erreur ?
Voici les erreurs :
xxxxxxxxx@pop-os:~$ start-ubisoft xxxxxxxxx@pop-os:~$ wine: Call from 7BC2CEA0 to unimplemented function KERNEL32.dll.DiscardVirtualMemory, aborting wine: Call from 7BC2CEA0 to unimplemented function KERNEL32.dll.DiscardVirtualMemory, aborting wine: Call from 7BC2CEA0 to unimplemented function KERNEL32.dll.DiscardVirtualMemory, aborting wine: Call from 7BC2CEA0 to unimplemented function KERNEL32.dll.DiscardVirtualMemory, aborting
Bonjour,
C'est une erreur wine, dommage c'est exactement ce que le script cherche à faire : modifier les paramètres de wine au lancement --'
Je retente une version en ajoutant des dépendances à Wine avec winetricks. J'ai aussi été plus clair dans le logging si ça pète encore.
Remplacez le contenu du script précédent par le code ci-dessous et relancez comme avant avec sh
#!/bin/bash
if [[ $EUID -eq 0 ]]; then
echo -e "\e[1;31m[ERROR]\e[0m Ne pas exécuter ce script en tant que root !"
echo "Il faut le bon profil utilisateur."
echo "Si root est effectivement le bon profil, supprimez cette vérification."
exit 1
fi
# Variables
WINEPREFIX="$HOME/.wine-ubisoft"
DXVK_CONFIG_FILE="$HOME/dxvk.conf"
LAUNCH_SCRIPT="$HOME/start-ubisoft.sh"
DEFAULT_SEARCH_PATH="$WINEPREFIX/drive_c"
log() {
echo -e "\e[1;32m[INFO]\e[0m $1"
}
error() {
echo -e "\e[1;31m[ERROR]\e[0m $1"
exit 1
}
log "Étape 1/6 : Installation des dépendances nécessaires..."
sudo apt update
sudo apt install -y lutris wine winetricks vulkan-tools mesa-vulkan-drivers mesa-utils libgl1-mesa-dri libvulkan1 libglx-mesa0 libgles2-mesa || error "Échec de l'installation des dépendances."
log "Étape 2/6 : Création ou vérification du préfixe Wine pour Ubisoft Connect..."
if [ ! -d "$WINEPREFIX" ]; then
export WINEPREFIX="$WINEPREFIX"
wineboot --init >/dev/null 2>&1 || error "Échec de l'initialisation du préfixe Wine."
log "Préfixe Wine initialisé dans $WINEPREFIX."
else
log "Préfixe Wine déjà présent. Aucun changement nécessaire."
fi
log "Étape 3/6 : Recherche de l'exécutable Ubisoft Connect..."
UBISOFT_CONNECT_PATH=$(find "$DEFAULT_SEARCH_PATH" -type f -iname "UbisoftConnect.exe" 2>/dev/null | head -n 1)
if [ -z "$UBISOFT_CONNECT_PATH" ]; then
error "Impossible de trouver UbisoftConnect.exe dans le préfixe Wine. Installez Ubisoft Connect manuellement ou spécifiez un chemin."
else
log "Ubisoft Connect trouvé : $UBISOFT_CONNECT_PATH."
fi
log "Étape 4/6 : Configuration de DXVK pour une limite de 240Hz..."
cat <<EOF > "$DXVK_CONFIG_FILE"
dxgi.maxFrameRate = 240
EOF
log "Fichier de configuration DXVK créé à $DXVK_CONFIG_FILE."
log "Étape 5/6 : Création du script de démarrage pour Ubisoft Connect..."
cat <<EOF > "$LAUNCH_SCRIPT"
#!/bin/bash
export DXVK_CONFIG_FILE="$DXVK_CONFIG_FILE"
export __GL_SYNC_TO_VBLANK=0
WINEPREFIX="$WINEPREFIX" winetricks -q d3dx9 d3dcompiler_47
export WINEDEBUG=+all
wine "$UBISOFT_CONNECT_PATH" &> "$HOME/wine_log.txt"
echo "Log généré : $HOME/wine_log.txt"
echo "Si des erreurs persistent, partagez le contenu de wine_log dans le fil de discussion du forum"
wine "$UBISOFT_CONNECT_PATH"
EOF
chmod +x "$LAUNCH_SCRIPT"
log "Script de démarrage créé à $LAUNCH_SCRIPT."
log "Étape 6/6 : Création de la commande start-ubisoft..."
if ! grep -q "alias start-ubisoft=" "$HOME/.bashrc"; then
echo "alias start-ubisoft='$LAUNCH_SCRIPT'" >> "$HOME/.bashrc"
source "$HOME/.bashrc"
log "Alias start-ubisoft ajouté à .bashrc."
else
log "Alias start-ubisoft déjà présent dans .bashrc."
fi
log "Configuration terminée ! Lancez Ubisoft Connect avec la commande start-ubisoft"