Bon je vais essayer d’installer bumblebee et je vous tiens au courant.
@xddj, tu ferais bien de donner le modèle exact de ton portable, histoire que l’on puisse se rencarder davantage et éviter éventuellement d’autres pertes de temps.
google : debian nvidia hybride
Asus x552c
Ca y est, j’ai installé le pilote. Ca a booté, mais le problème c’est que dans le fichier xorg.conf, c’est toujours “nouveau” qui est marqué, mais pourtant, il est bien blacklisté j’ai vérifié avec lsmod, il n’apparait pas.
C’est quoi ce délire ?
edit: voilà la liste de tout ce que j’ai installé:
bbswitch-dkms bumblebee primus primus-libs primus-libs:i386
primus-libs-ia32:i386 socat
bumblebee-nvidia glx-alternative-mesa glx-alternative-nvidia glx-diversions
libnvidia-glcore libnvidia-ml1 libxnvctrl0 nvidia-alternative
nvidia-installer-cleanup nvidia-kernel-common nvidia-kernel-dkms
nvidia-kernel-support nvidia-legacy-check nvidia-modprobe nvidia-settings
nvidia-support nvidia-vdpau-driver update-glx xserver-xorg-video-nvidia
Merci pour le modèle.
Désolé, mais même avec le recul avec Optimus, je ne suis pas un expert…
Mon portable Asus avec Optimus est avec Gentoo.
Je suis une bille avec Debian
Il y a plusieurs façons de gérer une vidéo hybride.
Vois les résultats de la recherche citée plus haut.
nVidia en hybride + GNU/Linux c’est spécial…
Non mais je crois que je vais laisser tomber, car d’après ce que je lis sur le net, ce n’est pas très bien supporté. Et apparemment, on a plus besoin du fichier xorg.conf, voilà pourquoi mon système fonctionne quand même, mais en tout cas je n’ai pas plus de fps qu’avant, donc je vais tout enlever et remettre “nouveau”.
Merci quand même à vous.
Bonjour @xddj
C’est dommage de perdre le fil.
https://wiki.debian.org/fr/NvidiaGraphicsDrivers#Identification
# lspci -nn | grep -e 3D -e Display -e VGA
en gérant les guillemets ordinaires, c’est : # lspci -nn | egrep -i "3d|display|vga"
Note : si cette commande lspci renvoie en sortie plus d’une ligne, vous avez une puce graphique Optimus (hybrid), et les instructions sur cette page ne s’appliquent pas à vous. Veuillez plutôt consulter la page fr/Bumblebee.
https://wiki.debian.org/fr/Bumblebee :
Avis aux utilisateurs de versions de Debian supérieures à Wheezy : les paquets de Bumblebee sont disponibles directement dans les archives Debian. Vous pouvez allez directement à la section Installation. Pour résumer, c’est maintenant très simple : il suffit d’installer bumblebee ou bumblebee-nvidia et primus.
https://wiki.debian.org/fr/Bumblebee#Installation :
Les utilisateurs de version de Debian supérieure à Wheezy peuvent tout installer à partir des dépôts officiels.
Pour ceux qui voudraient utiliser le pilote libre nouveau :
# apt-get install bumblebee primus
Pour ceux qui voudraient utiliser le pilote propriétaire nvidia (les sources contrib et non-free doivent être présente dans votre fichier sources-list) :
# apt-get install bumblebee-nvidia primus
Les utilisateurs d’un système 64 bits qui veulent profiter de Bumblebee avec primus lorsqu’ils exécutent des applications 32 bits devront aussi installer primus-libs:i386. Cela requiert la prise en charge de Multiarch.
édition :
primus-libs:i386 est obsolète ; il est remplacé par primus-libs-ia32
https://wiki.debian-fr.xyz/NVidia_Optimus_Bumblebee#Ajout_support_architecture_32_bits
https://wiki.debian.org/fr/Bumblebee#Post-installation :
Vous devez ajouter votre utilisateur au groupe bumblebee pour pouvoir utiliser optirun, c’est-à-dire exécuter la commande
# adduser $USER bumblebee
où $USER correspond à votre nom d’utilisateur. N’oubliez pas de vous déconnecter puis de vous reconnecter pour cette modification soit prise en compte.
Si sudo est configuré pour votre utilisateur courant, c’est-à-dire si votre utilisateur est membre du groupe sudo, cette étape n’est pas nécessaire (le script post-installation du paquet bumblebee se charge d’ajouter automatiquement les utilisateurs de sudo au groupe bumblebee). C’est probablement la raison pour laquelle Bumblebee marche directement avec Ubuntu mais pas avec Debian, avec la même configuration d’origine, en fait Ubuntu installe sudo par défaut ; ce qui n’est pas le cas de Debian. Pour être clair, sudo n’est pas nécessaire pour utiliser bumblebee ; juste; il simplifie les choses en rendant l’addition manuelle de l’utilisateur courant au groupe bumblebee inutile.
https://wiki.debian.org/fr/Bumblebee#Utilisation :
Pour exécuter vos applications avec la carte indépendante NVIDIA, entrez dans un terminal :
$ optirun [options] <application> [application-parameters]
Exemple:
$ optirun glxgears -info
Pour trouver la liste des options de optirun, ouvrez la page du manuel avec la commande
man optirun
ou exécutez :
$ optirun --help
https://wiki.debian.org/fr/Bumblebee#Gestion_de_l.27alimentation :
Un des buts principaux du projet n’est pas seulement de permettre l’usage du GPU indépendant pour le rendu, mais aussi d’activer la gestion d’alimentation intelligente du dGPU (ndr: discrete GPU) quand il n’est pas utilisé. Pour cela, avec Bumblebee, on utilise soit le module bbswitch soit le module expérimental du noyau vga_switcheroo.
Il existe un paquet bbswitch pour Debian qui est automatiquement installé quand on installe bumblebee à partir des dépôts.
Depuis la version 3.0 de Bumblebee, cette fonctionnalité est activée par défaut et utilise bbswitch. Cela permet une gestion automatique de l’alimentation, sans avoir besoin d’une configuration particulière. Si la gestion de l’alimentation ne fonctionne pas sur votre portable, rendez-vous à la page Power Management (PM), pour aider à améliorer Bumblebee.
Voir aussi les problèmes courants : https://wiki.debian.org/fr/Bumblebee#Probl.2BAOg-mes_courants
.
Pour mon système, sans commande optirun en cours, j’ai ma nVidia discrète éteinte :
$ cat /proc/acpi/bbswitch
0000:01:00.0 OFF
et pas de module nvidia chargé :
# lsmod | grep nvidia
#
Avec la commande $ optirun glxgears -info
Ou avec la commande $ optirun glxspheres64
La carte est allumée,
$ cat /proc/acpi/bbswitch
0000:01:00.0 ON
les modules sont chargés,
# lsmod | grep nvidia
nvidia_drm 40960 1
nvidia_modeset 1077248 5 nvidia_drm
nvidia 13852672 234 nvidia_modeset
Curieusement, je ne constate pas une valeur FPS ou Mpixels/sec supérieure avec l’emploi de optirun pour ces deux commandes.
Tu dois pouvoir lancer ton csgo avec optirun et constater une très nette montée en FPS ; normalement.
C’est l’objectif.
Je vois la différence pour la lecture de vidéos sans saccade et aussi pour une visualisation fluide de l’animation des vents du site https://www.ventusky.com/ sans faire souffler mon ordi portable comme un diable.
Je ne joue pas avec mon portable et la nvidia discrète reste bien souvent éteinte.
Avant d’avoir bbswitch et bumblebee en place, cette nvidia discrète était constamment allumée sans que je puisse l’utiliser ni l’éteindre ; Cela faisait chauffer le portable pour rien.
C’est un bonheur de la savoir éteinte avec le fonctionnement 24/365.
Je souhaite que tu parviennes à un bon FPS pour ton jeu.
Je ne peux pas vraiment t’aider pour le fichier de configuration xorg.conf et tant mieux si il n’y a plus besoin de s’en occuper.
.
n73sm ~ # lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0116] (rev 09)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 620M/630M/635M/640M LE] [10de:0de9] (rev a1)
Merci à toi pour toutes ces infos, je vais retenter l’installer plus tard. Je vous tiendrais au courant.
Malheureusement je crois que l’installation du pilote donnera le même résultat que la dernière fois c’est à dire le même nombre de fps que le pilote “nouveau”.
Car mon frère à un pc sous Windows 10 avec une nvidia 920m, donc plus puissante que la mienne et pourtant, il a le même nombre de fps que moi sous csgo…
Donc je ne vais pas retenter d’installer le pilote propriétaire.
Merci quand même beaucoup à toi pour toutes ces explications qui serviront sans doute à d’autres personnes.
J’ai retenter le coup et voilà ce que ça me dit:
root@localhost:~# optirun glxgears -info
No protocol specified
primus: fatal: failed to load any of the libraries: /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1:/usr/lib/i386-linux-gnu/nvidia/libGL.so.1:/usr/lib/nvidia/libGL.so.1
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
root@localhost:~#
root@localhost:/home/slack# adduser $slack bumblebee
adduser : Le groupe « bumblebee » existe déjà.
root@localhost:/home/slack#
@localhost:~$ lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09)
01:00.0 3D controller [0302]: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [10de:1140] (rev ff)
@localhost:~$
root@localhost:~# optirun glxspheres64
[ 307.950568] [ERROR]Error running "glxspheres64": No such file or directory
root@localhost:~#
root@localhost:~# cat /proc/acpi/bbswitch
0000:01:00.0 OFF
root@localhost:~#
lsmod | grep nvidia
(rien) (je n’ai aucun module nvidia chargés)
root@localhost:~# adduser $USER bumblebee
Ajout de l'utilisateur « root » au groupe « bumblebee »...
Adding user root to group bumblebee
Fait.
root@localhost:~#
(ça ne change rien au problème, rien de fonctionne)
La seule commande qui fonctionne c’est celle ci:
optirun -b none nvidia-settings -c :8
Que j’ai trouvé sur ce site: https://wiki.archlinux.org/index.php/bumblebee
Ce qui m’a ouvert le panneau de configuration Nvidia où j’ai tout réglé sur “performance” et j’ai constaté une net monté en fps, ce qui est étrange car aucun module Nvidia n’est chargés sur mon système… Je n’y comprend plus rien…
FInalement cette commande à fonctionné:
gpasswd -a user bumblebee
Que j’ai trouvé toujours sur le même site: https://wiki.archlinux.org/index.php/bumblebee
J’attends ta réponse avec impatience en espérant que tu pourras résoudre tout ces bugs.
A savoir que j’ai tenté d’installer toutes les modules Nvidia manuellement via modprobe, ils étaient visibles via un lsmod, ils se sont tous installés mais ils ont tous disparus peut de temps après. Je ne sais pas pourquoi.
Si ton utilisateur courant est slack ; il faut faire :
(en root) # adduser slack bumblebee
sans taper le # et sans le symbole $ avant slack.
Puis fermer les terminaux.
Puis slack doit ouvrir un nouveau terminal pour faire partie du groupe bumblebee ; Pour la prise en compte.
Ensuite optirun peut être lancé par ton utilisateur courant slack, mais pas en root !
Apparemment, au moins un de ces éléments suivants manque pour lancer optirun glxgears -info
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1
/usr/lib/nvidia/libGL.so.1
libGL.so.1 peut être situé à un - ou plusieurs autres - emplacement(s) dans ton système ;
c’est visible avec cette commande utilisée plus loin :
(en root) # ldconfig -p | grep libGL.so.1
Je ne sais pas comment les installer ni si ces éléments sont indispensables pour faire fonctionner optirun.
Installation de VirtualGL est ma meilleure piste.
voir aussi : https://wiki.debian-fr.xyz/NVidia_Optimus_Bumblebee#libGL.so.1 (à appliquer)
apt-get -s install virtualgl
Aucune version du paquet virtualgl n’est disponible, mais il existe dans la base de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète ou qu’il n’est disponible que sur une autre source
glxspheres64 / glxspheres n’est pas encore installé sur ton système.
Indique la même procédure que pour “Installation de VirtualGL”.
Si optirun glxgears -info
échoue encore après l’installation de VirtualGL & des paquets indiqués au “voir aussi” et que libGL.so.1 existe dans ton système, il sera alors peut-être possible de lier avec succès ce libGL.so.1 à l’emplacement où la commande le cherche.
Après l’installation de VirtualGL & des paquets indiqués au “voir aussi” , exécuter :
(en root) # ldconfig -p | grep libGL.so.1
et donner le résultat.
Le bon point est que ta carte nVidia est éteinte quand aucune commande optirun ne tourne.
Tu as ajouté l’utilisateur root au groupe bumblebee, ce n’est pas utile mais c’est pas grave.
Tu as ajouté un utilisateur nommé user au groupe bumblebee, ce n’est pas utile mais c’est pas grave.
Dans mon système, les modules nvidia ne sont chargés automatiquement que lorsqu’une commande optirun tourne et cat /proc/acpi/bbswitch
indique ON que lorsqu’une commande optirun tourne.
Ce n’est pas utile de charger les modules nvidia à la main.
slack pourrait essayer de lancer simplement nvidia-settings ;
optirun nvidia-settings
slack pourrait essayer de lancer simplement csgo ;
optirun /chemin/vers/executable/csgo
Quel environnement graphique de bureau utilises-tu ?
root@localhost:~# adduser slack bumblebee
L'utilisateur « slack » appartient déjà au groupe « bumblebee ».
Ca donne le même résultat avec slack.
root@localhost:~# ldconfig -p | grep libGL.so.1
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libGL.so.1
La libGL.so.1 a l’air d’être installé ? C’est bien ça que ça veut dire ?
Déjà essayé d’installer ces paquets, même résultat. J’étais déjà tombé sur ce tuto lors de mes recherches =)
Voilà ce que ça donne:
root@localhost:~# apt-get install libgl1-nvidia-glx libgl1-nvidia-glx:i386 nvidia-driver-libs nvidia-driver-libs-i386
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites :
nvidia-driver-libs : Dépend: libgl1-nvidia-glvnd-glx (= 390.77-1) mais ne sera pas installé
Casse: libgl1-nvidia-glx mais 390.77-1 devra être installé
Casse: libgl1-nvidia-glx:i386 mais 390.77-1 devra être installé
Recommande: nvidia-vulkan-icd (= 390.77-1) mais ne sera pas installé
nvidia-driver-libs-i386:i386 : Dépend: nvidia-driver-libs:i386 mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
J’ai donc essayé d’installé les paquets un par un et voilà les deux seuls paquets que j’ai pu installer:
libgl1-nvidia-glx libgl1-nvidia-glx:i386
Si je tente d’installer nvidia-driver-libs, mon système veut me virer primus et m’installer tout un tas de paquet sans doute inutile, voilà ce que ça donne:
root@localhost:~# apt-get install nvidia-driver-libs
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
primus-libs socat
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés :
libegl-mesa0:i386 libegl-nvidia0 libegl-nvidia0:i386 libegl1:i386
libgbm1:i386 libgl1-nvidia-glvnd-glx libgl1-nvidia-glvnd-glx:i386
libgles-nvidia2 libgles-nvidia2:i386 libgles2:i386 libglx-nvidia0
libglx-nvidia0:i386 libnvidia-cfg1 libnvidia-cfg1:i386
libnvidia-egl-wayland1 libnvidia-egl-wayland1:i386 libnvidia-eglcore
libnvidia-eglcore:i386 libopengl0:i386 libvulkan1:i386
libwayland-client0:i386 libwayland-server0:i386 nvidia-driver-libs:i386
nvidia-driver-libs-i386:i386 nvidia-egl-common nvidia-egl-icd
nvidia-egl-icd:i386 nvidia-egl-wayland-common nvidia-egl-wayland-icd
nvidia-egl-wayland-icd:i386 nvidia-vulkan-common nvidia-vulkan-icd
nvidia-vulkan-icd:i386
Paquets suggérés :
vulkan-utils vulkan-utils:i386
Les paquets suivants seront ENLEVÉS :
libgl1-nvidia-glx libgl1-nvidia-glx:i386 primus
Les NOUVEAUX paquets suivants seront installés :
libegl-mesa0:i386 libegl-nvidia0 libegl-nvidia0:i386 libegl1:i386
libgbm1:i386 libgl1-nvidia-glvnd-glx libgl1-nvidia-glvnd-glx:i386
libgles-nvidia2 libgles-nvidia2:i386 libgles2:i386 libglx-nvidia0
libglx-nvidia0:i386 libnvidia-cfg1 libnvidia-cfg1:i386
libnvidia-egl-wayland1 libnvidia-egl-wayland1:i386 libnvidia-eglcore
libnvidia-eglcore:i386 libopengl0:i386 libvulkan1:i386
libwayland-client0:i386 libwayland-server0:i386 nvidia-driver-libs
nvidia-driver-libs:i386 nvidia-driver-libs-i386:i386 nvidia-egl-common
nvidia-egl-icd nvidia-egl-icd:i386 nvidia-egl-wayland-common
nvidia-egl-wayland-icd nvidia-egl-wayland-icd:i386 nvidia-vulkan-common
nvidia-vulkan-icd nvidia-vulkan-icd:i386
0 mis à jour, 34 nouvellement installés, 3 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/21,5 Mo dans les archives.
Après cette opération, 80,2 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] n
slack@localhost:~$ optirun nvidia-settings
ERROR: Unable to find display on any available system
Il n’y a que cette commande qui fonctionne pour lancer nvidia-settings:
optirun -b none nvidia-settings -c :8
Cette commande m’ouvre le panneau de configuration Nvidia où je peux tout contrôler, y compris voir la température de ma carte graphique qui est à environ 50°C.
Par contre, j’ai quand même une erreur qui apparait dans le terminal:
slack@localhost:~$ optirun -b none nvidia-settings -c :8
ERROR: nvidia-settings could not find the registry key file. This file should
have been installed along with this driver at either
/usr/share/nvidia/nvidia-application-profiles-390.77-key-documentation
or /usr/share/nvidia/nvidia-application-profiles-key-documentation. The
application profiles will continue to work, but values cannot be
prepopulated or validated, and will not be listed in the help text.
Please see the README for possible values and descriptions.
Comment annuler ces commandes inutile que j’ai exécuté ?
Gnome (debian testing).
J’attends déjà ta réponse pour tout ces opérations que j’ai tenté avant de tester virtualgl.
edit: TIens, je viens de retenter la commande optirun glxgears -info, et cette fois ça a fonctionné, par contre un truc s’est ouvert et s’est refermé direct. Voilà ce que ça donne dans le terminal:
slack@localhost:~$ optirun glxgears -info
GL_RENDERER = GeForce GT 710M/PCIe/SSE2
GL_VERSION = 4.6.0 NVIDIA 390.77
GL_VENDOR = NVIDIA Corporation
GL_EXTENSIONS = GL_AMD_multi_draw_indirect GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_blend_equation_advanced GL_NV_blend_square GL_NV_command_list GL_NV_compute_program5 GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vdpau_interop GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_NVX_gpu_memory_info GL_NV_shader_thread_group GL_KHR_blend_equation_advanced GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum
VisualID 705, 0x2c1
Je crois que ça fonctionne grâce à ces deux paquets que j’ai installé: libgl1-nvidia-glx libgl1-nvidia-glx:i386
Voilà la liste de mes modules chargés juste après un redémarrage (si ça peut t’aider à comprendre):
slack@localhost:~$ lsmod
Module Size Used by
fuse 118784 3
pci_stub 16384 1
vboxpci 28672 0
vboxnetadp 28672 0
vboxnetflt 32768 0
vboxdrv 483328 3 vboxpci,vboxnetadp,vboxnetflt
bbswitch 16384 0
ip6table_filter 16384 0
ip6_tables 32768 1 ip6table_filter
ipt_REJECT 16384 1
nf_reject_ipv4 16384 1 ipt_REJECT
nf_log_ipv4 16384 8
nf_log_common 16384 1 nf_log_ipv4
xt_LOG 16384 8
nf_conntrack_ipv4 16384 5
nf_defrag_ipv4 16384 1 nf_conntrack_ipv4
xt_limit 16384 10
xt_tcpudp 16384 20
xt_NFQUEUE 16384 2
xt_conntrack 16384 5
nf_conntrack 155648 2 xt_conntrack,nf_conntrack_ipv4
libcrc32c 16384 1 nf_conntrack
iptable_filter 16384 1
binfmt_misc 20480 1
nls_ascii 16384 1
nls_cp437 20480 1
vfat 24576 1
fat 77824 1 vfat
uvcvideo 114688 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
videobuf2_common 49152 2 videobuf2_v4l2,uvcvideo
videodev 208896 3 videobuf2_v4l2,uvcvideo,videobuf2_common
media 45056 2 videodev,uvcvideo
intel_rapl 24576 0
arc4 16384 2
ath9k 118784 0
snd_hda_codec_hdmi 61440 1
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
coretemp 16384 0
ath9k_common 20480 1 ath9k
kvm_intel 233472 0
snd_hda_codec_realtek 110592 1
ath9k_hw 487424 2 ath9k_common,ath9k
kvm 724992 1 kvm_intel
snd_hda_codec_generic 86016 1 snd_hda_codec_realtek
ath 32768 3 ath9k_common,ath9k,ath9k_hw
irqbypass 16384 1 kvm
mac80211 827392 1 ath9k
asus_nb_wmi 28672 0
asus_wmi 32768 1 asus_nb_wmi
wmi_bmof 16384 0
mxm_wmi 16384 0
sparse_keymap 16384 1 asus_wmi
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
rtsx_pci_ms 20480 0
intel_cstate 16384 0
cfg80211 774144 4 ath9k_common,ath9k,ath,mac80211
intel_uncore 131072 0
snd_hda_intel 45056 6
intel_rapl_perf 16384 0
efi_pstore 16384 0
memstick 16384 1 rtsx_pci_ms
snd_hda_codec 151552 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
pcspkr 16384 0
joydev 24576 0
evdev 28672 27
i915 1699840 20
efivars 20480 1 efi_pstore
rfkill 28672 5 asus_wmi,cfg80211
sg 36864 0
snd_hda_core 94208 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
serio_raw 16384 0
snd_hwdep 20480 1 snd_hda_codec
iTCO_wdt 16384 0
iTCO_vendor_support 16384 1 iTCO_wdt
drm_kms_helper 192512 1 i915
snd_pcm 118784 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
mei_me 45056 0
mei 110592 1 mei_me
drm 462848 21 drm_kms_helper,i915
video 45056 2 asus_wmi,i915
snd_timer 36864 1 snd_pcm
shpchp 40960 0
snd 94208 20 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
wmi 28672 3 asus_wmi,wmi_bmof,mxm_wmi
soundcore 16384 1 snd
battery 24576 0
i2c_algo_bit 16384 1 i915
asus_wireless 16384 0
button 16384 1 i915
ac 16384 0
loop 32768 0
parport_pc 32768 0
ppdev 20480 0
sunrpc 421888 1
lp 20480 0
parport 57344 3 parport_pc,lp,ppdev
efivarfs 16384 1
ip_tables 28672 1 iptable_filter
x_tables 45056 10 ip6table_filter,xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,ip6_tables,ipt_REJECT,ip_tables,xt_limit,xt_NFQUEUE
autofs4 49152 2
ext4 737280 1
crc16 16384 1 ext4
mbcache 16384 1 ext4
jbd2 118784 1 ext4
crc32c_generic 16384 0
fscrypto 32768 1 ext4
ecb 16384 0
crypto_simd 16384 0
cryptd 28672 2 crypto_simd,ghash_clmulni_intel
glue_helper 16384 0
aes_x86_64 20480 1
hid_generic 16384 0
usbhid 57344 0
hid 135168 2 usbhid,hid_generic
sr_mod 28672 0
cdrom 69632 1 sr_mod
sd_mod 53248 4
rtsx_pci_sdmmc 28672 0
mmc_core 172032 1 rtsx_pci_sdmmc
ahci 40960 3
libahci 40960 1 ahci
xhci_pci 16384 0
crc32c_intel 24576 2
libata 278528 2 libahci,ahci
ehci_pci 16384 0
ehci_hcd 94208 1 ehci_pci
xhci_hcd 262144 1 xhci_pci
psmouse 167936 0
rtsx_pci 73728 2 rtsx_pci_sdmmc,rtsx_pci_ms
lpc_ich 28672 0
i2c_i801 28672 0
scsi_mod 253952 4 sd_mod,libata,sg,sr_mod
r8169 94208 0
mii 16384 1 r8169
usbcore 290816 6 xhci_hcd,ehci_pci,usbhid,uvcvideo,ehci_hcd,xhci_pci
usb_common 16384 1 usbcore
thermal 20480 0
Car il reste toujours le problème des modules Nvidia qui ne se chargent pas…
oui, sauf que primus la cherche dans ces chemins :
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1
/usr/lib/nvidia/libGL.so.1
As-tu réessayé # ldconfig -p | grep libGL.so.1
après avoir installé ces paquets ?
Je pense que tu as bien fait de ne pas procéder à cette installation.
Entendu.
Pour le moment, l’erreur reste peu compréhensible (il faut chercher) mais elle ne me semble pas empêcher optirun de fonctionner.
Installe VirtualGL et retente la commande.
N’oublie pas de réessayer # ldconfig -p | grep libGL.so.1
La liste de tes modules chargés est bonne à prendre, on verra bien.
Je pense que si $ optirun glxgears -info
reste ouvert en affichant des roues dentées colorées tournant, les modules seront chargés.
édition : tente $ glxgears -info
seul aussi, sans optirun.
édition 2 : redémarre le service bumblebee avant d’essayer des commandes optirun ;
# systemctl restart bumblebee
Il vaut mieux y consacrer un autre sujet.
Comment ça cela n’a pas d’importance ?
SI ils ne sont pas affichés lors d’un lsmod, ça veut dire qu’ils ne sont pas chargés non ? Donc qu’ils ne fonctionnent pas ?
Par contre voilà le résultat de cette commande:
root@localhost:~# systemctl restart bumblebee
Failed to restart bumblebee.service: Unit bumblebee.service not found.
C’est quoi ce délire ? Il ne trouve pas bumblebee…
Yes !!
C’est propre à la distribution et comment elle est installée et configurée ; cela n’a pas d’importance.
édition (rappel) :
Les modules nvidia ne sont chargés automatiquement que lorsqu’une commande optirun / primusrun tourne et cat /proc/acpi/bbswitch
n’indique ON que lorsqu’une commande optirun / primusrun tourne. Les modules sont déchargés automatiquement à l’arrêt de la commande optirun / primusrun.
Ce comportement peut être modifié avec les options du module bbswitch.
Comment ça cela n’a pas d’importance ?
SI ils ne sont pas affichés lors d’un lsmod, ça veut dire qu’ils ne sont pas chargés non ? Donc qu’ils ne fonctionnent pas ?
Par contre voilà le résultat de cette commande:
root@localhost:~# systemctl restart bumblebee
Failed to restart bumblebee.service: Unit bumblebee.service not found.
C’est quoi ce délire ? Il ne trouve pas bumblebee…
Tu avais 800 FPS pour $ optirun glxgears -info
et pour moi c’est un bon indicateur.
Tu as effacé cet extrait ; dommage.
Je ne connais pas le fonctionnement précis des modules avec Debian.
Essaie $ optirun glxspheres
ou $ optirun glxspheres64
Et $ glxspheres
ou $ glxspheres64
Vérifie l’état de la nVidia pendant l’exécution d’une commande optirun avec ;
$ cat /proc/acpi/bbswitch
J’ai dû me tromper pour l’existence du service bumblebee.
édition : le service se nomme bumblebeed (avec un d final)
Redémarrer le service blumbebee
Selon votre version de debian :Soit : /etc/init.d/bumblebeed restart
Soit : service bumblebeed restart
Soit : systemctl restart bumblebeed
Il est peut-être temps d’essayer de lancer csgo avec optirun.
slack@localhost:~$ optirun glxspheres
/usr/bin/vglrun: 257: exec: glxspheres: not found
slack@localhost:~$ optirun glxspheres64
/usr/bin/vglrun: 257: exec: glxspheres64: not found
slack@localhost:~$ glxspheres
bash: glxspheres : commande introuvable
slack@localhost:~$ glxspheres64
bash: glxspheres64 : commande introuvable
(pendant optirun glxgears -info)
slack@localhost:~$ cat /proc/acpi/bbswitch
0000:01:00.0 ON
En tout cas, ça ne change strictement rien dans mon jeux, je suis toujours à environ 20 fps comme avec “nouveau”. Pour moi, il faut trouver comment charger ces modules, sinon ça ne fonctionnera jamais.
Le programme doit être appelé avec son chemin complet.
Il faut localiser soit glxspheres ou glxspheres64.
$ optirun /chemin/vers/executable/glxspheres
(ou glxspheres64)
Comment lances-tu ton jeu ?
$ optirun /chemin/vers/executable/csgo
est la bonne méthode.
ok, mais je ne connais pas le chemin complet.
Par contre je viens de me rendre compte qu’il y a deux fichier xorg.conf dans /etc/bumblebee
Un qui s’appelle xorg.conf.nouveau et un autre qui s’appelle xorg.conf.nvidia
Et aussi un fichier qui s’appelle bumblebee.conf
Voilà sont contenu:
# Configuration file for Bumblebee. Values should **not** be put between quotes
## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d
# Xorg binary to run
XorgBinary=/usr/lib/xorg/Xorg
## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false
# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
# bbswitch - new in BB 3, recommended if available
# switcheroo - vga_switcheroo method, use at your own risk
# none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia/nvidia,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
Je vais essayer
Et voilà le xorg.conf.nvidia
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "false"
Option "AutoAddGPU" "false"
EndSection
Section "Device"
Identifier "DiscreteNvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
# If the X server does not automatically detect your VGA device,
# you can manually set it here.
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
# as you see in the commented example.
# This Setting may be needed in some platforms with more than one
# nvidia card, which may confuse the proprietary driver (e.g.,
# trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
# BusID "PCI:01:00:0"
# Setting ProbeAllGpus to false prevents the new proprietary driver
# instance spawned to try to control the integrated graphics card,
# which is already being managed outside bumblebee.
# This option doesn't hurt and it is required on platforms running
# more than one nvidia graphics card with the proprietary driver.
# (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
# If this option is not set, the new Xorg may blacken the screen and
# render it unusable (unless you have some way to run killall Xorg).
Option "ProbeAllGpus" "false"
Option "NoLogo" "true"
Option "UseEDID" "false"
Option "UseDisplayDevice" "none"
EndSection
https://askubuntu.com/questions/344216/glxspheres-not-found-how-to-install indique :
Run glxspheres:
cd /opt/VirtualGL/bin/
./glxspheres
OR
/opt/VirtualGL/bin/glxspheres