Wine G29 und Farming Simulator

Mystery1988

Lt. Junior Grade
🎅Rätsel-Elite ’23
Registriert
März 2015
Beiträge
257
Hallo miteinander,

ich hoffe irgendwie noch Hilfe zu finden, um mein Problem mit dem G29 und dem FS25 unter Wine zu lösen :D
Ausgangsinformationen:
OS: Linux Mint 22.2
Kernel: 6.14.0-34-generic
Hardware: Logitech G29 PS3 mode
Ausgabe lsusb: Bus 001 Device 008: ID 046d:c24f Logitech, Inc. G29 Driving Force Racing Wheel [PS3]
Lutris: 0.5.14 (Kein Flatpack installation)
Wine-Version: Proton - Experimental oder wine-ge-8-26-x86_64
Spiel: Farming Simulator 25
dmesg Ausgabe:

[ 261.976381] hid_logitech_new: loading out-of-tree module taints kernel.
[ 261.976388] hid_logitech_new: module verification failed: signature and/or required key missing - tainting kernel
[ 261.977104] input: Logitech G29 Driving Force Racing Wheel as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/0003:046D:C294.000C/input/input27
[ 261.977230] logitech 0003:046D:C294.000C: input,hidraw11: USB HID v1.00 Gamepad [Logitech G29 Driving Force Racing Wheel] on usb-0000:02:00.0-10/input0
[ 261.989049] usb 1-10: USB disconnect, device number 7
[ 262.585163] usb 1-10: new full-speed USB device number 8 using xhci_hcd
[ 262.951546] usb 1-10: New USB device found, idVendor=046d, idProduct=c24f, bcdDevice=89.00
[ 262.951553] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 262.951556] usb 1-10: Product: G29 Driving Force Racing Wheel
[ 262.951558] usb 1-10: Manufacturer: Logitech
[ 262.978668] input: Logitech G29 Driving Force Racing Wheel as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/0003:046D:C24F.000D/input/input28
[ 262.978842] logitech 0003:046D:C24F.000D: input,hidraw11: USB HID v1.11 Joystick [Logitech G29 Driving Force Racing Wheel] on usb-0000:02:00.0-10/input0
[ 262.978956] logitech 0003:046D:C24F.000D: Force feedback support for Logitech Gaming Wheels (0.5.0)
[ 262.978959] logitech 0003:046D:C24F.000D: Hires timer: period = 2 ms

Problem:
Im Spiel selbst wird das Lenkrad korrekt als G29 erkannt, aber so bald ich minimal von der Mittelstellung nach Links lenke, bekomme ich ein kompletten rechts Ausschlag des Lenkrad angezeigt, bei den Pedalen ist das Problem sobald, etwas weiter gedrückt wird, springt er wieder auf 0 zurück, die Bremse erzeugt keinerlei Reaktion
1762070472947.png


Versuchte Aktionen:
Ich habe erstmal mit dem Tool oversteer überprüft, ob das Lenkrad in Linux nativ korrekt erkannt wird, das ist der Fall hier funktioniert alles ohne Probleme.
Darauf habe ich mit wine control joy.cpl überprüft, ob in wine das korrekt erkannt wird.
Siehe da, hier werden alle Aktionen auch korrekt erkannt.
1762070967440.png

Dann den nächsten Tipp überprüft, anlegen einer udev Regel.
Also schnell eine Datei unter /etc/udev/rules.d/99-logitech.rules mit dem Inhalt angelegt:
KERNEL==“hidraw*”, ATTRS{idVendor}==“046d”, ATTRS{idProduct}==“c24f”, MODE=“0660”, TAG+=“uaccess”

Wieder keine Veränderung.

Nächster Tipp, war Anpassung der Registry für das Spiel
Pfad: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus
Schlüssel: DisableHidraw
Wert: Von 1 nach 0 geändert.

Wieder das selbe Ergebnis.
Mein letzter Test war, fügen wir das Spiel als Steam fremdes Spiel hinzu, weil es den Tipp gab ein Aufrufparameter mitzugeben

1762071226075.png


Hat leider auch keine Verbesserung gebracht -.-
Wenn man das Spiel direkt bei Steam kauft und den Parameter mit gibt, soll dies bei anderen Personen funktionieren.

Die Suchmaschine spuckt für mich leider keine weiteren sinnvollen Sachen aus :/

Das meine Seitenkonsole nicht richtig erkannt wird, mache ich mir wann anders Gedanken drüber.

Hat irgendwer noch eine Idee wie man das Problem für dieses Spiel beheben könnte?
Fehlen euch weitere Informationen?
 
Wie erwähnt in oversteer wird alles korrekt angezeigt.
Den Treiber habe ich auch installiert =/
 
Versuch mal

falls in Steam > Einstellungen > Controller „Generische Gamepad-Unterstützung“ ausschalten.
 
Eine Unterstützung für @mytosh



Oder auch das mal angesehen? (Die in Steam Controllerconfiguration):
 
Zuletzt bearbeitet:
@mytosh
War schon deaktiviert. In Steam wird das G29 nicht als Controller erkannt. Hier wird nur meine Seitenkonsole erkannt.

@Alexander2
Habe ich auf deaktivieren gesetzt, jetzt habe ich eine Zentrierung, aber immer noch das selbe Problem das ab der Mittelstellung nach Links drehen, voll Ausschlag nach Rechts angezeigt wird.

Meine Version des Spiels ist ja direkt von Giants und nicht über Steam erworben.

In ETS2 funktioniert alles ohne Probleme :) Sogar Force Feedback geht etc.
Das doch zum Mäuse melken, warum GIANTS und WINE so welche Probleme macht
 
Zuletzt bearbeitet:
Hast du das mal studiert?
 
@mytosh Yeb mehrmals.
Habe dies oben im Screenshot bei Steam festgehalten =/

Habe es selbst in Lutrix versucht, aber alle Lösungen zeigen immer wieder auf Steam und nicht wine :/
 
Dann probier doch mal proton-ge-custom.
https://github.com/GloriousEggroll/proton-ge-custom
Code:
#!/bin/bash

## configuration
# proton executable
_proton="HIER PFAD ZU proton"
# default prefix dir if STEAM_COMPAT_DATA_PATH not set
_pfx=${XDG_DATA_HOME:-~/.local/share}/proton-pfx
# default dxvk state cache path if not set, could be compatible with dxvk-cache-pool application
_cachepath=${XDG_CACHE_HOME:-~/.cache}/dxvk-cache-pool
# default appid if STEAM_COMPAT_DATA_PATH or SteamAppId not set nor given as an argument
_appid=0
# default mode of execution if not given as an argument
_mode=waitforexitandrun
# default steam install path (don't worry, you still don't need steam)
_steam=${XDG_DATA_HOME:-~/.local/share}/Steam

## functions
set_env() {
    # Proton now cares about steam install - it wants to update the tracked files according to installed steam.
    # While this makes no sense in standalone, we need to set *some* path even if does not exists.
    if [ -z ${STEAM_COMPAT_CLIENT_INSTALL_PATH+x} ]; then
        export STEAM_COMPAT_CLIENT_INSTALL_PATH=${_steam}
        >&2 echo "ProtonLauncher[$$] INFO: empty STEAM_COMPAT_CLIENT_INSTALL_PATH set to ${STEAM_COMPAT_CLIENT_INSTALL_PATH}"
    fi
    if ! [ -d "${STEAM_COMPAT_CLIENT_INSTALL_PATH}" ]; then
        >&2 echo "ProtonLauncher[$$] WARN: directory ${STEAM_COMPAT_CLIENT_INSTALL_PATH} does not exist"
    fi

    # No data path to prefix? Let's set the default path. We want to include the AppId in the path like steam.
    if [ -z ${STEAM_COMPAT_DATA_PATH+x} ]; then
        export STEAM_COMPAT_DATA_PATH=${_pfx}/${SteamAppId:-${_appid}}
        >&2 echo "ProtonLauncher[$$] INFO: empty STEAM_COMPAT_DATA_PATH set to ${STEAM_COMPAT_DATA_PATH}"
    elif ! [ "${SteamGameId}" -ge 0 ] 2>/dev/null && ! [ "${SteamAppId}" -ge 0 ] 2>/dev/null && ! [ "$(basename "${STEAM_COMPAT_DATA_PATH}")" -ge 0 ] 2>/dev/null; then
        export SteamAppId=${_appid}
        >&2 echo "ProtonLauncher[$$] INFO: empty SteamAppId set to ${SteamAppId}"
    fi
    # If the prefix path does not exist yet, we will create it.
    if ! [ -d "${STEAM_COMPAT_DATA_PATH}" ]; then
        install -d "${STEAM_COMPAT_DATA_PATH}" || exit 1
        >&2 echo "ProtonLauncher[$$] INFO: directory ${STEAM_COMPAT_DATA_PATH} created"
    fi

    # DXVK state cache path not given, we will use a default.
    if [ -z ${DXVK_STATE_CACHE_PATH+x} ]; then
        export DXVK_STATE_CACHE_PATH=${_cachepath}
        >&2 echo "ProtonLauncher[$$] INFO: empty DXVK_STATE_CACHE_PATH set to ${_cachepath}"
    fi
    # If the state cache path does not exist yet, we will create it.
    if ! [ -d "${DXVK_STATE_CACHE_PATH}" ]; then
        install -d "${DXVK_STATE_CACHE_PATH}" || exit 1
        >&2 echo "ProtonLauncher[$$] INFO: directory ${DXVK_STATE_CACHE_PATH} created"
    fi

    # Placeholder in case we need the workaround again when tracked_files missing
    if ! [ -f "${STEAM_COMPAT_DATA_PATH}"/tracked_files ]; then
        if [ -f "${STEAM_COMPAT_DATA_PATH}"/version ]; then
            >&2 echo "ProtonLauncher[$$] WARN: file ${STEAM_COMPAT_DATA_PATH}/tracked_files missing! Please report to AUR maintainer"
        fi
    fi

    # argument -e was provided, so summarize the relevant env we set so far.
    if [ "${_printenv}" == "true" ] 2>/dev/null; then print_env; fi
}

print_usage() {
    cat <<EOF

USAGE:  proton [--environment|-e] executable.exe
        proton [--environment|-e] [mode]  executable.exe
        proton [--environment|-e] [appid] executable.exe
        proton [--help|-h]

EOF
}

print_help() {
    print_usage
    cat <<EOF
ENV:    STEAM_COMPAT_DATA_PATH
        STEAM_COMPAT_CLIENT_INSTALL_PATH
        DXVK_STATE_CACHE_PATH
        SteamAppId
        SteamGameId

Just call this proton launcher script with your app as the only argument
to run it with the default prefix
${_pfx}/${_appid} and default mode "${_mode}".

Use other invocations as stated with USAGE: and/or modify behavior with
environment variables as described below.

_mode_

You can change the mode of operation by specifying it as the first argument.
Possible values are: waitforexitandrun, run, getcompatpath, getnativepath

_appid_

Protonfixes (included by proton-ge) uses three environment variables to
determine the application to run fixes for.
The env STEAM_COMPAT_DATA_PATH points to the wine prefix and usually includes
the AppId, which is used in that case. If the env SteamAppId (or SteamGameId)
is set, it takes precedence as the AppId used by protonfixes.

As proton itself needs the env STEAM_COMPAT_DATA_PATH set, the default prefix
${_pfx}/${_appid} is used when it is not set or empty.
In that case, an AppId given by env SteamAppId or as the first argument will
alter this path accordingly.
If STEAM_COMPAT_DATA_PATH is set, it will not be modified by a provided AppId.

Provide "appid" as the first argument to change the AppId regardless of
the env vars (force). In this case, the mode defaults to "${_mode}".
Useable for "appid": see https://steamdb.info/apps/

_other_

The env STEAM_COMPAT_CLIENT_INSTALL_PATH is set to "${_steam}" if not given,
because proton cares. It has no effect if proton is not started from
within steam anyway, therefore the path does not have to be actually resolvable.

DXVK creates cache files right next to the executable if the env
DXVK_STATE_CACHE_PATH is missing.
This launcher sets it to "${_cachepath}"
if not provided. It makes sharing of those files as well as read-only game
folders possible. Also, the cache survives remove/reinstall of the game.

You may share oder download caches for example from here:
https://github.com/begin-theadventure/dxvk-caches/

Note that the env SteamGameId is not set by this launcher script in any case.
This env is evaluated by steam executables inside the prefix. Set it yourself
if you see fit.

To print the current env when this script is called, use the "-e" switch.

_example invocations_

# "${_mode}" winecfg in prefix ${_pfx}/${_appid}
$ proton winecfg

# "${_mode}" winecfg in prefix ${_pfx}/${_appid}, dump all env that have been set
$ proton -e winecfg

# "${_mode}" winecfg in prefix ${_pfx}/17330, matching protonfixes for crysis are run
$ proton 17300 winecfg

# returns native path in ${_pfx}/${_appid}
$ proton getnativepath "C:\Windows"

# "${_mode}" winecfg in prefix ~/myfolder/17300, matching protonfixes for crysis are run
$ env STEAM_COMPAT_DATA_PATH=~/myfolder/17300 proton winecfg

EOF
}

print_env() {
cat <<EOF

Current ENVIRONMENT variables:

STEAM_COMPAT_CLIENT_INSTALL_PATH  ${STEAM_COMPAT_CLIENT_INSTALL_PATH:-"Empty or not set."}
STEAM_COMPAT_DATA_PATH            ${STEAM_COMPAT_DATA_PATH:-"Empty or not set."}
DXVK_STATE_CACHE_PATH             ${DXVK_STATE_CACHE_PATH:-"Empty or not set."}
SteamAppId                        ${SteamAppId:-"Empty or not set."}
SteamGameId                       ${SteamGameId:-"Empty or not set."}
EOF
}

## main
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
    print_help
    exit 0
fi
if [ "$1" == "--environment" ] || [ "$1" == "-e" ]; then
    _printenv=true
    shift
fi

case $# in
0)
    print_usage
    ;;
1)
    # just start an application with default appid and mode
    set_env
    "${_proton}" "${_mode}" "$1"
    ;;
*)
    if ! [ "$1" -ge 0 ] 2>/dev/null; then
        # start proton with given arguments, compatible with standard proton invocation
        set_env
        "${_proton}" "${@}"
    else
        # first arg is a positive signed int, thus the appid
        export SteamAppId="$1"
        #export SteamGameId="$1"
        >&2 echo "ProtonLauncher[$$] INFO: forcing SteamAppId to $1"
        set_env
        "${_proton}" "${_mode}" "${@:2}"
    fi
    ;;
esac

Speichern unter /usr/bin/play oder wie du es nennen möchtest,
"_proton=" anpassen. Beispielsweise proton-ge oder
proton-cachyos

play "Deine .exe"
 
Zuletzt bearbeitet:
@mytosh
Leider da auch schlechte Nachrichten, sowohl über Steamfremdes Spiel eingebunden, als auch in Wine keine Veränderung.

Bin echt dankbar das ihr es versucht, aber anscheinend will Giants das nicht. Kann ja nicht sein das Steam großartig was anderes macht, das es bei denen mit der Variable funktioniert =/

Habe auch wine von der Version 9 auf 10 aktualisiert, aber brachte auch keine Verbesserung
 
Zuletzt bearbeitet:
Zurück
Oben