@@ -14,14 +14,36 @@ RED='\033[0;31m'
1414GREEN=' \033[0;32m'
1515YELLOW=' \033[1;33m'
1616CYAN=' \033[0;36m'
17- BOLD=' \033[1m'
1817RESET=' \033[0m'
1918
2019log () { echo -e " ${CYAN} [dev-watch]${RESET} $* " ; }
2120ok () { echo -e " ${GREEN} [dev-watch]${RESET} $* " ; }
2221warn () { echo -e " ${YELLOW} [dev-watch]${RESET} $* " ; }
2322err () { echo -e " ${RED} [dev-watch]${RESET} $* " ; }
2423
24+ # --- Qt render backend otomatik sec ---
25+ # GPU olmadan calisan sistemlerde (NVIDIA surucusu kurulu degil, VM, vb.)
26+ # Qt'un EGL hatasi vermemesi icin fallback backend ayarla
27+ setup_qt_env () {
28+ # Eger kullanici zaten bir backend secmisse dokunma
29+ if [[ -n " ${QSG_RHI_BACKEND:- } " || -n " ${QT_XCB_GL_INTEGRATION:- } " ]]; then
30+ return
31+ fi
32+
33+ # EGL/DRI2 kullanilabilir mi kontrol et
34+ if command -v glxinfo & > /dev/null && glxinfo 2> /dev/null | grep -q " direct rendering: Yes" ; then
35+ # Donanim hizlandirma var, varsayilan backend kullan
36+ log " OpenGL donanim hizlandirma mevcut, varsayilan renderer kullaniliyor."
37+ else
38+ # Yazilim renderer'a gec - GPU olmayan / surucusuz ortam
39+ warn " GPU/EGL hizlandirma bulunamadi, yazilim renderer'a geciliyor."
40+ warn " NVIDIA surucu kurulduktan sonra bu uyari kaybolacak."
41+ export QT_XCB_GL_INTEGRATION=none
42+ export LIBGL_ALWAYS_SOFTWARE=0
43+ export QSG_RENDERER_DEBUG=" "
44+ fi
45+ }
46+
2547# --- Bagimlilik kontrolu ---
2648if ! command -v inotifywait & > /dev/null; then
2749 err " inotify-tools bulunamadi. Kurmak icin:"
@@ -35,6 +57,12 @@ if [[ ! -d "$BUILD_DIR" || ! -f "$BUILD_DIR/CMakeCache.txt" ]]; then
3557 exit 1
3658fi
3759
60+ if [[ ! -f " $BINARY " ]]; then
61+ warn " Binary bulunamadi: $BINARY "
62+ warn " Once sunu calistir: ./scripts/fedora-bootstrap.sh"
63+ exit 1
64+ fi
65+
3866# --- Uygulamayi durdur ---
3967stop_app () {
4068 if [[ -n " $APP_PID " ]] && kill -0 " $APP_PID " 2> /dev/null; then
@@ -52,8 +80,8 @@ build_and_run() {
5280 if cmake --build " $BUILD_DIR " -j" $( nproc) " 2>&1 ; then
5381 ok " Build basarili"
5482 stop_app
55- log " Uygulama baslatiliyor: $BINARY "
56- " $BINARY " &
83+ log " Uygulama baslatiliyor... "
84+ " $BINARY " 2> /dev/null &
5785 APP_PID=$!
5886 ok " ro-control calisiyor (PID: $APP_PID )"
5987 else
@@ -71,11 +99,15 @@ cleanup() {
7199}
72100trap cleanup SIGINT SIGTERM
73101
102+ # --- Qt ortam degiskenlerini ayarla ---
103+ setup_qt_env
104+
74105# --- Baslangic ---
75106echo " "
76107log " ro-Control dev-watch modu"
77- log " Izlenen dizin : $ROOT_DIR /src "
108+ log " Proje dizini : $ROOT_DIR "
78109log " Build dizini : $BUILD_DIR "
110+ log " Izlenen dizin : $ROOT_DIR /src"
79111log " Cikmak icin : Ctrl+C"
80112echo " "
81113
0 commit comments