From 0bbe1e9ec2681bbc2f9ec4a3e2cdb78977b22e52 Mon Sep 17 00:00:00 2001 From: Emma Truong Date: Mon, 22 Dec 2025 12:59:08 -0700 Subject: [PATCH 1/2] creating a basic nvidia article for customers to reference --- content/nvidia-graphics-pop.md | 142 ++++++++++++++++++++++++ static/images/nvidia-pop/nvidia-smi.png | Bin 0 -> 35039 bytes 2 files changed, 142 insertions(+) create mode 100644 content/nvidia-graphics-pop.md create mode 100644 static/images/nvidia-pop/nvidia-smi.png diff --git a/content/nvidia-graphics-pop.md b/content/nvidia-graphics-pop.md new file mode 100644 index 0000000000..75d100cc28 --- /dev/null +++ b/content/nvidia-graphics-pop.md @@ -0,0 +1,142 @@ +--- +title: NVIDIA Drivers on Pop!_OS +description: > + Install, remove and troubleshoot NVIDIA drivers +keywords: + - Support + - Guides + - System76 + - NVIDIA + - dedicated graphics + - linux + +facebookImage: /_social/article +twitterImage: /_social/article + +hidden: false +section: pop +tableOfContents: true +--- + +The NVIDIA driver is software that allows the operating system to communicate with the NVIDIA graphics card in order to control the GPU, manage performance, handle displays, and run graphics smoothly. This enables the computer to properly use the GPU for things like fast graphics, gaming, video editing, and hardware-accelerated apps. + +### List NVIDIA Driver Information + +To list the currently installed NVIDIA driver version, GPU model and CUDA version, open a terminal (SUPER+t) and run the following command. + +```bash +nvidia-smi +``` +The driver version, CUDA version and model information are highlighted in red in the output below. + +![nvidia-smi ouput in the terminal with the NVIDIA driver, CUDA version and model info highlighted in red](/images/nvidia-pop/nvidia-smi.png) + +### Install NVIDIA Driver Versions + +Run `sudo apt update` before installing, removing, or upgrading NVIDIA drivers to prevent missing-package errors and outdated driver installs. + +**System76 NVIDIA Driver** + +Install the NVIDIA driver packaged and tested by System76 to provide graphics stability for Pop!_OS and System76 hardware. + +```bash +sudo apt install system76-driver-nvidia +``` + +**NVIDIA Driver** + +Install a specific NVIDIA driver version by indicating the version number in the command. In the example below, the driver version is '580.' + +```bash +sudo apt install nvidia-driver-580 +``` + +**NVIDIA Driver Open** + +The main NVIDIA Driver with some open modules. Install with the correct version number included in the command. In the example below, the driver version is '580. + +```bash +sudo apt install nvidia-driver-580-open +``` + +**Server** + +Headless/compute‑oriented driver that does not include the Xorg display driver and related graphics stack, keeping only the kernel module and CUDA libraries. Used where no graphical output is neded. + +```bash +sudo apt install nvidia-driver-[version]-server +``` + +**Headless** + +No display driver included, but contains the kernel module and user‑space libraries (CUDA, OpenGL/Vulkan). It’s meant for machines that run GPU workloads without ever attaching a monitor. + +```bash +sudo apt install nvidia-headless-[version] +``` + +**Headless-no-dkms** + +Same as `‑headless`, but the kernel module is **pre‑built** for the current kernel instead of being compiled via DKMS. This eliminates the need for a compiler and DKMS infrastructure, which is handy on minimal container images or very locked‑down systems. + +```bash +sudo apt install nvidia-headless-no-dkms-[version] +``` + +## Remove and Reinstall Specific NVIDIA Driver Version +The following set of commands will purge the Nvidia drivers and reinstall the specified version. This process can help fix a broken NVIDIA driver installation, remove older drivers and install new ones. + +First, update the system packages. + +```bash +sudo apt update +``` + +Purge NVIDIA by removing any package that includes the word 'nvidia.' + +```bash +sudo apt purge ~nnvidia +``` +Clear and update the apt repository cache. + +```bash +sudo apt clean +sudo apt update +``` +Install the specific driver version. + +```bash +sudo apt install nvidia-driver-[version] +``` +Fix any interrupted or incomplete package installations. + +```bash +sudo dpkg --configure -a +``` + +Reboot the system. + +## Suspend and Resume Stability + +Enabling Systemd power management services can help improve suspend and resume stability. + +The following command tells systemd to run NVIDIA’s GPU-specific suspend script whenever the system enters suspend (sleep) mode. + +```bash +sudo systemctl enable nvidia-suspend.service +``` +To restore NVIDIA GPU state after the system resumes from suspend or hibernate, enable nvidia-resume.service. + +```bash +sudo systemctl enable nvidia-resume.service +``` +Save the GPU state and power down GPU safely before hibernation to ensure GPU restores correctly on wake. + +```bash +sudo systemctl enable nvidia-hibernate.service +``` +Prepares GPU for initial suspend and hibernate if the system transitions. + +```bash +sudo systemctl enable nvidia-suspend-then-hibernate.service +``` diff --git a/static/images/nvidia-pop/nvidia-smi.png b/static/images/nvidia-pop/nvidia-smi.png new file mode 100644 index 0000000000000000000000000000000000000000..5578a77b3e8dc7f3f2dc2082c2b03ebc390c2734 GIT binary patch literal 35039 zcmbTe1yq%7w>6BYh?Jm!bPGr;4H5zZ3ew%(-O@@(NQrcVNP~2PN{57$fPm7Cbi=>4 zzUMvf8Rr?_KfZ5|C$<~hd*9c!uC?ZxbFMpBPDTO~jR*}12?_J5q?iH{($xYaq$>od z$nXm1<3kGg-%UG7bw?y5tX9OoS7I2kh>?&eke-S?R&q;TpEB3FGj_rDn>`vEm6AdV z8~X~Ln6R*vb}_1keXW9=uw~;b18uvKKUVk zP2LFS6`mN|H4*&V6fbn%xF(ii=-)W@(*6B(u{W8QJ;8CYBY~YgzOu4XiGh=YL(C^f zj=r-wxgGa zNa<3KuVMUoc7h+|`}cQecJxW?o;-PS7<={4Pkf8FDUnA92Un&Y{`?tffKw0m+MlP( zniR+vJmV7+8k(A}uJ`}E=1!IP^5tVMuf`7_OkCrxIlbp~T#Qdl6nwGso>8@1kIiLk zx+pt4CM9JmrpF~URhx=NTP(ZU|btOj!Kb8uB~B z-XE49ig{RcM6`%Jt?a0Nzo39S>jnXj-Op43k7C_s9UUE(C`p|r&sw9dx2h#N_O(AY zS%?tVCM-M1hHOF*T#?c}%)=R?A+6G#UuUbtsvwHGPptc;Y)*OV!61Rw)3I3PX`)>7 zQ=KU>Cih}GH#4!65Nrdi;%^m;1uJ7eiJTp7YHNJSmtoH@P@z`QaIv9RNBT;sTo(9jdBN+DK#Xn!lH_o>NvK1Y>@G_RHMC-h zp7fzoJ}-DSYDdPQnn^}&DyOP?xVPuIzpCu+UKe61h8jl186utq zk;bf1AxRs3esQ`L$EvGBkDJf5wz9Iaxk-kDQ)>e8zo#Jz3&dt%VL8~{wT!II%9<-P?&EhE& zwb+(lg&LLJqoXRCn)QW+Ok7+Cvu&aITaklV5~ru9w}?0->2dM#@l*L-H@D|HP${LP zdPw6g#n^Yz`6-nB5`8wx2AYLuH&d-E%(y?BJA zd#SgtW#p2JEUVTyPkyP;Ts@C}MK&-)O+EtGAz7d18=>Yi!x4rhHuG=qKYjX?!tXlk z#@KFg_wL;}o{KKJv`9rI44<2ei;Ec<88>g?y1Gc#NMsNce6 zJKbQ~pSri_#LCL5{0x!Me04TTzT>n+hCAN;g8NpL5AUf7!SiV!8xfctEmqj z$Zqhf80VM%T0fgW!<@!Lr*4izRs5OgJe;?~5J<0C9ax~;BZ(gY6jmGQQI9$XT^+$K%EpDioQYWZzC9O=NIz% zA9ShXW;t!YkC+F3Ghl`Vey&T!XnK2hIMjTLRfFpKsu1gqtgeI>2AU^UZ$2z@SK;dC zF3K|Nyb90|O89m61;yA6Jw3Ost$zV<%Ge6yJ>G zr!FoBlhw9qf?f=9J(scdfr4CiR0@Wa)97vW9jN!QivuG`x*&DkB71anemGNYJxPm= z`t92{I}+O(o_j=LRrYi3Wn~ZjJx2ud}BhwDSrmE8z;W2PXtz!^xj1R}oFHxZum!R65S`z zmdNKXRb$B>v#T^Opd%)MIugrHC{9%u zj!P*v7Ik}9a_5xtx=N2~Tnsy5pn>yTb5(V%F^&k))c`o&-HxNm1&#dd(lNG; zxsszb6?3WY55zVNTKsOYtNlT{`T5HTo0M&<9<~1f(p~8xIr-!e6z{Aaf{5UHA zgUzX=cke137P`Bl=`=Mo$RN|fVqxx@2TIdYf6?`il%sF8Pk!UOyR#D#8rl&-E-U^i zjzwGHfhI9=(wjFJ5AjQiin3GFL|(k8MV!QUC=oF=PAdvVMl{>JjEtcjb6%I{huhoR z_wV2Lxi~iU`w{fKpy1RlcX(t(pCAyC&wiJlG9tGpkk2AvmRn$!Hy7`7dp{E;{wQ?c z5SDc?x44s?`I^Ov*bTO&lFCcld0%?X=A9}ybLUI*gU;`nl0t}zxq4z>n>pAwVO`b{ zcF?5}98<*oLZ#GdEZ$}iqm@?m@AGPki;J6>EJDz&IGyyR@T(T84W^$e;_dHa`W(*B&qH$WXl;#8NJvOb zoUU`0YAbYdcJBIIS@a}paIrUGZgH{wmz^0$Vqjo<7%}%dQ?-wJFLzWk53v6#M&L1o#9;>yD7Lgp)&mdC(pAvj)6d&YD0bt zQU@W*7bmQ~{I$y`cdigVK&}Zdk>6d?ZNXR#Ab)l*?x*C-NaTV$xv+w8{QV;ni*YHH zbibM<6Z5L55#q?+IUh1&xnk;LPQ()5F%`({v7Ei}o=YZ}VSxVoM1(LN%Jk>GbN zkqZw)w6rc*a;Q#ZuOVQmkHM{9UYRog4z)inuW96pm~?bj?ri2;k1$hww16C$6bDB~ zM|*p7(Q7}{930Bh(#T)8*t@v&_4YEcvZ~sDUR|}oF9?fRR4X+IC@5I_@H`31@w~(F z=2Sg#??8>Is``^BZNFMx-y#>3#yG}AN7t-%FrIvdILp2f?YjDzTA3<6L&B)$? zGiHg-i7gBh%~+g`x2B@YZZp@uE4HDbYBJbsb|>WQy$;Y#>iyWU*>BZ}sFawy z7H>X$8eSy~yzP(up#82PHt*R+H)kOA`(f%(?99VxeU9s4%!+f8*dmn+(*APV_xzT# zMhKLG*~G?{Ri?QpX=mRwJ4Y526!Zf=YYoB) zbGV$Lz*OgC2vRjVe{<3BSddRfRW+{btiYcju+oK|E#TFwSDBfa5Iy|-{4)(N6!)(~ zs!N&Dy=3MfXcxBbjel^sHPheKMOl@pe0ZG!GFu~L*!0JK6IDEj;1Hzs@gUL|(KhsQ zWob+s?qto;kX35w0s0Q8Q}o{%!*vD)JtT;&IekQaRdG< zBny??wM?9=$qzVdFZQU23RFDSCr>O;9vo;;W<5o#h+(Hpy-tZADj*=Bd`tf-GIHQ8 za&I^{-sdOxaYG^_u>(Y+-o1N2JInk`M#ja}wff`7?-l0JJ5CraL3b@-!H3K^GCNeM zqOkALwJ)BWp3>3M^6~O=x|I>^mtDVpJxd~@s-j|k+imE>^YZHI{{DW|2Ze`+ht*|e zb#}i*%+2#+Vq)s+>sL#HKd|5-7S_G8`N^kmw~KaaC?~R}^9YB3t~#hEe0ZO(``q3` zmswslL*CwtVseF4yFi69dzYMWWM|}*w>c)(6SeR`Vnbj-7;Zd`?rTp@l&31)?mqTx zlPf8S83ZGSv!0}%uNuy7atxwtkIFTjAjw~{IzkS@kg!1EY&C3q$8VY4rV+v?J*CD} zpog|eJfiGfb1t)|rOT3G$=jeh6f+vSQn{t3d>GdCxqi4uA*)keK6JNO4U%cj+SB0* z%QZ_o^*ook!|yn<8g2*c>IEXjjUI<5M@Q00TwejIX2=B92}e(@6)1?o{Qft zw*aYyg@oki=hwa1H4zs66i&(y=olUS(uLR{`u6SH7?_x-Mm6!Bd@;kA;lR$x_&mk48^tZe(3Hj)){r zMx;IZSjk&$I&O29fPg-_D>EyrzMcZHSx5ph5pIkQ9>YzhqfM6sQ;eR)ui5-@C6h~r z8vh^w_zjhk2;WQbmp9Y)NBh>posV~n2}%)-Inu!U2u5TZG5OFj6|>=OO>bY(4wlJ{ zphFeJ50QM^-OqXS{yas}$PSZL{oCiJ$Gt)&`19%>Gxn7~ZLM$9b*jI=I8c4Ip^gm& zQA0yxcd4IlnySj=D-kPeNi>}-8NW-RB6_KDPwdS*wDh=Wf@!*1S|oSxx~`2DvAD(G zjqcK_b6V+)q6RpmD<}7Rw_k{{nKO=08Bg>zmUgrEc_gJMt!!%HiM#SkeKjSe;eMgZ zjuoo2dmjDn?(T+t zYin)ItzimnqnaKSuk$#xadWF#HAY;BF!`S9wKw|l0L>(6%BrjBsPrH?Wys}bXOCQ8 zfR^b;qX&0r8}!m>H*eb8+mBaSYnqlgb%c|m1Los`@xzKYtDk41`X>iSPVqdoG_z3iZ~l{=Pn1L8Efj*Gqaj*je{oXq#{*LoiB07sy_A~N0N<>Bn? z?ByjOLeId^JwAS1-Y-a<#ki_uVPawu8ygGgf*inEASSU!rOvCmy1Ja4r2^HG#Pts7 zn`}fxMBr~nTjt1Evn)X{;5-pQU07HcpPZCUcs z9Bxj*hY8{0bU?`}DJUQ&BC3Nplg|>re&YsXf3y3(g|6;QO-;>6f$HVKq%GuvJlGKi z#{9xU8biSV5z3fnD^7JGdBYG|ul)Sb(a|SA>U??sG#dHpRoBfQ!E=}$7L(APkB^_j zUw>{QlkzNzU7ZG~sqP0H`}p!%)6+QA;zq{CPibz?u0hJLsHh0UAk6G8LtHJA^>0-S zvAz8d+1Z4|#KZ&y@IJ;SCeN}J%5Ht1oFt~i#leY6OS^;!US3|#Q_OMTA$fS?Z$|@J z67U$!y?YQ4`UIm@20*mDyn5qy+SHF9Z^FW$3yMujN{WiYAtdCrp5V~d)}|U69(HPf zLwLD$dEN|*b#`_J|NZ^@H>QOBxX2lPX`NjZN*FJcXjI?qN@#P{}_d@e6w8=wV-g8)aQ zs;X+9M-OO`^>wQRX>rf5y}j=T&HQfMVqs;a`_O4r20h(uIigP>X<-Wx84NUl>x(R{ z^z#$d(Mgr0p?X!DoJ@kz0?9vEu4`}*r(+wwFIVA{ao|e;3~o);j|C3*sjnVJUo0AuJVqjm)H6EIn;CLFFWV9Cq6zICbDHsktr!DfwpjM ztR$_tm<1<}dwg)xO+7&x9}ll>ZX4cze}BKFr3KPPGbC0lRxZS~0yJtP6w`&Q;(fB0 z*Vx!tRI~vAlbMOBQy$yh-5r8@{tWpg66NrZwRgl?3bxFmqM|#u8z8^<`L*n?jm4M_ z3=L5$28ihMZ}}v$n})+l*VEIB-sW?*SSqT13Yh(gjg5_p3ciS>sA!gQUOtca*%7q5 zB&4K}Y7K2{ypMkW;xhV{Oj{k-zf?YMC78A~H%A@a1!XZfIG;&VQ3L!T#~pnh<2ayrzWLGpsHrL3&%DX2@2`xb}IJ})s@7ydfsFyWLx zPk0h^9X0lTN8NMVKq3*nIlrf@r1Vj(@Zg#Nd_(lREEqR$-e+O4v9|E2U|xbFiAlgl z!ONSF>~MavPwsOTMQ|jQl228t=D9U3z|LNN9UY&9*WrEE?8RbLbwk4s*ilNcvsdly z?X6di33ji?H3;)KoT^M_xiA2Oz|DFQj;az%Ww&Sb96l=Lrw* zv9Yny(9A;^7d^L*z;~og{T`W?CMy{B5}SZP5^IB$*I^!72Y`v9dmTW2rLc$3byNFQ zR#b>l$x8$@<4$^<9$4GjZe5(8HhUamQF55{60pQcJ&Gu4GbYBJ?CyR>71iK#*(BPH zV61&3MrPWtgti&@M?xVI^y0%=3~4ifluNZL;B(Os5z$}gyaugbPEJm>)5nHg#_RL|av{Fz>dH#3L0gD+y$j^w#Q1m$|JAj%V4lJ@B@2Q;oNA*7 z3DN+0FC0qMq}P>|9bic){-EZVtBMOgSA$+sJtB)pe#sX@Wy+UwF&80ZVr&fW^_(8p zd#8)8+_WDKnu>jBuDtEmP>!slgM$bJZf2(R^XH~t6Dxf#z47ACcY0X0wY0*?g>)1Y z3`|YAA@#DG_BkEt{lUeaMi-+uq{Tih`;2Abh)_kLQnnhD!tOCJFsKx35fTs_wcHZI z-r8LK9r187TycoA_J|6{O zJ~lSi*|`iqLom1A8f*dM<)-Wj(hI7#kcF9ao3vt-EFfqVy(7OsWZ;NUQc^~c3#mL< zT3=rWA_`h(=cD@V#9p8(Y#^of#4=Bo8Ha|4W5xAMm7Ct;#m;VH&J=HKL<=xz3B-f~ zHC6A*n$~~W?{g6y8JRv?c9%tKV02UmTGQa*r|^KX?&;}i>57U-DknsLF)Np=DCjhZ z2YEu^t5i$nKpJ!g^VxRszNwhuxh$BjbrWYO4`rd zo=Li3i^H}8Af>dl6woSupnqIYs(Ld&A~^9SLX|K7s? z+j!t0y&@qY0WGPky*!}WJAR*!K+W*-^sK9=5I|nXMB*bJF4M^oX<$4(_R8=N{$CS%a0KqqN`J4m)%EmzBog#lkA{{u(BJ)$fA?{9rL?Rj_W|Qtf*V>;6(Gs$3-F=k9S^TN?m=5KG?n zEQm4em-)*I9vf{l|b*0RL4=7(ni-pK8~W6IM|wLPEY^2l;-2TGatOls~Fb} z-xzXAZ*O5m1;_pSE1>GkZ=t&jt`g;=1&cid!oQDEzo6o~jk?9M*Lx+ZjhAjdY1D75W9!|RiqT(Zm`A$e#fl38a);ujD%$DB)%Ve?*RLHxjaZcD=ho`Ie`96NS}<1jE07W&^*@zQ?USAE&KV|S<}VITD|KQY@^kW znkZ=tdv*WF&`>EEnec#s0Kn?2NpqW<7h67;r$D3W>+3@|xwLz%S#1NjO$=3^;6q;C z{oBFo8ymq18|&--A{o$rtY&B8laX!i3c=^n3J4{Q;K zS}l6qCXd77$9;gl?%lhGn$gezb@eVjzRUjV2(Xg*WlZ67uzfeMNPh3`IyyTGIIq47 zNn&?i9e(%j9dsVIb;%#O3Fi#0t*&B=5D^jagqs>0^YZY}(9p0YNTZ{NLh8fbE@jBJ zh!UoNgB6w&LC7vnfeoPR8fEK(1CB_&%f?H7C~m^2cz5rnfrbu87TRsxQkDTm zxna;!$DqNZ@;B*?|1~@N(C6X|U=ulyo$s=~2r4YXpc#k19JD2AX=x5sP-PpTFU$~q z9aO>--qGF;;aCDM-uv)zd_6s#f{rc+$~>$Ev{JzFQ02AlbLF%hDqcQ5cMlK19I5NHvQkotUiKjqVH56w0UD#e(7|PAFYGMzyv8D} z({Bkx$%7|Ux0+#xJv>gIM$-y-ohZfpD}2UpF#S=t64y~=WMmN3O=2R^_WqEpP@DZ3 zKtXG@9_W9kfe*2t6~kMqE-xP%9rgbG^Ra~muoeZYjQP2_AIr)N%E#w%%ZRYO8qLkk zfs;U`1YreeUjU%^q1o;i*1MZi{JLtL=uMFi7n>qtJ0zNNV7d{z5EJQ~K!(KuP)m2r67S#!Q`YiDgjd)J-blr$a6)rud!hVE%F5mi7R$@agG6@~1w+pM^YXG8il04n56}qT ziDC)Fs^@EZd0O?i9QP%fMcNB8G;Jt~i}0oBHU*-tr*S8xx@U z4cp(qRWbp z0u291=(|G_{KzD01G^U-X5BmQ>Ux&CY)rJaiUILL5{z~Y`K7RM@6adEj8HHL^z`)~ zdpd)T($@zqP74;IVJLWMX21zs}E4jj}Yul?K_lG8Vd+goN>L z*;39TW<3MWC5>coAf+2?X~ zgb_e66>@Q29%aXs>ete=p&=na?tcLW0=gW?+D+c)?hC^ZG!O;AlG4)C=N1;e>6nYk zbK+}kYSMZByhyj%8=6!xOr=swe?C*-5||N+i|bZuh$iGv;2&fG;6PIkR|)CA^*Y54 zxyk@Br@CnL+qXeKok3lQAQMoymj>T^cGjSbSnW9RzDVci&y=jJvNX4U@r2L0$;e;@ z>W4{CRp~blZzy|=CdI@6htYI-;i0RmJ8~ID_kCi*#MCr8B^^!~2hsBvzYC;k0RvDA zq6dhObPy*e)oN`vyx4`U1D4P%N{-bw>IArAKp671_s2Hz`#<8Q!$y>pY(aqlS`)gX zX)SHDLILOBSz}QiS6bL=wY;IG6SA8m3;F0|$kFG}($SrsoPfm1$HN0=h>BI2b`*$O z<%Vl)R^QpKUcI{W<(Y-Ws{hS9osa!dGf=8|=x4sX!G8NJ8{i;3NU%&-zGY8VS)-$& zxo^*2m%nT?*oFpkV`Br73xGOnef>eoED8%t%emRvp#JRaY}3AE^?Da(-V#E@88t~1R4cA4hGCBK(c`J#G+O65tBOSasQwZ=DqsmP8ls_8ag^y4MAGk zcA(ORhxZ^^bz9oo+0}TT*X^7ECq!B~y*L4RPL%>1*fh{&@4{8+mKi+-?H3Mk&{9_g zB$ATcTuEL=|H!5$?`U?{pXthGQSKh0N-8QJeiTf}bXV55u`_Yz8W%a79c=@j2j!?( zy}bR$k2ByF^O;6c`HlwHj+UrDJOVT3#h07-9aJH zQdVwT+6D5;^vzXZ@jC3aBqUxR@!3v4+G(B!ga)Dx5JcufAEMZS4yE=FioUa5+t8pD zgD1ZvZRhByS!1WKrltm8r-18arV><$8@I^L&UX6+9zEi+`mSeTaRQfva^u$Wlf;4y zO!sF>?~;?DI)D9T2PO|hb-ran77-T}wLLy_-}QF2X(R52GXI#Syu3YJo{$iNsWZ2< zd>s&wr$#fYKzkfh!&2g|Dkt$0KX2?l14E{pT%Z!eJ#lwzJCdBCm9JB@Bk3;HZh_e- zm4%h92HPNM&CbpOTFEfz8U4GYs5OO!>wsEPQ&TZf#(~+n0PcW=g$45Ed?Sce_MiblUM{q-e)DoV1ghXeCs!|-9k>guW(UFnApwD$5$)YN`$2F6B46#fV@ zDeS5W*<)K{<9kt(oi?{-9RhcHTeT@#mmntrQyFjN3qjnn;6Qw~Wocwo;k>2-Og9Q+ zb{`=nhjI72^z?K%(3r(9zKWhx|?^hnwJIn;u)xv?57If;6ptqj)WU>}NeY9ulr3 z0h=E@u%C>o#n_MO_RCaMR3MWC2M2cx9RQx8m5%=nb{+*=5fHC{Rk{EdPZGCn?7Mdu zq`%*j> zdkJ^cA|fI{zXfHy3r;f7HQ=WZqoQQR6!JRZfG-UcJ4h_R!H*WI!(p+Fyo9cB6E=8t z)qSBGZ-GjFY5kw5HexM8D;87bXW0b>{LmeOxaJAmJcHmj)IAbh&UecSBB%g_cfRok zyH#+BNNQ`Rh-cwcic>|=&xpNEPF~;Kw9(fuH6Nl~FfP$)Q4hhjXJcOfRBNV0ovdF zcxM4c6gd~iH4ivS0A3@uLvU28t0e)D1V=>701}11v%IVf+9z>vLYfVv1BuOu8*+JZ z*nD~1?*s7#rn+&!#UK-A=i~rkl&sZI`zI1^S`ex;%%UjLMhEK?3?9OEK};Q_6SW{fe|UmgM< zgmTL#mBaiS1Uob>J@_Ta;PwSgAG}LM#KgPDXV7TiEFt+v!s?ZmL#6QDIRmUX<8#>< z7pDqrqsR2koZ{jpz0a>o4Le}Xp$`F3^}e8BYM~@SU~PSUe=@Hl&`l#FBY@zbb&Yqp z+G%`CFqkT~%oyC9opmFSsZZ8W5xj5A?`t_H=4 ztCNkMo*v9oXQ2JL%(eytM1Sq?&k?VvsmagAW(VdGz!<=w0NSSR&l+A+e&UEg3zlG2 z+}g4=H8uTDO+C2bXmWNMm?=~Y3=%FYHDluiz-d6Ph*x1iG6XOR|Ltyrtga|{LsLy{ zeWG#=QX@jgUp>8|@gCn*KGgYrkK8*Wpn%B8$V3A%aL@wa)1gfT1b^=>C>oHy9vO9F zzZA9uiD1F-ZKg~0E{2q^hWNn9i1nGStWp9^AFn^78Yjxh~oWM2@gYo zB{v&UrU?d8{3}-nOkl5op~x5diS3k~Iz)s#z^O4wwV%xQ&G8wsdr7JzuCoi%#2$SR zU{5?-&a3I??^tm`mOgxif73TLz1(o{1NBctO#ctgZDPCs)n5iKozCz7nP~ktOD8pC z3x<67RMsaABlx~t%ltQFhj2btS093)59X%&8V)31vb8KLd}}K!5Y*is>A2p#wg=X7 zi@jcjE9rH>9VUhQHa0Xs#zDL*{V8gHUP1!bls3ZX9tM|qQjHofo&`o!O8;dizND{< zc03Og3iIexp8W{!N zW9R{aL!Tdm7Z`HT0z?GUZskRy<&oRxKlf^ce?T&D$d{&#mZX^<(}@H1ac*OyC|N^6 zVF#F?z4?ct7X7kcKMeZg<9Fvx>GwCVT3v1q(NRJyWi&!_?%5FxM(>5h9-IM9Qi!{Item*F3!0t`r1H591bG3>R z9)mf9Z=gyEp01Z~vUGOjrBoKOf?y6VZwkS+61!f}JLJza$? zSN&(b%BB~cbPB&2{-vW9?!yuJ+TTyt42|#$cXthSb!Ao6rTO_}9{bGnbm6vPn=yTa z8KfOT+l*rZsv{VWf$rh694!Q2>p~GG*hgUFK~{eKx&!b%^ohXR4ai?NlW}(5e?!O~ zgi7GcGQ=$5!T%tkca!B+J{!i+@Gx$$7%1mr*Q`uU>2T2ich~7{KrMloHDx0J0s)8> zVh%Go*mBbn4o*&IU^-BND#L=W-PYcI`y4&J1)K*!1}C){z)249_Xk&m)nrvsJ$eAP z2mn@i5$INM#e+tj(pU%e3xq}RRvkb|oNt8#E9AZx#CLWN^%|JC#i-03uS|?mRr)jv zk0Suf?&9+u%coCo9=`y#68aZ_M0>JA=kGHz9@x*e0$UL!Pws3XJD`vA8@lj)n4s|T z3iiR*ZE&*(K#a2c`}hp{19)_HN?KYX3We)qX*&>fV3)vt!9m8*`pZrQY+aU?V9wVD z{hOHBV|(@qRoAy~4qyYykxc_Q_8FEHq7qDCUw+v&!FU6#xB(eg5-Bb&2zg4Hnn`cp z-XrjZ*P}Xf`fu6SZNjF#)pQ6rltg_s6bf71IDG5*3`u0 zZI1x~muVjfplU_Mp|@|}!tTKeM6D}XY6^TC82DuWh>@`eI(JISmt96+UVjARMxU86 zQ^Z)}?&MryiDQiJ`qI(@79eM5PLa-`A$AIiPeVh|@#WiQ*H(2SMSy~P{v5N^1#lCv z(=piT`aQ5Zp9-Z`EeZr zf_fn<<)riJKM|Rf^_oEXyKMddhNRYQdlqapFth>e&jQ}@(Gg6w?Shp$tVg)f%FHbH z^=k>B6s)WYUn3q+vd$iVsB)_SjR(FFEe#DqQl`Kz)UH?Ib%yiO)YOD%c~wg;HmYX? z&-WCeoZ>m!U=5BX#l|lF{OOBbR$2<}DVUawO4ah2reE5TsM6yyr0#2;U7xf9R0&!M zAg7lvUjo-o!E(*-0I2*4&}u;Dmy|JgWEMqDNJ@gHY7e#$*5jug&mSCiuk?Si$CjGh zxz2B+qv1eFseFg?i`%gc02*5tCiVV-YQ=N>Ab6=zEg7_TNKkV`Lq(L}k z;swapVBqOQs#Zp9&vcs93?n861~>v9va_!^xsUxw_MfW>4!#*C4rZ$)SVm|Jlp5wIW?8?R{Nwb=W^V5( z4@(@s-A~~i%Op!eks$G`fY+~~yP)(3oL^@>$py7!K|Tf-`rF9VRF>Pp3W|!*wh8Hd z@&#Uk%l2IejKF|%O(LA+sng5)nwm$Dv)5O54i3aopNNTd8o`i^lhfYi`OGCyF@;bE z+miG8n}?ZiXP)8ZI25)TuG{EtY-Y0GBk{iih8UgAAqAy3e!V@Ex&Rfnua!){2gT(fGmz9g5dY>A-A*jj*M{9(xOnl zOG*MiCv^Yr5Okx~PuF7N;-LBU1bPm9oUQhrKWglS&VFA_0DdwlCFS`wYt#&A^N7N@ z+rHGNKhG55f8p&%uMaA#g$a_tPd}+flugTwk_#hL{mVr*C=Pw5%ASETXMn>-; zK>!*9!%Y_rn1L58YsH!iA>lHNS1p}Ql4-ka+9?0W`fiMuFTp_$LrAvrXG0<>6QWMi z*UmsI3lMpr_X%m1aa)wD=}{>x9c`KxFcAp%9A1Y#U&{24m*2Qli?tGje44VdvK+=b zK{?dY*5#I|0%t%A>P`=a1i}Gp6yD@N1(A6 zf?>)_Y!akr{AoNXMDM`W@wR+Ekw))5C4CL6)Z zxtbz)henP|*Oe9cwLlH{`PpwW7M83x#ZDn_4~Un`vn8S69<-vi1qa}oI!mC-|7?$d z9-`giKtuN`|<}$}%KY@CXVI_Qer_ zG7Nt1sV1*_5K7@EAcKR91XB>etyNZ6-$FwJtGuhd{Y`XqDOp)i&tFKygkh7DZ>_H8 zYkdX(h0bBeDw){87x(UrR5+B zJCY{rAMUvgT@4o)eSk2sw6xrLp~D=TpaGUpuvpvK{hsfNW@cv2kxnQB%P}Tqn9E|X zL1|DEeW}_buM?-)ZE1Knpg13eI+4xF@BmKsIh!K~{!SbfP zcrn&|k=>Ba&@AFefDs7#7$s^n+HY$UteE{#yf|-QG%cgflc9_R4n~v&A(}8 zp9@)t_PMm;mzsZofks^XHkslEu^acf7%7C3gH zw?iZheith_xdA}hLB(dP!(^E)GI+qo0P)7CQiuvlnyRV~5bB^b6ARt0c?!r0tf86> zZreha$FhGYwZ^`hr<>r_0iQ`jHV)+;_*(#zasklH&tC;07TyZsvEk-cUC^!jM+;?f zOAm&i;IKp=j79|0@dtttC?Md4n;ZSiwg zB`z-RJ0PNG%lv_^F|)L^{r>T#Ob!H1&W8`TMb9Q*RQQ~3RD(aF_0cIw^2%9s_2<-=w zTr_(A4kJg$$ViMQ-47r(K%LfQXuiWjO>GFr4L%B>nLF46#l*x4QY)^%`)5C?%jm;W zwKGuYZJUk*yNm?g_au)$*ZBkDmPviYOGhVh++GN?HZa=2Ng(S9d@7_a=t#JJxQuF4 z+sHa|mko_M?uRfi@Yh_QTTp=TSPBTF#20rT zSJ&bPpQxtm*m`J`yRN;ScIYTr6r&Xc6WCH zzKcy;KS`OmqX%uiLSDsZUvM@q0|`LeA$S$(lf=~tz5!#R2IlOw&x2U*aeaaYNlmk9 z@7@jPzdl7q61Kf&O}fng)9gm06p&HR5C6;`rC)XSAZJ4oR)0Np^Tr=0RJa7m>(ifS z;5`-8`}1s|`oEd6zjxK}^1FNgiG&2$ZkHAooK;J~(OLiIa|!_V<-NssjSt)BOI`PShjt z(jg3IiWeZ4fPvZhCxeDDcpKo(49;^a;5Y;fZ!;E`BZ@)7gUDj2lmQ~2=eEI5jqo|a z0SND&>FcwB-UQ}*V4flzf(a^fZt`h(-$hs=mTG7$F5#kXH!;gXY=fE@<__Rr^~N&-$&t<{m0fdS0un_dE5q1&|77VaM{YT^6_)YTX40 z-X^e=&%rp7#qm=mbCjR@V!#pF>_*J`6C;sg_te7oQ6K ztOxlq9Gr42ak}*`Man&8RriP1(tfBWbGJ;7)6Ml4RY}6n_Qc5MTgTXio+$lise-lm58*(Q9|M;o0 zUSJ0`>YVam_69nM!}W1R6_wGxhXq0XOTgXU;qRW9K=cqsp+i6LDg6Oa23NoCkAKk8 z)@BSgD@bWVc0YZ0d`7^x!4Tu}RmJm1;#t_2FJHb}xd0WhlPpcU3y2oH4(=CcwG7Qs z0HpuUcy)456_|mm=;Go61m4?dh}?~kempF5E$Kx%AqL@qe);n1vmOB0rKKgX6Gr9X zN~Dyjmz#i{Z>HWgB6${a$i@Z)oO_un4>NO^v~u>;axovO1~7jw=iF3OVqsiILaUcLT=D@Q8^gFN!t~G)7Ao z`_oF``>(Ar;)mjhugjSU$QQDS7|N6%x2m%<-`YGI+r3!ekTFg7v*Gmlds zi{{E_!8}ad6my<9!2z04(zG!0_YbM>{5tA}7FT2W|q+YA7}ln;w$L zGW;nwdnV|A+zSOJj)S`ZoP%Kk6gCnvGDtc$wzje#6vhUC^l<_U5<&!p`cWr zeZD^i;~3a^!xE&yT}Cj~+uGVnFT3~GK*vTe(x#9>rg-CVbkH=gEF3p(-0+VK3wtgv zFAweonD#U=lSKy?zSr^qWt3!v%~V}(F2ZO9X3nS{g|RGPSfJ`Vn83s*2$f)OsP>7j zZ-ktN(bCY^$f{K%?BAR(CrIv`Ixrx2>sAD4%FwdhLOeh!J`#O_^7k$+F5AzUhKmUI zaVB4EqwF_X?AnhQY;5Ay(IXcZ6$yaG3wW_c%LeYv6xV~WgzjK)5LrXI20b6Z#nWfc zfVgR4D=e1+C!vXzRRe7N516%k^9I-@AgRDXcRP_Q~iW02HBtVp;1tFwy|kkZRuk_6g)hYZ>kE*EJRAdEhn~; ze!dJ*5f+YmRW-pt7E~>ZZn35wA()vxVNi-3;-+*Z1DQcY`S*MJR|;77a_Muf&@ zA4Yi9H$S=(i}X~o^Ke(Sth~dBo&DGZh6uagK`21?+~hOwU1FRG{)qzcGi3d;J8PDh z9s2R3*Q6Y#XXAQ|VGNF|zNje7=lVJtn+gg|U=1fVOX+MVcTm4_Nsn@Mr6z5V8?Ha_ zvq?$B2X)28;g{qX%`jl}Qn7czVVmU~hI{{vgM2JKm^HMu)m2gg?Y^|B;?*nU+rdT# z244(HKjMAF_^CPy_Ygatb6|;m#z`y@N>vZ0Lx|G*C&< zkAvBuqXR60ngNJoWOUR3otFgbb&EM50ZYpki3nevwLN}@`}Z>x^7#1pfY5=Q1X?y2 zK0&)A^)ci-4`-96EuSMLo9c%7n!LPY@ZTo^fdwf*MuPDd->6&zzFx_38r6O2ysSYp zumM~^yj{yY0H?gq*^zu_#DIDIpsq8v6Z#rvesM8afx!fn0<{hpl&~;NL4}X3%pc)2 zdwUCdD|Uc70yjqh5>{Cm&xee!NJ6cFA6UJ@>F24B5a#wXO)z=vHb0k?1Zgpzjl9;! zGNDtyu@+($m69PQ@$K7JDVLxvLH{yW;JoiKT%?m`x+3-?(OJ{r^xpKcbM0!COV2eN ziBGUDZYxU>y6|xz$$@(xZf*k4-@a9Vi&y2xIbx?11os?-BO>B;5tHJf+WLoQgDXyh z^M(9SRDoWCo5*+p!46tAxo2`hWE!NMyB;skxsdFa_xQmmZDwOLIyMG(c5pjCsRUgW z$bA?T;=1-Kt+P4n_=Mo0K`r(X$c@c=#%k2*GQhowCS56KA0WWarz{kVOP$$WS zydPaIJkfua0#;H*#pq9bs2Sk3esvK@R!Mxj*e_jE%~lRNA;>|%ZGg)Ii(JqOK#eZl zh7@`s!2OxApmX!3TZ9j^N3vjg0H#_N;Iu;Q(9+U^n{h$*d^VKzXa>zk%Jp*eVN}Z( z3Z@Ug9BQH0qll6umFW1-#k{F*5J35*s(5T6e{zEPju^=mZZ0ktcV=^#V8K8!1k(wK ze1Og_w+w~y^YS18;&hoY6f&XBB#lS_NL_P^wWSn_x+Wg)E7P0>*ZA$50uwUaN`(WY zD|oQ6!AL%?TKU}>oYyT7nn#-8B1ljFPJjq-W+>8z|6^63E3D- zeL&XW;sV<0FeruLhTk)tO%>9bYb$#8@S-$&&xhmU;M}z0(d9*HE{o&8SyMSp|L~KPOPRBAP@=>lIMY76$7Zz|N?J-tJbaY)uKh{% zWLrv_TcAc`_16biV{OGCLGX;$kxGTE0+@y}O{Hp4>k@PFB*Ie&_*{l8ru2soS752k zTyp;G+3$pZ;GprqjYKaBJdS8}ThnrVnb!_B{r4x@K|nOM&F(nf!#JGnx_qe__r0AT zl~FO4$T07JXHC%~7g@yem~EtGWG;fltz0S7y}K|?Q1B9p7|@op0QqJUW8=d{o;P{2 znrr{)e?F250#1f|1`6HO*jPTV*Rr^%$-0bgs5K+*CG4jbQcbZ}&|@&O*&iM{u-zgo zQJr4>^EL=qzpprmDU)c{hqH)t@Uc7fEeumKGc`r}vbZD(&FxBZb!fuVnaxZ+dUl-> z{Pfu~$JH>Q}E4NWDU5uaTlNa>m9|Q@l~k zq*G(;FC`^qR*H|7+-s|i{ES!c-D4vsCp-~9r?Wr5=)r@-;LxbzVPXBh+hhkio4l5P zX0SDRPret+hL4TMcgW0(fo+}bTxL|BZm$%(o9Tk-AQ=~OHa?kCYx_1X&#LV^AL|H) z3b0HZH$y0i%p7bnjY|SZahNblcwJvpx-sU&2}c(fbpL;r{kFv0n?JnyQtBJe?S<2w ze`xrYCWT2yOuHS?GBFcgK7^(&3iy0hlMv16|7 zqm{m4>~YpKZ7H+(B`jw+_QBqomW&^7Z~yq=Luc|Y(M2Qso-?Pvuimn526}pQ{U5)4 z$vri_vfhXK2DX#+H8yYpNpL2+$Ce-4>|dmL3}$g@Nou%!)H>{ErL0%L~nU)gX#0s;V{R<>ggX z&4A6k19l-7w}$igesnc`oLTi7=gzI9O-X#2RI*T;pVvJ=%doEn(>hv*fdk_*l5|=m z{yyG$ls#~KaG&1>o0&C162EAb-IrfMWM=Yi)p`@9~U7!f?$cG4vO0k6fy4B?=YE?vr*{TmoI$QU3^Q;U&A zp4Ugg{30)(ee}l5ZTv)N{L$ma4dC)*n0##elzy;l4?BwxgZ3Y`Rd!rJH?dJ;<4&JG z4@@>_kl@FeK0Wk?n@k_m_rm*JjCDb;?)i-Q9T!FPeNa^7LI?!~_ugM4^!Igf544G2 z7+!b$V#gBA5Aynv%YddzddkZu!Gw|K2)Ksnh;D?K#tUZxe8tt@z+DRBVcb^ZANh#I z{wZebR9XHbQdX>2>`9N=v)dspG40Mjb9dBTb!p64dg8(LB*VaG>Fepei}&szwpjuh zS4EcttJR&eXL&^S_z~Tcr~EUa*2@v^?7DU4try<`4xWmMiFZmAUtj(H{n6G8iBqH4 zRjGvx1?taj082;XRD{9Ac}@XkmI}(cHOodlr5nG;O0tZ^JH@ zEE+p@dvI_MkuLc2uwkEgpo^y-HsYB8L_RrL7Y5H@$PhNO#*ZIw<>#+$`MRoKu)e}i zjatYE{-Kxg@F7DAUcMZOF7S^(N{WhxT3GbSNIL_Ji~~pmB8y#ELaoCE?-FD1d^Uia zH^=%3T&VvBsWmCNp%Rf)vcDNk6gN zuE(z{)8ldF;n2`%0ytnp7B2kuy?F(zcB1Q9(0xKd_U9j{TNd5LhMUPNsY~?=!a9HS zt*S~vR7hzPH8M*2JyX)KiFSPW;6Z}(8^l0;64hp``-w!VuTL2HggKiFQNpXZ*pjq` z#Kb9w?n@3*l5Vm1Ys>97=fQjs?}+TLJq!ECn+raCcqTbJ!MV5Z-D7h*f98y5q7y@Z zrp*cN2JRDDwqj5pM`X<}Ob0yv=eO?IVK;TEf=CyDc>45V0|uahm~+8jCHQvPQf5yQ z5b`S20=A0O)}Wb3uu|X9P+irk({aw|_QZ>j5yDP0vHOpmX5pemIkSl%>(t4gd@a4u z9iMLR%O{BDPb5H%wM||8CSzX2jl+nj40`hP=>mpqFE4oD$6v}l&Il$p8MqKPsP(cg zp=v(^rSjDH5E}-Y3=Z3Q)$Kxwqy{%CJ>491(KENZck@1YkU@X&m<yEcO8*-t(3!3u>&wTH>^gA# zo9`{Z{boUS3Y`E_??I1>i+uoozdu84duy`Zsyn@s!^0bkk~-|)A-G`JTHM_=+C)`% zOiqdx)H*Jk{8VFle@C6|+~J(ErI4}BVcU@w<>Vmns~;lV)%*9$TrqHU5+x7IFC`^&&U_-Hl*f1hG>(5|M|MP?MTLUf#i+V*AOAj5&x653BJy9-5o z%IiI2y4=$ZbSNwPR904;=`?1{d;bG2x3^ETt(l@Xdmq@thsrlPBQAMgKS_hL8pWMt zWNd6KBpmqwAL9o`tQG$0EWHD(Z9~sZ3sTt}rS5p?lGc$U(b_Z62Vb?#kv7@2RrbsD zWP4BXf4erz45dU)O}dh)OJ%%N73TykTfUsZc`eFB-?(JOWA%t$2amDn*J(>>c=z@%Z1xMXQ1YK5 z+y0mTb4>{UwPHf0+)^K(CR$CMqr{km7|yHS{C)F-?%4}ayW-N9FYBH&%cCraePRA@ zNKdiijUJuFs0Z5SimFF>B;U0;m1zc7nW33kYKF;!jt}HJkSe_hT%N`rRo0Ji0HyrJ zd|wUTGx$7MhB;5Myjd^?5A0}7(rMqRzobh* zXWr16US1Uf_+9fXz~IT_$0KQqfuuyDts&zE?6pOR!bZ53M5R&k)o@vaKb+^3VCJ>G@4o}-0NfOR$*n~WMV~0-zhfY|wv?6~ZL>QCm25*9 ze1(3K`Fz+L(b!6yxWnBRM$PHdS1|%{+ZbP-lMr*Ts3uub1D^~18y8hUVL#i7hSi>Z z`yQYx9;kQ=nJmV1wqG>=u-uuTQ$8pp{Ws^5Anc*o`*wdnnW*r!&z_OA6N|84vt~{1 zw&)kNk9T^*{c-z&RXm+tlP&&7~VGX13J8Hg4 z@0y=oG^(Jo_>9)fmox`RYJ|?-=L-8Y$O9Nn>j+?t43sG37eeV$8;>y};(zpeesE%c zJm0L$umcASd&!hp-GgDJfS6YM~Jn}~SmSFZ$Z#cVXqNEP_m;_ETC z`rHo4@hBV55R8{`qOC33fAH8#TQl2QtVvja4B$l+2V4%%sO^Lac&0OFfa$Q)Hlqhc zCTxFfWKCI_b^kWks&}R{vUzC0`UL4TW9j=M4I!>cy6sVWSLJ{8X4Y|j5zA)@}yXfs@{UujAj9RX*U-W2-vD}B`b{>5M4 z9J}Pq@C~ZoO3*IXU9cNbt{5dvG&M6{zPwi3rPF4o8FB~2U}{l`@_y@vykB)x%g9l# zLvZh5dVHCRwEi1|Blr)@Nsw11`W?1;9xv7X4<0@wpu=yRCj&jnW`K5A&2F)mabZq5 z92;Em6&4Rc3byE5d3mzeyl9l63YwaHS_60B=p}hHm17;yPJn?5J0TCU#u|D{#8<@D zrFfUf_wFs|^$nbpU&S$+F#wO2G;m2>3ctR0?_MN7x#qWxgxH#f282J)7+M)=a(DL$ zI97bE!cOdQ=)Hc<3Kq*=`vEC3t`gwp;^LCai55T~yf@ZJ&7q<&dHu%^20Nn>fcU)U zD|d=@m6|HV;}kywurLN-WP}#F$$o~dgNc7%_mUjc3)TZ3}K3^kwN%gD>ZJ8H2Ox zRonuSX3>DNbG3kec+;8QKj8R@OXJqCG_d~wYO+l3$<$_DJLs4@kJOX4xL?@na+aRLKN86&q_duTY(){;WZHhD53I zG`&wOTb>5UA~{?7Va)G2kUX*?FXOdX>6&B%X9H{hK4psBoJsOQh^$c@%8K9>**Hb5 zBQj@Z5ryq18*0Zho|S%0n2fwT0YRNOp=o+#5+ZG{<<{06NGdWiDk}{_#`-m*X~>YL z#l?I)&u#PML;&8L*8=q=zLr^^L2{fVxNSkTmHh4y{ji15`XPrk6I zMws`>d`mf6?qc+)baAz~2u|&FR27peQfQm&qn`6L2&Iftx^m^k>luZ!bBFKK?wN5J zfYCnYg3}-@uY<$R#KZ&`DCXZI;xjmRf}I`NkNDzyrfM0G-&#;mTb$_0aLdfha;g2a zg->nXy;n_9pqv(HLS2~>&jhQK;{JB^==Vos$%^npG=e(RR$IO;)D=}KS6>LrSmJ-_ zTq*+sZG>lhbHVn52bJ1JeS(H)5A7JG#xG7(cIvyUUkV-3nX*Hf6*~^0p4`3rE;3+* z83u+Y4)^jG{gJV0Bi;l084_&xLr9;&u;d8|vX}ks$(BBMNqL|GTMfn;c^NZ;Eg_S2_dqEsDQuD!Z_ao5}~c`F@$dxb-_$l2MsU$Eq6!$2)v zOkO|Oj#`U%qmOEhr+y<>Cv@nzZ|&>cb>`?(ZG13Qo@9^YtE`5)A;cnn`1+|DR2tU@ zfYtMA4OuValDxb?Uq$5(0|p=hUx{71)gOrOd~B@x%LMlLt5;Ps4s7lOR6Luy0py(> zQd8McEH+e=)sMmo@8oBJXgz2EvaXQKToQeH$zq;w$9=~{d2YjGf zaISBJvc^zMsou$#I|Th|Vm4~5SbH!lUChgtU5&SkER!Z9*ZIzR)k@oa({^o5CC>wa z2hy0t6y$DR#^DHx6v{O8^!4fd(8cJ%Bh1mwSP=(2e+&n8H@u zXihpjbbLkH>opkr%pZ+&nLNVNuGzP=BkvF?PMeZj)B>5+!+^4mv#=YSqgMon>Ax@qHET zk)YBCf6b$)3mUs#*8Fj(eD(CH*^LWz0#Dik z6^z>QymJcZ=0K#J&lVw-97&E5(Fd;@_F^MIt(TXdKmL#dt{HdKy*xRf8^n+dnw4IZ zmnZ2kY5aKDN1E$k7Af5YauXJ;zoiwTplN!mz@eEp2;o5}{Rn+Ued_Ls{inuF6H5Gz z*>(DZ22FHuC?zVMC(z$N2g;*IU$f0U)ZR`w-<0Tdwytg|YmkS?{V@)NPrN%=pDnTr z7A?XWh?-Z$$ivU@+2co#%2tHCZ*vA5sdHD$)>)muPlv}|;4lmg4~SsH!jY+cG7M(E-b5XF`5WV64YF8A*XAtPJ^SdsaIB7U?z2^DLrnBZ5RcO-dx-K@9>8vGiET*fm z|Ipe7Q9*s4zC$L%7SLB--k5|8AXy=*Ak(`Vv);^^dWCaC!o%l#dTw*LGU^o=5&mrY;-Jp6J%lZ&MSS{|!nxd_AR{B)_h+^}p`Z??C^?#>q#mT|L&F zrUHeApTB?EjJZf~8|eP&N=<~3LSwP&P9C9m9d{AfhP{Gl^r-ed$X+mjuF|HiEE zp6lJfV#+X1QTSUz&&{r@SU$permQG&$Bsl*^MM^gG$tR?8LRZnTx=Zxj%-ik@V+W4 z;K84;xdzqh0>V>yB2XZ2nSX_fmQbRfy>i;JgvARl{9P|AYF4xx>Hna#q{Hzq#|$EVo zadUH|A6Tz%Q&|A88`*F>YIT=8zLO06WI1|%m!vVzb&`F@TF+~TQtDVqEz4Jmi5bO4 zjuOMxVQ5&0QK(eoc#%fX(Yeh<^~(}I&Y@qVEoa}RC9Q2rt^JE8#jZ`c-cv5R`OZ#n z#cX=Dh@(ddNXH2+C!#Au{lMs6-B{%cn++-luKZm(_n*+oY%ld=qN*3JbL4}DqBs)t zj!ku2eA8IFOj7hk1Ss<`GRYH7p`UOLq@DSjiyx3hJrcsZ+eR*!07#UT)ls8}--4S1 zPit7%m)4f`gF@R)_8;Thu(kPoxT5&r@#DXY|J=c()7mz2yR7H@`DrMw7^a3>Sd>c_ zko1Vyk9|=3EVn!yl9QH8?a$*6dp}i<_*-S1=3e|IgjV2doVo?;%vIJpVP{Fn$)A~i zi5M#uN}ob z2FU!)BzNQHoEem`K}zU_2H_Y7A`&mK)}DhI39w2)rcF!;#po0N?ds#_&k0!BBm1$g zt_gNDeWn5ZDSfA<<(1$71%)YlI<{iBK{lk+LE-pAj(ht+x1r$l;q6w7WgJ-|X?|G|(NxBQ}D0P^o{FZd6uOM9rz?7lL~K z-Sjg|SzA&*_3a)bcj`!Je=7VBn57!f{?Yax1sOhxXQplGhSCzAC0Le;IuoX}bO+RM29Xq6s+)ci4AxqPQ+RIS6r$0w3%H6zMA$l76shLar}h8P;k>enPyW7A+) zBx;yT`JSJ`vR$uO2yT#m>eSy{dP$ADw7XErD&zFJ)I+6k7hnCH%QTR&^sG%upA zL4Ga8SEH1vt1D)Qdg-}0G*lfi~~^DQN+x2$2i($0xc zTeLJ#JpK*_`uZ10A(!My-bJg!rKP>0nVhC~DMrpcX4u6ifmU*-&X}8FKu0O~wlI<= z25<@ZJ^tF)cc@AGb|2?=Y{u_Y$xZB-Y*-uE2jA71By-Rsf5UvD<;OCDw&c8uWgngo zKPz{{Y?%jSypTz|L=Z{ng_0?VWfp}C5B}Aw8xfK5ii?}SdbMfWHWBFhKt-wKO0JER z7cqG5%7+h4>`zKIBYcE?ZPOxog+*~%V>k5w=IGHiIdorxrJ?La84P~6^Yeug_`M0o zGRfS6fr7IgSbDyd=?>roiAys0AjD{)EYQ(;Lp$%J7h%sqeSLAsklhCXP1SU6{j!*T zhHwD$4}?9fVV|QIQF4I`K`PT$*Yy62zrCxi#X_~?Y6ROo+b-5LjfvYywlQ5$#Kc3s z;p#uinJxiWt~S?sXx*w;`4>1PQ4Nj0e%-p)%7d2v6NPd!?4^09rxDmBE7?9i{B_xo z?KYbADZ`N7A}W`^?Dk|Kdxp~tm5{DL<0z8hE~@4)U{x_Q$ceaD>;`~{ic&d+g(0`! z{61}(N0M3ZycrpUyOLxY$i<-@{Da)@;nlrbU8U$>08XCnx$1Y zi;E9g?Sr6poHFG`zST?UIJtGD5<#aK2@@(*VLtO9AJLC8oxfuzf!E5pY#& z=0$kieYiTj0l)^|f2*VrtiB@A-yaE+#P$OlK0TU2Yc_#2aY9R*PHpxkIRVBJoCDn+ zEdXyD?28)*YFK-JY2x_>u}!i?*8hgM&ANR3g!z<>vsFA`XlKrR_vXzfQUjQqL9nH& zJLLij@L0ZHl6c)7wcC0O!!0;aaH20l>;NXp?uNR|@Sxu(Ytr|ts;lw#AdDDE+E!Ls z-IqxKy}a1A)*Lo64)=C*GXy|q_=2{lhkh*`r8+*fNbXqv;#J?y+#fjKte|6O>)T7& ztAQ#p>M*R(Q}H>-f^d6viPLRXP(O;RF#_h&qvj z9B}gzg`ur2QA#lG1pE_=7Z2W_ziZE)ImY3nq{@!(j_ekNZg6h-@-%PLBX{RWH|p7S zL<36BU2J?jh@gFpJ{gNhF^QIwRvh>5u-3k+&LpTFqOo7yCyJW3ef!wlRUCi9B#vJK z^%RD&x;K>P)~5O>3F8uJo^e#9_&A76V6qL~xijnFinQm*^uhDNa=Ucuv>P@F3a91B zbag%M9W)esU9sU;MqL6>IcVnE+J>=B5i6&U&Iw5EuBWTZz(qzwcaC3$WN$Kgmt1YuMFQA4j%Z+(Z)rb@qkJslTSkM?-IGOilRDn*j)SvD{66ZLkUR_w(?V*p_?OfkG8|ahQX)P z%Blrmlnhc-I?2fMhcm!%K?N<$%m@;{pPgNSkf-<~OiY}C?*G>9n(qMzv+PZtWN=VW z3Bn^&rGz$PX`84kSB|oS$d%FT0dISvsU?a&$~tk@qsjFe=ePZD49`aM>y;!1lhAxG zHA1f!&IGd-qQyBy+4G^C3sG_tCR7X0-DF)5CLU|&Ya51-RL{P9cM(ye^i44Ng2O{b z#&X5qyKrF;!}8ezWVDHv4fg^G%Pc0ql#i|v1K3|uaHhN;x8?`4>Xg=?G8T;bzWG-Rk zkyZ)+G$BrFmN@tM!V{LNAHAN~-Z9$s6i^=BiQx zBd@BudjO(27!$fd!LCwKQm!m3ySYbM?-A=7X)o}&Bz7H{;9d9IEv6kryi0~+dLrQA z9hn&W_iH_#xI?Kep!diPK6Fof!nQeG1MTPwz&9X;3Fc+}(<2fBs=eWuu64Jb{a%~< zkhcNI^u0h(F_WEXx?k~KLuKf27CcQ&e}udrs!UBxMyvj9bbag#;RFTTCoIFvFwd}E z%}-D@=YHmlmaW|mf|L=FYDxfj1aCpA;6-d{kGRC!+?^ zWb}p;GFz-`*cXTP?v^q6dDXU=K9*|H)j{*pT+R^A zGdug@N}t*Fboc=>D$C1ncDvG~>8Cbg9Tcbb2gySjscy=O0)8eph5>_I^2?;8GCm(N z@+8DQ+v>~;1YCGA;Zqp0n4@tX3&wRQBG{wVeOonjP&;99>!qU7%!n-j-~Enp1Vr53 za~p^sb6OvH_AG~lBv^#w)JZ&YEokcPTelFG?3`50lR%)`gtC~U?DeUSAyo`AtBWvu2SmTzeY$I-n3$ydcpK|!#X&tES*EsZwTos;Wm6)q3lx=OFS^!lBuWAV`Q?SV z4wyu-J_s0xj11xljXR48y&mD7DM9WB{S^2CQ3O~D%SZePl1jt%@L>ZpIV$HC;-M@) zkcPEj{`|Ygta$l?ABv9-f(xm<6W+kj1Pr3VUwlki!`&ljv!H;TI(6IK>3$skdg}hX z2>VWiO8C9V%go@g2)YwtS+=a&at(M?I4=+c79%&6`4=-isG;W{hf%g+}vJq1|NBAkDoq0 zymzlg-N|TzTNXp;!FmJ8iz_Ujg6MVtL&}! zH2J(Q=X>ExoBVrg$GjDB)k8YQT~wgVSAU!8yJe{CnxJTU7P_~tGGm0fXpWA;T_fEC zj6H;brbS%qBR0Q(!LVr;7tLxTeR`YB-D=H(=<^veCm-04+Pc>cA@8Gaz)vBDAj&ViMkBmjD(}iddKwn`W%S6s{GA3r6jZNT)_^ZG4 zkg^1p4S+yhJR_d+=K z4kt+x2;argG1JX3JN)kKUx$=Ro+je*)-BBsoiVgyq^99la>CUHStsN%ql5Z|`+6UD zjHBmeS_DCxb*}usx$x)t`BkiWZ&M2`tt>hN>gJvB8lzv|sIC_(xXl?%nABIMi~pi> zhcZgI+H3CZB?BSVSrpqY9JQ0WyhY>Z30YgAUVm}99AwD)R(869KaZV?4o3VoELvn# z)c)}BpsRQD@|G@NzRzaQdQoJC$&b5yavF>^cqJ#Q(ULWVF;R2)2dlN~N--@z+Fo1j z2efic%H7p0Q%{@_y)Wt6`{#u`z5=WPLJD4D5uJ`o0ZOiv(emSbqMr=cm6jQ}D4<+UE>f5H z^(!a*n6jr#othP9W?}Jg-bFUZJ^GlLVZ%6dW{hxm;x8_nB z>z{DAYHn^9U#4{q0V1)DBu4YaK6q;c@OaQfcDV@?6ddf=2mKK1o;qO7QMkAOr-S_W(Ep(XCc8hM9(>{@Uivj? Date: Tue, 23 Dec 2025 09:37:37 -0700 Subject: [PATCH 2/2] fixed headings --- content/nvidia-graphics-pop.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/content/nvidia-graphics-pop.md b/content/nvidia-graphics-pop.md index 75d100cc28..830fc209dd 100644 --- a/content/nvidia-graphics-pop.md +++ b/content/nvidia-graphics-pop.md @@ -20,7 +20,7 @@ tableOfContents: true The NVIDIA driver is software that allows the operating system to communicate with the NVIDIA graphics card in order to control the GPU, manage performance, handle displays, and run graphics smoothly. This enables the computer to properly use the GPU for things like fast graphics, gaming, video editing, and hardware-accelerated apps. -### List NVIDIA Driver Information +## List NVIDIA Driver Information To list the currently installed NVIDIA driver version, GPU model and CUDA version, open a terminal (SUPER+t) and run the following command. @@ -31,11 +31,11 @@ The driver version, CUDA version and model information are highlighted in red in ![nvidia-smi ouput in the terminal with the NVIDIA driver, CUDA version and model info highlighted in red](/images/nvidia-pop/nvidia-smi.png) -### Install NVIDIA Driver Versions +## Install NVIDIA Driver Versions Run `sudo apt update` before installing, removing, or upgrading NVIDIA drivers to prevent missing-package errors and outdated driver installs. -**System76 NVIDIA Driver** +### System76 NVIDIA Driver Install the NVIDIA driver packaged and tested by System76 to provide graphics stability for Pop!_OS and System76 hardware. @@ -43,7 +43,7 @@ Install the NVIDIA driver packaged and tested by System76 to provide graphics st sudo apt install system76-driver-nvidia ``` -**NVIDIA Driver** +### NVIDIA Driver Install a specific NVIDIA driver version by indicating the version number in the command. In the example below, the driver version is '580.' @@ -51,7 +51,7 @@ Install a specific NVIDIA driver version by indicating the version number in th sudo apt install nvidia-driver-580 ``` -**NVIDIA Driver Open** +### NVIDIA Driver Open The main NVIDIA Driver with some open modules. Install with the correct version number included in the command. In the example below, the driver version is '580. @@ -59,7 +59,7 @@ The main NVIDIA Driver with some open modules. Install with the correct version sudo apt install nvidia-driver-580-open ``` -**Server** +### Server Headless/compute‑oriented driver that does not include the Xorg display driver and related graphics stack, keeping only the kernel module and CUDA libraries. Used where no graphical output is neded. @@ -67,7 +67,7 @@ Headless/compute‑oriented driver that does not include the Xorg display driver sudo apt install nvidia-driver-[version]-server ``` -**Headless** +### Headless No display driver included, but contains the kernel module and user‑space libraries (CUDA, OpenGL/Vulkan). It’s meant for machines that run GPU workloads without ever attaching a monitor. @@ -75,7 +75,7 @@ No display driver included, but contains the kernel module and user‑space libr sudo apt install nvidia-headless-[version] ``` -**Headless-no-dkms** +### Headless-no-dkms Same as `‑headless`, but the kernel module is **pre‑built** for the current kernel instead of being compiled via DKMS. This eliminates the need for a compiler and DKMS infrastructure, which is handy on minimal container images or very locked‑down systems. @@ -84,6 +84,7 @@ sudo apt install nvidia-headless-no-dkms-[version] ``` ## Remove and Reinstall Specific NVIDIA Driver Version + The following set of commands will purge the Nvidia drivers and reinstall the specified version. This process can help fix a broken NVIDIA driver installation, remove older drivers and install new ones. First, update the system packages. @@ -116,7 +117,7 @@ sudo dpkg --configure -a Reboot the system. -## Suspend and Resume Stability +## Suspend and Resume Stability Enabling Systemd power management services can help improve suspend and resume stability.