Oyun sever birisi değilim ancak söz konusu Counter Strike olunca akan sular duruyor ne yazık ki, vazgeçemedim 🙂 Windows’tan Linux’a geçiş yaparken en çok bu sevdamdan vazgeçmek zor olmuştu.
Steam sağolsun, Linux kullananları da düşünmüş. Bazı oyunlar için Linux desteği veriyor. Aslında tam olarak bilmiyorum, Steam firmasının bir kıyağı mıdır yoksa oyun firmalarının mı? Ama kimin kıyağıysa canını yerim 🙂
Debian kullanıcısı olduğum için ben Debian üzerinde kurulumdan ve ayarlamalardan bahsedeceğim. Bilgisayarınızda hibrid olarak isimlendirilen çift ekran kartı sistemi varsa, bu anlatım çok işinize yarayacak diye düşünüyorum.
Önce kullandığım sistemden bahsedeyim: Bilgisayarımda Intel + NVIDIA ekran kartları var. Windows kullanıcısıyken, oyun veya yoğun grafik içeren uygulamaları açtığımda NVIDIA otomatik devreye giriyordu . Linux’ta ise sürücü probleminiz yoksa siz müdahele etmediğiniz sürece daima Intel devrededir(sürücüler eksikse daima NVIDIA devrede oluyor ve doğal olarak daima fan çalışıyor.).
Intel + NVIDIA kullanan sistemde CS:GO oynamak için sisteminizde primus yani NVIDIA Optimus yapılandırmaları kurulu olması gerekiyor, böylece grafik kartları arasında “primusrun” komutu ile geçiş yapabiliyorsunuz. Adım adım yazarsam sanırım daha rahat anlaşılır:
- NVIDIA Optimus yapılandırmalarını ayarlayın: Configure NVIDIA Optimus in Debian with Bumblebee
- Steam kurulumunu yapın.
- CS:GO’nun başlatıcı dosyasında bazı değişikler yapın.
Değişiklikleri yapmanıza rağmen NVIDIA ekran kartınız devreye girmiyorsa, csgo.sh dosyasındaki if-else bloklarındaki tüm bloklar için “primusrun” komutunu kullanmayı deneyin. Benim csgo.sh dosyam aşağıdaki gibi:
#!/bin/bash # figure out the absolute path to the script being run a bit # non-obvious, the ${0%/*} pulls the path out of $0, cd's into the # specified directory, then uses $PWD to figure out where that # directory lives - and all this in a subshell, so we don't affect # $PWD GAMEROOT=$(cd "${0%/*}" && echo $PWD) #determine platform UNAME=`uname` if [ "$UNAME" == "Darwin" ]; then # Workaround OS X El Capitan 10.11 System Integrity Protection (SIP) which does not allow # DYLD_INSERT_LIBRARIES to be set for system processes. if [ "$STEAM_DYLD_INSERT_LIBRARIES" != "" ] && [ "$DYLD_INSERT_LIBRARIES" == "" ]; then export DYLD_INSERT_LIBRARIES="$STEAM_DYLD_INSERT_LIBRARIES" fi # prepend our lib path to LD_LIBRARY_PATH export DYLD_LIBRARY_PATH="${GAMEROOT}"/bin:"${GAMEROOT}"/bin/osx64:$DYLD_LIBRARY_PATH elif [ "$UNAME" == "Linux" ]; then # prepend our lib path to LD_LIBRARY_PATH export LD_LIBRARY_PATH="${GAMEROOT}"/bin:"${GAMEROOT}"/bin/linux64:$LD_LIBRARY_PATH fi if [ -z $GAMEEXE ]; then if [ "$UNAME" == "Darwin" ]; then GAMEEXE=csgo_osx64 elif [ "$UNAME" == "Linux" ]; then GAMEEXE=csgo_linux64 fi fi ulimit -n 2048 # enable nVidia threaded optimizations export __GL_THREADED_OPTIMIZATIONS=1 # enable Mesa threaded shader compiles export multithread_glsl_compiler=1 # and launch the game cd "$GAMEROOT" STATUS=42 while [ $STATUS -eq 42 ]; do if [ "${DEBUGGER}" == "gdb" ]; then ARGSFILE=$(mktemp $USER.hl2.gdb.XXXX) echo b main > "$ARGSFILE" echo run $@ -game csgo >> "$ARGSFILE" echo show args >> "$ARGSFILE" primusrun ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} -x "$ARGSFILE" rm "$ARGSFILE" primusrun ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@" elif [ "${DEBUGGER}" == "lldb" ]; then ARGSFILE=$(mktemp $USER.hl2.lldb.XXXX) echo "b main" > "$ARGSFILE" echo "env DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH" > "$ARGSFILE" ${DEBUGGER} -s "$ARGSFILE" -- "${GAMEROOT}"/${GAMEEXE} "$@" rm $ARGSFILE else primusrun ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@" fi STATUS=$? done exit $STATUS
Leave a Reply