Πρόβλημα με το gcompris-qt

Ξεκίνησε από alkisg, 18 Σεπ 2018, 12:43:41 ΜΜ

« προηγούμενο - επόμενο »

alkisg

Η νέα έκδοση του gcompris χρησιμοποιεί OpenGL και επιτάχυνση 3D. Δυστυχώς έτσι σε κάποιες παλιές κάρτες γραφικών είτε δεν ανοίγει καθόλου (segmentation fault) είτε δείχνει άσπρη οθόνη.

Μια λύση είναι να απενεργοποιήσουμε την επιτάχυνση 3D από το ltsp.conf, είτε κεντρικά κάτω από το [clients] είτε κάτω από την ενότητα [mac-address] του εκάστοτε σταθμού εργασίας, βάζοντας τις παρακάτω γραμμές:

# Να εκτελείται το gcompris-qt χωρίς επιτάχυνση γραφικών.
POST_INIT_GCOMPRIS="printf '#!/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1 exec /usr/games/gcompris-qt \"\$@\"\n' > /usr/local/bin/gcompris-qt; chmod +x /usr/local/bin/gcompris-qt"
# Εναλλακτικά: κανένα πρόγραμμα να μην χρησιμοποιεί επιτάχυνση γραφικών
# POST_INIT_SOFTWARE_OPENGL="echo 'export LIBGL_ALWAYS_SOFTWARE=1' >/etc/X11/Xsession.d/50sch-scripts"
# Να μην χρησιμοποιείται η επιτάχυνση vaapi που μερικές φορές κρασάρει το gcompris-qt
POST_INIT_RM_VAAPI="rm -f /usr/lib/*-linux-gnu/gstreamer-1.0/libgstvaapi.so"

edit: το νέο gcompris-qt υποστηρίζει και μια σχετική παράμετρο --software-renderer. ΔΕΝ την προτιμάμε γιατί μετά την αποθηκεύει μόνιμα στο λογαριασμό χρήστη, οπότε μετά αν ο χρήστης αλλάξει client πάλι δεν θα χρησιμοποιεί επιτάχυνση γραφικών.

edit #2: η εντολή ενημερώθηκε ώστε να δουλεύει στο νέο LTSP. Μην ξεχάσετε να εκτελείτε `ltsp initrd` μετά από κάθε αλλαγή στο ltsp.conf.

mitsospap

Παράθεση από: alkisg στις 18 Σεπ 2018, 12:43:41 ΜΜ
Η νέα έκδοση του gcompris χρησιμοποιεί OpenGL και επιτάχυνση 3D. Δυστυχώς έτσι σε κάποιες παλιές κάρτες γραφικών είτε δεν ανοίγει καθόλου (segmentation fault) είτε δείχνει άσπρη οθόνη.

Μια λύση είναι να απενεργοποιήσουμε την επιτάχυνση 3D από το lts.conf, είτε κεντρικά κάτω από το [Default] είτε κάτω από την ενότητα [mac-address] του εκάστοτε σταθμού εργασίας, βάζοντας τις παρακάτω γραμμές:

# Να εκτελείται το gcompris-qt χωρίς επιτάχυνση γραφικών.
INIT_COMMAND_GCOMPRIS="printf '#!/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1 exec /usr/games/gcompris-qt \"\$@\"\n' > /usr/local/bin/gcompris-qt; chmod +x /usr/local/bin/gcompris-qt"

Σαν αυτο που εκανα εγω; Αν απενεργοποιησετε το acceleration θα σερνονται ολα τα γραφικα. Απεγκατασταση του gcompris καλυτερα και εγκατασταση κατι παρομοιο.
Χωρις openGL δεν παιζει κανενα παιχνιδι ή εφαρμογες σαν google maps

alkisg

mitsospap, δοκίμασες το συγκεκριμένο που λέω, ή μιλάς γενικά;
Γιατί εγώ το δοκίμασα σε Pentium 4 με αρχαία κάρτα Nvidia TNT2 και το σχολείο λέει ότι πάει το ίδιο γρήγορα όπως και στην 12.04.

Εντωμεταξύ η λύση που προτείνω απενεργοποιεί την επιτάχυνση μόνο στο gcompris, όχι γενικά, και έτσι οι υπόλοιπες εφαρμογές δεν επηρεάζονται.

mitsospap

Παράθεση από: alkisg στις 18 Σεπ 2018, 06:10:16 ΜΜ
mitsospap, δοκίμασες το συγκεκριμένο που λέω, ή μιλάς γενικά;
Γιατί εγώ το δοκίμασα σε Pentium 4 με αρχαία κάρτα Nvidia TNT2 και το σχολείο λέει ότι πάει το ίδιο γρήγορα όπως και στην 12.04.

Εντωμεταξύ η λύση που προτείνω απενεργοποιεί την επιτάχυνση μόνο στο gcompris, όχι γενικά, και έτσι οι υπόλοιπες εφαρμογές δεν επηρεάζονται.
Δεν καταλαβα οτι απενεργοποιειται μονο στο gcompris. Οχι δεν το δοκιμασα.

Δημήτρης Γκίνης

Σε ένα fat (P4, 2gb ram, gigabit, 82865G Integrated Graphics Controller) το gcompris έχει πρόβλημα: αρχικά εμφανίζει στην οθόνη "ξεπλυμένα" τα χρώματα και μετά κλείνει τελείως.
Δοκίμασα να απενεργοποιήσω την επιτάχυνση 3D από το lts.conf σε αυτόν αλλά τίποτα.
Μου κάνει εντύπωση γιατί δεν είναι τόσο παλιός και η κάρτα γραφικών δεν είναι από τις προβληματικές, σωστά;

alkisg

Δημήτρη αν θες έλα μια βόλτα από το IRC να το δούμε live. Θυμάμαι ότι κάποιες κάρτες γραφικών της σειράς 82xxx της Intel είχαν hardware προβλήματα cache coherency και για χρόνια παιδευόταν οι developers της Intel να τις κάνουν να μην κολλάνε, αλλά δεν θυμάμαι αν το συγκεκριμένο μοντέλο εμπίπτει σε αυτήν την κατηγορία.

Αν θες δοκίμασε και με XSERVER=vesa στο lts.conf. Αργά αλλά σταθερά... :)

alkisg

Τελικά μέσω IRC φάνηκε ότι ήταν λαθάκι κατά την αντιγραφή/επικόλληση της εντολής INIT_COMMAND_GCOMPRIS στο lts.conf οπότε πλέον όλα καλά.

Δημήτρης Γκίνης

Τελικά αποδείχτηκε ότι με απενεργοποίηση τιυ 3d έπαιζε οκ, απλά στην πρώτη δοκιμή είχα γράψει λάθος την σχετική εντολή (είχε ξεμείνει ένα # κάπου).

Update: τώρα είδα το post του Άλκη από πάνω

psyblaster

Γεια σας. Σε 18.04 μου εμφανίζει το παρακάτω:

teacher@teacher-VirtualBox:~$ INIT_COMMAND_GCOMPRIS="printf '#!/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1 exec /usr/games/gcompris-qt \"\$@\"\n' > /usr/local/bin/gcompris-qt; chmod +x /usr/local/bin/gcompris-qt"
bash: !/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1: event not found

teacher@teacher-VirtualBox:~$ INIT_COMMAND_GCOMPRIS="printf '#!/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1 exec /teacher/games/gcompris-qt \"\$@\"\n' > /teacher/local/bin/gcompris-qt; chmod +x /teacher/local/bin/gcompris-qt"
bash: !/bin/sh\n\nLIBGL_ALWAYS_SOFTWARE=1: event not found


alkisg

Καλημέρα psyblaster,

την εντολή αυτή πρέπει να την γράψεις στο αρχείο ρυθμίσεων lts.conf μέσα από τα sch-scripts, όχι στο τερματικό:
http://ts.sch.gr/wiki/Linux/sch-scripts/Αρχεία_ρυθμίσεων

denispyr

Σε υπολογιστή που το gcompris γαχε πρόβλημα αλλά έτρεχε μόνο αν ήσουν επίμονος, ο alkisg το αυτοματοποίησε με αυτή τη ρύθμιση στα γενικά του lts.conf
# Να προσπαθεί να γίνει εκτέλεση του gcompris-qt μέχρι 10 φορές
INIT_COMMAND_GCOMPRIS="printf '#!/bin/sh\n\ni=0\nwhile [ \$i -lt 10 ]; do\ni=\$((i+1))\n/usr/games/gcompris-qt \"\$@\" && break\nsleep 0.1\ndone\n' > /usr/local/bin/gcompris-qt; chmod +x /usr/local/bin/gcompris-qt"
Διονύσης

Δημήτρης Γκίνης

@Άλκη: μόλις κλείσαμε χτες το IRC, δοκίμασα στο pc1 (αυτό που δεν ξεκίναγε το gcompris ο χρήστης ergast-1 με την καμία!!!) το εξής

(θυμίζω ότι όταν στο pc1 συνδέθηκες ως ergast-5 - χρήστης που είχε ήδη εκτελέσει επιτυχώς το gcompris στο fat client pc5 - έπαιξε):

συνδέθηκα - στο pc1 πάντα - ως ergast-11, χρήστης που μέχρι τότε δεν είχε κάνει login σε κάνενα μηχάνημα και ΔΕΝ ΕΠΑΙΞΕ!!

ΥΓ: είχα δοκιμάσει και στον server να συνδεθώ ως ergast-1 την ώρα που μιλάγαμε, αλλά..... δεν θυμάμαι τι έκανε το @#$%^%&^ (στον server ως administrator έπαιζε πάντως)

alkisg

Ναι αυτό είναι δαιμονισμένο, σαν ergast-2 και 5 και 6 παίζει, σαν 1 και 11 δεν παίζει.
Όταν ξαναβρεθούμε στο IRC θέλω να δοκιμάσω να κρατήσω backup του ergast-2, μετά να τον καθαρίσω, και να δω αν έτσι θα παίξει. Αν όχι, θα αρχίσω να ψάχνω τι (*#$(*&# ρυθμίσεις έχει ο 2 και εκεί παίζει.
Λες να παίζει αν ο χρήστης το έχει τρέξει πρώτα σε άλλο PC; Δεν αποκλείεται, να είναι θέμα του κώδικα "αρχικοποίησης" του gcompris... Πάντως αυτό δεν μου πολυακούγεται σαν θέμα γραφικών.

Δημήτρης Γκίνης

Πρόβλημα γραφικών σίγουρα δεν είναι: αν ήταν δεν θα έπαιζε με κανένα χρήστη στο συγκεκριμένο μηχάνημα.
Στο συγκεκριμένο σχολείο θα ξαναπάω από εβδομάδα (και αν, είναι φορτωμένο το πρόγραμμα. Είναι και αυτά τα νηπιαγωγεία μωρέ παιδάκι μου.....)

alkisg

Παράθεση από: Δημήτρης Γκίνης στις 24 Σεπ 2019, 10:29:19 ΠΜ
Πρόβλημα γραφικών σίγουρα δεν είναι: αν ήταν δεν θα έπαιζε με κανένα χρήστη στο συγκεκριμένο μηχάνημα.

Μην το λες... παραδείγματα:
Αν τρέξεις μια φορά `gcompris-qt --software-renderer` αποθηκεύεται ανά χρήστη και μετά τρέχει πάντα με software, οπότε κάνει διαφορά, π.χ. να παίζει μόνο με αυτόν τον χρήστη, ή αντίθετα να μην παίζει μόνο με αυτόν τον χρήστη.
Αν πας στο mate-tweak και ορίσεις ότι ο window manager είναι marco --no-composite, αποθηκεύεται ανά χρήστη και μετά κάνει διαφορά, π.χ. αυτός ο χρήστης να κάνει login σε clients με nvidia ενώ άλλοι χρήστες να κρασάρουν.
Κλπ κλπ...