Автор Тема: компилиране на ядро  (Прочетена 6466 пъти)

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #30 -: Jan 18, 2020, 11:02 »
Изглежда е с това Optimus, което до вчера изобщо не бях чувал.
В  сайта за тая карта- GeForce 705 M -  https://www.geforce.com/hardware/notebook-gpus/geforce-705m пише Supported technologies- Cuda, Optimus, DirectX12. Явно до пробема с прекомпилацията си е работил само с интела. Но нямаше грешки с opengl нито с плазмата, нито с вайбъра. Ще видя и тази тема, благодаря
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #31 -: Jan 18, 2020, 12:09 »
Империята отвръща на удара.

То не е толкова от чипа, че подържал оптимус, колкото от лаптопа и от това как са го вързали.
В онази тема има един линк от леново. Ако си някой щастливец  в биоса може да имаш опция хардуерно да пуснеш само нвидията. Обаче най-вероятно ще духаш супата.

Едно време имаше едни карти voodoo2. Те бяха първите укорителни 3д карти. Но не можеха да работят самостоятелно. Трябваше им отделна стандартна 2д карта. Та те имаха отвънка един rgb кабел дето свързваше нормалната с ускорителната карта. Та това сега много ми прилича на онoва от преди 100 години. . Само дето сега "кабелчето" е скрито вътре в чипа. >:D

https://static.techspot.com/images2/trivia/bigimage/2017/2017-03-19-image-25.jpg
« Последна редакция: Jan 18, 2020, 12:40 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #32 -: Jan 18, 2020, 12:22 »
Ще почета още малко инфо. А за супата, аз я духам цяла седмица и все гореща стои  ;D  Имам лек напредък, по-скоро случаен. Инсталирах от репосите на ROSA 2016.1 (магеята няма пакет на вайбър, а този от официалния сайт не тръгва) viber-10.3.0.37-2-rosa2016.1.x86_64 пакета и вайбъра взе, че тръгна, въпреки това, което вади в терминала :
[nik@localhost ~]$ viber
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed.
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
failed to acquire GL context to resolve capabilities, using defaults..
qrc:/QML/Feed/FeedView.qml:98:5: QML ListViewEx: Binding loop detected for property "bottomMargin"

Ама работи!

По тоя проблем - QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled - досега четох в нета и инсталирах какви ли не либс, но проблема остава. Аз нямам и толкова големи познания, за да разбера същността на проблема. Вайбъра работи иначе. Но плазмата не тръгва. Склонен съм да я прежаля и да си остана в LXDE. А колкото до /etc/x11/xorg.conf, то в момента секцията му за видеокартата изглежда така:

Section "Device"
    Identifier "device1"
    VendorName "Intel Corporation"
    BoardName "Intel 810 and later"
    Driver "intel"
    Option "DPMS"
EndSection

изходът от glxinfo е този:

[nik@localhost ~]$ glxinfo
name of display: :0.0
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".


Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #33 -: Jan 18, 2020, 12:33 »
Инсталирай mesa
Тя ти е 3д opengl библиотеките
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #34 -: Jan 18, 2020, 12:47 »
Всичко, що съдържа в себе си mesa, libmesa, libmesagl +всякакви -devel, е инсталирано (от репосите). Изчетох темата за двете видеокарти. Сега проверих и биоса, в секцията Display > Graphics Device > две опции, Switchable graphics и Integrated graphics. При мен е Switchable. Другата опция там е OS Detection for switchable graphics > Enabled/Disabled- при мен е Enabled.
Предполагам, че ако го сложа Integrated и махна ОС детекшъна, ще работи само интела, но това за уина не ме устройва. Досега си е било на Switchable и OS- enabled. Явно с моите експерименти с прекомпилацията на ядро от сорс се е омазало здраво нещо по тоя OpenGL и оттам плазмата се срина, защото допреди това работеше, нещо, което ми е извън познанията да хвана. Ще почета още малко, но май нещата отиват да си оставам с LXDE. Не искам да преинсталирам в по-новата магея, или да преинсталирам тази, защото е един малък ад пак да местя GRUB на друго място, след като го плясне в МБР и да оправям пак буутлоудъра на Truecrypt.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #35 -: Jan 18, 2020, 13:19 »
 Я виж това. Явно темата се върти около динамичният лоадер и към това как се зареждат gl библиотеките или омотани линкове. Ако се опиташ да преинсталираш меса това няма ли да оправи конфиговете и или линковете към библиотеките.?

https://bbs.archlinux.org/viewtopic.php?id=209230
« Последна редакция: Jan 18, 2020, 15:02 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #36 -: Jan 18, 2020, 14:08 »


https://bbs.archlinux.org/viewtopic.php?id=209230

Това помогна! Изчетох много внимателно. Въпреки, че не ползвам в момента нвидията, драйвъра й си стои (от техния сайт, уж точно за моята GF705M и не работеше де).

Доколкото разбрах, при мен се опитва да търси тоя glx тука - /usr/lib/nvidia/libGL.so.1 и т.н., вместо където е на месата- /usr/lib/xorg/modules/extensions/libglx.so

Вместо да редактирам ръчно /etc/ld.so.conf с голяма степен на вероятност да осера нещо, избрах по-лесния вариант:
su -l root, init 3
#cd /където е нвидията от сайта им
#sh /NVIDIA-нещо си-.run --uninstall ... uninstal completed
#/sbin/ldconfig
init 5
Не съм пипал mesa-та, защото за нейния ънинстал ми поиска да махне поне стотина зависимости, между които и целия Х, а не исках да рискувам с rpm -e --force --nodeps и такива.
И алелуя. Плазмата тръгна, няма вече никакви Unable to load OpenGL и такива, вайбъра не вади грешки. Благодаря на всички отзовали се. Оставам обаче с LXDE, не го бях позлвал отдавна, но лекотата му ме впечатли. И без нвидия. На магеята не играя, така че не ми трябва тук.  [_]3

Сега всичко работи с интелската карта

[nik@localhost ~]$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.608 FPS
301 frames in 5.0 seconds = 60.020 FPS
301 frames in 5.0 seconds = 60.023 FPS
301 frames in 5.0 seconds = 60.021 FPS
[nik@localhost ~]$ glxinfo | grep "direct"
direct rendering: Yes
    GL_ARB_depth_clamp, GL_ARB_derivative_control, GL_ARB_direct_state_access,
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
    GL_ARB_half_float_vertex, GL_ARB_indirect_parameters,
    GL_ARB_multi_draw_indirect, GL_ARB_occlusion_query2,
[nik@localhost ~]$


ЕДИТ: И повече никакви експерименти няма да си правя с ядра от кернел.орг

Още веднъж благодаря!
« Последна редакция: Jan 18, 2020, 14:24 от Nik123 »
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #37 -: Jan 18, 2020, 14:55 »
Я за протокола пусни едно
ldd /usr/bin/glxinfo

Че ми стана интересно.
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #38 -: Jan 18, 2020, 15:12 »
Като руут, предполагам. Ето :

[root@localhost ~]# ldd /usr/bin/glxinfo
   linux-vdso.so.1 (0x00007ffe3a5ac000)
   libGL.so.1 => /lib64/libGL.so.1 (0x00007f6a68c4c000)
   libX11.so.6 => /lib64/libX11.so.6 (0x00007f6a6890f000)
   libc.so.6 => /lib64/libc.so.6 (0x00007f6a6855c000)
   libz.so.1 => /lib64/libz.so.1 (0x00007f6a68340000)
   libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f6a68116000)
   libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f6a67f13000)
   libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f6a67d10000)
   libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f6a67b09000)
   libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f6a67906000)
   libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f6a676d5000)
   libXext.so.6 => /lib64/libXext.so.6 (0x00007f6a674c3000)
   libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f6a672c0000)
   libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f6a670ba000)
   libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f6a66eb8000)
   libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f6a66c92000)
   libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f6a66a79000)
   libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f6a66874000)
   libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f6a6666e000)
   libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f6a6645d000)
   libm.so.6 => /lib64/libm.so.6 (0x00007f6a6615d000)
   libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6a65f40000)
   libdl.so.2 => /lib64/libdl.so.2 (0x00007f6a65d3c000)
   /lib64/ld-linux-x86-64.so.2 (0x00007f6a68eb7000)
   libXau.so.6 => /lib64/libXau.so.6 (0x00007f6a65b38000)
   libXdmcp.so.6 => /lib64/libXdmcp.so.6 (0x00007f6a65932000)
   libbsd.so.0 => /lib64/libbsd.so.0 (0x00007f6a6571d000)
   librt.so.1 => /lib64/librt.so.1 (0x00007f6a65515000)
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #39 -: Jan 18, 2020, 15:22 »
A libGL.so.1 от кой пакет е?

rpm -qif  /lib64/libGL.so.1
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #40 -: Jan 18, 2020, 15:24 »
[root@localhost ~]# rpm -qif  /lib64/libGL.so.1
Name        : lib64mesagl1
Version     : 17.3.9
Release     : 1.mga6
Architecture: x86_64
Install Date: Tue 11 Dec 2018 02:16:47 PM EET
Group       : System/Libraries
Size        : 905488
License     : MIT
Signature   : RSA/SHA256, Thu 19 Apr 2018 10:29:03 AM EEST, Key ID b742fa8b80420f66
Source RPM  : mesa-17.3.9-1.mga6.src.rpm
Build Date  : Thu 19 Apr 2018 10:16:51 AM EEST
Build Host  : localhost
Relocations : (not relocatable)
Packager    : tmb <tmb>
Vendor      : Mageia.Org
URL         : http://www.mesa3d.org
Summary     : Files for Mesa (GL and GLX libs)
Description :
Mesa is an OpenGL 4.5 compatible 3D graphics library.
GL and GLX parts.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3396
    • Профил
Re: компилиране на ядро
« Отговор #41 -: Jan 18, 2020, 15:33 »
Ха. А при мен Центос7 e от някаква междинна билиотека libglvnd - диспечер, дето както разбирам тя зареждала vendor specific библиотеките. Нещата са се промененили.

rpm -qif  /lib64/libGL.so.1
[naka@sabi ~]$ rpm -qif  /lib64/libGL.so.1
Name        : libglvnd-glx
Epoch       : 1
Version     : 1.0.1
Release     : 0.8.git5baa1e5.el7
Architecture: x86_64
Install Date: Tue 24 Dec 2019 10:47:04 AM EET
Group       : Unspecified
Size        : 657304
License     : MIT
Signature   : RSA/SHA256, Mon 12 Nov 2018 04:32:23 PM EET, Key ID 24c6a8a7f4a80eb5
Source RPM  : libglvnd-1.0.1-0.8.git5baa1e5.el7.src.rpm
Build Date  : Tue 30 Oct 2018 11:24:04 PM EET
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>                                                                                                                                     
Vendor      : CentOS                                                                                                                                                                         
URL         : https://github.com/NVIDIA/libglvnd                                                                                                                                             
Summary     : GLX support for libglvnd                                                                                                                                                       
Description :                                                                                                                                                                                 
libGL and libGLX are the common dispatch interface for the GLX API.                                                                                                                           
[naka@sabi ~]$



А това е с работеща, десктоп nvidia:
[root@sabi ~]# ldd /usr/bin/glxinfo
        linux-vdso.so.1 =>  (0x00007ffe0212b000)
        libGL.so.1 => /lib64/libGL.so.1 (0x00007f43d60be000)
        libX11.so.6 => /lib64/libX11.so.6 (0x00007f43d5d80000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f43d59b2000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f43d5780000)
        libXext.so.6 => /lib64/libXext.so.6 (0x00007f43d556e000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f43d52b8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f43d50b4000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f43d4e98000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f43d4c70000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f43d634a000)
        libXau.so.6 => /lib64/libXau.so.6 (0x00007f43d4a6c000)
[root@sabi ~]#

« Последна редакция: Jan 18, 2020, 15:38 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #42 -: Jan 18, 2020, 15:38 »
Ами доколкото разбирам от инфото в поста ти, и конкретно това :

URL         : https://github.com/NVIDIA/libglvnd 

и факта, че имаш инсталиран драйвър на нвидия, при теб това libglvnd пак си е на нвидия. то и при мен сочеше към libgl.so.1 на нвидия, но като махнах нвидията, и му дадох ldconfig-a, явно сега при мен ползва на mesa-та, с интелската карта. Нвидията при мен изобщо няма да се опитвам да я подкарвам, стига ми толкова главоболие.

Едит: Моя грешка, сега видях тоя линк за libglvnd, да, в твоята дистрибуция май е някаква междинна стъпка към OpenGL - дали на нвидия, дали на месата, каквото имаш инсталирано. Аз поне така го разбирам- libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines which vendor to dispatch each API call to at runtime.

Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.

libglvnd was originally described in Andy Ritger's OpenGL ABI proposal [1]. При мен явно са се омазали нещата, защото и нвидията има opengl и mesa а ги имам и двете и е нормално с карта нвидия и инсталиран драйвър, да ползва на нвидията. Да, ама нвидията не бачка, картата не тръгва, обаче и интелската карта като настройвах, то си търсеше на нвидия opengl-a и ставаше мазало. Сега, като изчистих нвидията, остана само месата и нещата на лаптопа са ок с интелската карта.


Едит 2 : libglvnd contains code from the Mesa project. Source code from the Mesa project is available from:

http://cgit.freedesktop.org/mesa/mesa
 И това го пише в https://github.com/NVIDIA/libglvnd Явно във всяка дистрибуция си решават нещата с opengl различно
« Последна редакция: Jan 18, 2020, 16:00 от Nik123 »
Активен

makeme

  • Напреднали
  • *****
  • Публикации: 895
  • Distribution: Many
  • Window Manager: KDE
    • Профил
Re: компилиране на ядро
« Отговор #43 -: Jan 18, 2020, 22:49 »

виж първо дали си оптимус. Че там нещата са много по-различни и изобщо не можеш да имаш 2д графика от nvidia. При оптимус можеш да пуснеш нвидиата в 3д само за няккоя игра, но не и за десктоп.


Мисля че това е най-подходящата тема, да напиша за тоя оптимус, как стоят нещата:

Какво е оптимус (накратко)? Това е технология, която автоматично преценява и превключва Intel към Nvidia (и обратно) според нуждите на системата.

  • При Linux няма работещ оптимус (това че картата ти поддържа оптимус, не значи че имаш оптимус : ) ).
  • Ако си с драйверите от нвидия има да си избираш или Intel, или Nvidiа за постоянно (изисква се рестарт, за да се превключи)
  • За да се превключва от Intel към Nvidia без рестарт, се използва bumblebee. При него обаче винаги изпозлваш Intel и ръчно пускаш Nvidiа за съответното приложение (с optirun)
« Последна редакция: Jan 18, 2020, 23:21 от makeme »
Активен

Distributions:  UbuntuMate; Kubuntu; CentOS; Kali; Raspberry Pi OS ...

Nik123

  • Напреднали
  • *****
  • Публикации: 3113
  • Distribution: Mageia, Q4OS
    • Профил
Re: компилиране на ядро
« Отговор #44 -: Jan 18, 2020, 23:27 »
Мейкми, вече схванах и аз за какво иде реч с тоя оптимус на нвидията, благодарение на тая тема и включилите се в нея. Стартира интел, а ако ще ти трябва 3д графика, за да тръгне нвидията (и то не автоматично), а с такава гимнастика- "За да се превключва от Intel към Nvidia без рестарт, се използва bumblebee" под линукс. При него обаче винаги използваш Intel и ръчно пускаш Nvidiа за съответното приложение (с optirun)"- най-малко си правиш някакъв шел скрипт от сорта на /bin/bash
./optirun нещо си
T.e. използваш допълнителна програма - бамбълби в случая, както разбирам, че и ръчно. Щом няма работещ оптимус за линукс, в моя случай си оставам на интела. Игрите и без това са под уина. Но ми е интересно, защо няма работещ оптимус под линукс- производителя на хардуера не го е*е за потребителите на нещо извън уиндоус?
« Последна редакция: Jan 18, 2020, 23:30 от Nik123 »
Активен