Fedora 37/36/35 NVIDIA Drivers Install Guide [530.30.02 / 525.89.02 / 520.56.06 / 515.86.01 / 510.108.03 / 470.161.03 / 390.157 / 340.108] - Comment Page: 7

This is guide, howto install NVIDIA proprietary drivers (manually using .run installer) on Fedora 37/36/35/34/33/32 and disable Nouveau driver. This guide works with GeForce 8/9/200/300/400/500/600/700/800/900/10/20/30/40 series cards. GeForce RTX 40 series cards works with 530.xx, 525.xx, 520.xx NVIDIA drivers, (RTX 4090) GeForce RTX 30 series cards works with 530.xx, 525.xx, 520.xx, 515.xx, 510.xx and 470.xx NVIDIA drivers, (RTX 3090, RTX 3080 and RTX 3070, RTX 3060, RTX 3060 Ti) GeForce RTX 20 series cards works with 530.xx, 525.xx, 520.xx, 515.xx, 510.xx and 470.xx NVIDIA drivers (RTX 2080 Ti, RTX 2080, RTX 2070 Ti, RTX 2070, RTX 2060) GeForce GT/GTX 600/700/800/900/10 series...

3,233 comments on “Fedora 37/36/35 NVIDIA Drivers Install Guide [530.30.02 / 525.89.02 / 520.56.06 / 515.86.01 / 510.108.03 / 470.161.03 / 390.157 / 340.108] - Comment Page: 7

1 5 6 7 8 9 127
    1. Was running FC22 xorg ABI 19 on FC23. Lenovo W510 w/NVidia FX880m.


      # grep exclude /etc/dnf/dnf.conf
      # exclude=xorg-x11-server-Xorg,xorg-x11-server-Xephyr,xorg-x11-server-Xwayland,xorg-x11-server-common,xorg-x11-server-utils

      and did dnf update. Then installed NVidia 340.96 dkms works fine now that driver supports ABI 20.

      Thanks for good blog.

    2. nvidia-installer: version 358.16 ([email protected])

      Linux oalonso.home 4.2.6-300.fc23.x86_64 #1 SMP Tue Nov 10 19:32:21 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

      03:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)

      however dkms module failed, any suggestion ? (thanks in advance)

      • Hi Mascle,

        Could you check or post your /var/log/nvidia-installer.log, if you installed without DKMS, then latest log is not useful, so you have to run installer again and select DKMS to see possible error(s).

        • Hi! I have almost the same setup and the same problem. My card is GT 640.
          Even when DKMS selected for install */var/log/nvidia-installer.log* still isn’t very useful (maybe just me cos I have not much experience in this) because it just contains a footprint of output.

          P.s: I’ve tried to install w/o DKMS or 32-bit libs, either way ended the same.
          P.p.s: My /var/log/nvidia-installer.log for *352.63*- http://paste.fedoraproject.org/295585/80774414/ but I’ve got the same for *358.16* (I can pick Nvidia’s log for the 358 if it would be helpful).

          • Hi Alex,

            Do you have secure boot enabled?

            • I’m not sure, can you suggest how to check that? I’ve got ASUS ez utility & efi installation.
              Btw, previously I was on fedora 22 & BIOS loader, and everything was fine. Probably that is the case, but I’m confused on how to fix :(

                • Yeah! You were right, after switching off secure boot even drivers from rpmfusion did install. So, I assume these drivers also will. Thanks! You can add this to the article. :-)

      • Have you run this?

        sudo dnf -y install dkms

        By default, I notice some Fedora installations didn’t include dkms support out of the box…
        Maybe OP can add into the installation guide too?

        • Hi Jia Yuan Lo,

          Check step. “2.5 Install needed dependencies”

    3. I installed the driver NVIDIA-Linux-x86_64-352.63 with GT-9800. I was also pleasantly surprised to have the Plymouth splash screen working as well. Excellent and thorough tutorial–Thank you!

      I have two addition to the tutorial that I came across the tutorial

      1) After step 2.8, the NVIDIA installer asks if it should update your existing xorg configuration. I answered yes, which I think is the correct response.

      I also see a new issue that I did not with Noveau. With the NVIDIA driver, you have to press escape for the desktop to show up, after GDM authentication. However the problem is with gnome-3.18.1 shell — an upgrade to gnome-3.18.2 takes care of the issue.

      One other observation: After Plymouth splash screen, the display briefly reverts to some residual grub rhgb commands, prior to displaying the gnome GDM screen. With Noveau driver, it was a smooth transition from Plymouth to GDM, skipping the intermediate rhgb screen and the black blank screen with cursor. I am guessing this is when the xorg enables the NVIDIA proprietary driver. Any tips on how to mimic the smooth transition as it was with Noveau, on NVIDIA proprietary driver?

      • Hi gv,

        You are welcome!

        1. Do you mean step 2.8.7?

        2. I have to check this, normally I use just suspend not poweroff.

        • Hi JR,

          Indeed, with step #2.8.7, the tutorial is now an exact recipe! The one and only comprehensive guide on the web –Thank you!

          As for the transition from Plymouth to GDM, I tried different GRUB command sequence by rearranging the lines in /etc/sysconfig/grub. I don’t know why the sequence matters, but with a certain sequence, there are more rhgb commands still seen executing, even after Plymouth quits and hands over to GDM. I have rearranged the sequence as it was originally, and I get a static RHGB display screen while the graphical gradually appears on blank black screen, and about 10 more seconds later the GDM appears. Is Plymouth quitting too soon? If so, is this a systemctl service start/stop sequence issue?

          All told fedora 23 boot is very slow compared to version 21. Having Plymouth hide the activiy reduces the boot anxiety -:) Also, for this reason, I might rely on suspend/resume just as you have

      • Hi adam,

        This is related to your Broadcom wireless device. What drivers you are using for your Broadcom device?

        If your wireless card is working normally you can try to boot with following extra options:

        quiet loglevel=3 rd.systemd.show_status=false rd.udev.log-priority=3
    4. Thanks so much for this guide! The nVidia drivers are almost impossible without it. You make Linux much more navigable by providing this. I tried to post the command output that you asked for, but it was blocked. :^(

      • Hi Wendell,

        I disabled one rule from WAF, which blocked your comment. Could you try to post it again?

    5. I hit a snag on the Plymouth restore. First, I didn’t realize that this line wasn’t needed unless I didn’t have the fonts:
      grub2-mkfont –output=/boot/grub2/fonts/LiberationMono-Regular.pf2 –size=24 /usr/share/fonts/liberation/LiberationMono-Regular.ttf

      and I ran it anyway. Can I just remove the resultant line from the /etc/default/grub file? I think that’s where it went.

      Second issue, on 4.2 Modify /etc/default/grub
      Add / Modify following lines on /etc/default/grub, use your own
      GRUB_GFXMODE or use auto mode.

      I used 1400x900x24 because that’s the default resolution on my laptop. But I’m getting a large, pixelated Fedora “f” logo whether I set the default theme to be “solar” or”fade-in”. Let me know what else you need to know. Thanks.

      • Actually grub2-mkfont command generates /boot/grub2/fonts/LiberationMono-Regular.pf2 file, you could check if this file exist with following command:

        ls -la /boot/grub2/fonts/LiberationMono-Regular.pf2

        And remove:

        rm /boot/grub2/fonts/LiberationMono-Regular.pf2

        Do you boot your system using BIOS or UEFI?

        • $ ls -la /boot/grub2/fonts/LiberationMono-Regular.pf2
          ls: cannot access /boot/grub2/fonts/LiberationMono-Regular.pf2: No such file or directory

          But I did remove a “LiberationMono-Regular.pf2 line from somewhere. I thought it was in /etc/default/grub. If it was, I already removed it.

          Using BIOS.

            • I now have Plymouth working on my laptop, but the desktop returns an error when I run:

              # grub2-mkconfig -o /boot/grub2/grub.cfg

              /etc/default/grub: line 11: unexpected EOF while looking for matching `”‘

              Line 11 looks the same as it does on the laptop:
              line 11: if [ -s $prefix/grubenv ]; then
              line 12: load_env

              • Line 11 means line 11 from /etc/default/grub file.

                Actually you have styled quotation mark and GRUB_GFXMODE right multi value syntax is:

                ## OR ##

                Comma should also work, if you use same style:

                ## OR ##

                Then it’s also good check grub2-mkconfig output, that set gfxmode= value is also inside quotes:

                grub2-mkconfig |grep gfxmode

                If not, then you need escape quotes in your GRUB_GFXMODE line, like:


                Personally I use just one mode which work, because it’s much easier to use. Of course if you change monitor very often, then this style is much better.

                • I’m not sure what I’m doing wrong. I’m still getting the error message about line 11. It has to help that I’m modifying the right file! :^)
                  Here’s lines 10 and 11 of /etc/default/grub


                  and the error that I get when I run the
                  # grub2-mkconfig -o /boot/grub2/grub.cfg
                  /etc/default/grub: line 11: unexpected EOF while looking for matching `”‘
                  I edited in vi this time. I had been using gedit because I didn’t think it added formatting code.

                  • I found it. I was missing a dbl-quote in line 7. I don’t know why it continued to say line 11. Changed that in vi. rebooting to check it now.

                    • Nice one, I was too slow. It reports line 11, because file ends on line 11 and it can’t find matching double-quotes.

                  • I rechecked your whole conf and if you check line:


                    There is not closing quote, so change it to:


                    And yes VI is excellent editor! ;)

                  • All is well with the world again. Thank you so much for your help!

                    • Nice to hear! You are very welcome!

    6. Great guide, easy to understand, but I’ve got an issue, after reboot back to runlevel 5
      This screen stands forever, it’s been an hour, and it’s the second time I’ve done the procedure, in the first time it happened, then I reinstalled Fedora 23 and tried again, but this screen is all I get. I’ve got GeForce GT 540M, tried in the first time with 358.16, and last with 352.63, I’m new to Linux, please help!

    7. Hi

      Many many thanks for this tuto !
      – FC22 / Card GeForce GTX 850M / nVidia drivers 358.16
      # lspci -nn | grep -E “VGA|3D”
      00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
      01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 850M] [10de:1391] (rev a2)

      I’ve been able to get rid of nouveau, which was causing troubles/locks on my MSI laptop, and have now my dual screen working !

      Unfortunately, I have not been able to use the official nVivida drivers.
      Once installed, I got an “Ooops” white screen from gdm.
      By checking in the journal, it seems that I got a ‘selinux’ error from nvidia-probe to access the /dev/nvidiaxxx driver or some errors about wayland.
      I’ve also tried using selinux=0 at command line, but no more success.
      I was able to logon using KDM but less convenient.

      I will try later on after upgrading to FC23.

        • Hi Jr

          I have already checked, but I don’t have this option.
          I will have to have a look at this bumblebee I guess.
          Thanks for your great support anyway.

          • Hi FabH,

            It looks like that newer laptops (Intel Corporation 4th Gen Core Processor) doesn’t have this option at all. Unfortunately nVidia drivers doesn’t support directly Optimus cards.

            When you check supported devices your device is listed, but this is quote from nVidia docs:
            The driver may be installed normally on Optimus systems, but the NVIDIA X driver and the NVIDIA OpenGL driver may not be able to display to the laptop’s internal display panel unless a means to connect the panel to the NVIDIA GPU (for example, a hardware multiplexer, or “mux”, often controllable by a BIOS setting) is available. On systems without a mux, the NVIDIA GPU can still be useful for offscreen rendering, running CUDA applications, and other uses that don’t require driving a display. More info about Optimus.

            So yes bumblebee is right way to go.

            • Hi JR

              I could confirm it works now with bumblebee/optirun.
              I’ve tested with simple glxgears prog. Do you now about openlGL/3D benchmark tool ?
              Maybe that something that you could add to your already-excellent tuto :-)

              • Excellent!

                I have used http://www.geeks3d.com/gputest/ to do some GPU testing. I normally quickly run this from user home dir instead installing it system wide. There is also Python/Tkinter and GTK+ GUIs available.

                I think that I could soon add FAQ page which contains frequently asked questions and all posted tips and tricks (from users).

    8. Nvidia drivers installed fine but had lingering latency issues using both cinnamon and gnome3/gnome classic, switching to mate desktop runs beautifully.

    9. # cat /etc/default/grub
      GRUB_DISTRIBUTOR=”$(sed ‘s, release .*$,,g’ /etc/system-release)”
      GRUB_CMDLINE_LINUX=”rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet rd.driver.blacklist=nouveau”

      I have tried both 32 and 16 for depth.
      vbeinfo listed “1920×1080 preferred”

      Thanks for your help.

      • These settings in grub gave me high(er) resolution boot screens. Despite my monitor has a 1920×1080 resolution, it looks good now.


    10. [@localhost ~]$ nvidia-installer -v |grep version
      nvidia-installer: version 358.16 ([email protected])
      [@localhost ~]$ uname -a
      Linux localhost.localdomain 4.2.6-301.fc23.x86_64 #1 SMP Fri Nov 20 22:22:41 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
      [@localhost ~]$ lspci |grep -i VGA
      01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 670] (rev a1)

    11. Hmm. After last night’s update, I can’t login with the new kernel – kernel.x86_64 4.2.6-301.fc23. It went all the way up to Plymouth and I got the fade-in logo, then black.

      Fortunately I was still able to login with the previous kernel-4.2.6-300.fc23.x86_64. I was hoping after nVidia came out with a driver that would support Xorg 1.8 that this wouldn’t keep happening. Let me know what info you need. Thanks in advance!

      • I got it. I tried to reinstall the NVIDIA 358.16 driver and it said that the kernel-source or kernel-devel package wasn’t installed for 4.2.6-301. But I see where I did install it last night in my history. I reinstalled it and reinstalled the NVIDIA 358.16 drivers and it came up smelling like daisies. I hope I don’t have to do that every time the kernel updates. Would it be appropriate to exclude the kernel from updating the kernel every couple of weeks and only update it when I’m ready to spend a few minutes fixing it, or is there a better way? Thanks.

        • Hi Wendell,

          You could check your dkms status using following command:

          dkms status

          Example output:

          8192cu, 1.10, 4.2.5-300.fc23.x86_64, x86_64: installed
          8192cu, 1.10, 4.2.6-300.fc23.x86_64, x86_64: installed
          8192cu, 1.10, 4.2.6-301.fc23.x86_64, x86_64: installed
          nvidia, 358.16, 4.2.6-300.fc23.x86_64, x86_64: installed
          nvidia, 358.16, 4.2.6-301.fc23.x86_64, x86_64: installed
          vboxhost, 5.0.10, 4.2.6-300.fc23.x86_64, x86_64: installed
          vboxhost, 5.0.10, 4.2.6-301.fc23.x86_64, x86_64: installed

          DKMS might fail some cases, but also some xorg/mesa lib packages update could also cause this and then almost only way to fix it is reinstall nVidia drivers. Normally nVidia drivers with DKMS works as expected when you just update kernel.

          You could check your updated packages using:

          dnf history
          dnf history info 

          Do you see any xorg/mesa package updates?

          • dkms status only shows 2 vboxhosts, and neither of them for the current 4.2.6-301 kernel.

            dnf history info xorg* shows over 50 of the following types of entries. I don’t know why it shows a begin and end time on 11-23-15 over a period of 15 seconds?

            $ sudo dnf history info xorg*
            Last metadata expiration check performed 1:51:38 ago on Sun Nov 29 07:30:43 2015.
            Transaction ID : 65
            Begin time : Mon Nov 23 21:20:20 2015
            Begin rpmdb : 1947:f89e43839da441daee70ef763d0792fdded44675
            End time : 21:20:31 2015 (11 seconds)
            End rpmdb : 1807:898d61ba6363a597764e7f7e9b31ff33b4ff900e
            User : Wendell
            Return-Code : Success
            Transaction performed with:
            Upgraded dnf-1.1.4-1.fc23.noarch @updates
            Installed rpm-4.13.0-0.rc1.7.fc23.x86_64 @updates
            Packages Altered:
            Erase at-spi2-atk-devel-2.18.1-1.fc23.x86_64 @fedora
            Erase at-spi2-core-devel-2.18.3-1.fc23.x86_64 @updates
            Erase atk-devel-2.18.0-1.fc23.x86_64 @fedora
            Erase cairo-devel-1.14.2-2.fc23.x86_64 @fedora
            Erase cairo-gobject-devel-1.14.2-2.fc23.x86_64 @fedora
            Erase cinnamon-control-center-devel-2.8.0-2.fc23.x86_64 @updates
            Erase cpp-5.1.1-4.fc23.x86_64 @fedora
            Erase dbus-devel-1:1.10.2-1.fc23.x86_64 @updates
            Erase dkms- @fedora

            It ends with this group of output about python.

            Erase redhat-lsb-submod-security-4.1-30.fc23.x86_64 @fedora
            Erase spax-1.5.3-5.fc23.x86_64 @fedora
            Erase systemtap-sdt-devel-2.9-1.fc23.x86_64 @fedora
            Erase wayland-devel-1.9.0-1.fc23.x86_64 @fedora
            Traceback (most recent call last):
            File “/bin/dnf”, line 57, in
            main.user_main(sys.argv[1:], exit_code=True)
            File “/usr/lib/python3.4/site-packages/dnf/cli/main.py”, line 174, in user_main
            errcode = main(args)
            File “/usr/lib/python3.4/site-packages/dnf/cli/main.py”, line 60, in main
            return _main(base, args)
            File “/usr/lib/python3.4/site-packages/dnf/cli/main.py”, line 112, in _main
            File “/usr/lib/python3.4/site-packages/dnf/cli/cli.py”, line 1091, in run
            return self.command.run(self.base.extcmds)
            File “/usr/lib/python3.4/site-packages/dnf/cli/commands/__init__.py”, line 1218, in run
            ret = self.output.historyInfoCmd(extcmds)
            File “/usr/lib/python3.4/site-packages/dnf/cli/output.py”, line 1538, in historyInfoCmd
            self._historyInfoCmd(tid, pats)
            File “/usr/lib/python3.4/site-packages/dnf/cli/output.py”, line 1676, in _historyInfoCmd
            self.historyInfoCmdPkgsAltered(old, pats)
            File “/usr/lib/python3.4/site-packages/dnf/cli/output.py”, line 1751, in historyInfoCmdPkgsAltered
            x, m, u = dnf.yum.packages.parsePackages([hpkg], pats)
            File “/usr/lib/python3.4/site-packages/dnf/yum/packages.py”, line 90, in parsePackages
            TypeError: unhashable type: ‘YumHistoryPackageState’

            Observations? Suggestions? :^)

            • Could you post output of following command:

              rpm -qa kernel\* dkms |sort -V

              dnf history command actually should work right, when you first check ID from dnf history list (ID for this “dnf update” when kernel was updated). And then run example “dnf history info 45”, do you see xorg or mesa package updates?

              • $ rpm -qa kernel\* dkms |sort -V

                No sign of xorg or mesa updates with dnf history info 45.

                • I’m not sure I understood you right about the dnf history info. I also tried it with dnf history info mesa and dnf history info xorg with no results for either in the list.

                  • Hi Wendell,

                    Your output(s) looks good. This history id 45 was just a random example, but maybe it’s easier to wait next kernel update and see what happens then. When next kernel version is available, you could of course update just kernel to see is dkms working.

    12. I wonder, do you know if the mouse failure with Gnome and LXDE (but seemingly not WindowMaker) when the color depth is set to 30 in /etc/X11/xorg.conf is due to the nVidia drivers or to Gnome shell or some other part of the Fedora OS? I have a GTX 970 graphics card and an LG 31MU97-B monitor which should be able to handle it. In Gnome and LXDE with the 30 setting the mouse pointer moves about the screen, but clicking on anything is totally ineffective. Everything seems to be OK with the color depth set to 24. nVidia driver: version 358.16 (November 20, 2015).

      • Hi Robert,

        Your monitor supports 10-bits per one color (30-bit color RGB), but I’m not sure about GTX 970 on Linux environment. There is lot of Windows users discussion about this, and some says that Maxwell is locked 8-bits per one color (24-bit color RGB) and some says that it works only DirectX environment and some says that it works only with DP and so on.

        Could you test it on Windows? This just could prove that your hardware is working.

        • Unfortunately my installation of Windows 10 Preview expired a few weeks ago.

        • The answer I’m seeming to find is that for Geforce cards one can only have 30-bit on DirectX – OpenGL needs a Quadro card (and may not be fully supported on Linux? Better with KDE than Gnome?)

          • Scrub that.

            I’ve installed KDE Plasma and there’s no problem with the 30-bit setting there as far as the mouse is concerned. Native applications seem to work:

            $ xwininfo

            xwininfo: Please select the window about which you
            would like information by clicking the
            mouse in that window.

            xwininfo: Window id: 0x1800003 “darktable”

            Absolute upper-left X: 0
            Absolute upper-left Y: 49
            Relative upper-left X: 0
            Relative upper-left Y: 0
            Width: 4096
            Height: 2076
            Depth: 30
            Visual: 0x21
            Visual Class: TrueColor
            Border width: 0
            Class: InputOutput
            Colormap: 0x20 (not installed)
            Bit Gravity State: NorthWestGravity
            Window Gravity State: NorthWestGravity
            Backing Store State: NotUseful
            Save Under State: no
            Map State: IsViewable
            Override Redirect State: no
            Corners: +0+49 -0+49 -0-35 +0-35
            -geometry 4096×2076+0+0

            a Mono application I use works, a Gambas application I use works, a tcl/tk application I use works, but having problems with Java:

            sun.java2d.InvalidPipeException: Unsupported bit depth: 30
            at sun.java2d.x11.X11SurfaceData.getSurfaceType(X11SurfaceData.java:611)
            at sun.java2d.x11.X11SurfaceData.getSurfaceType(X11SurfaceData.java:516)
            etc etc

            Quoting from the nVidia site “color depth 30 (10 bits per component) support for GeForce 8 series and higher GPUs” was implemented for Linux in version 295.20 (2012.02.13).

            [I haven’t worked out yet how to check what the screen is outputting.]

            • Java solution:

              java -Dsun.java2d.opengl=true [Program Name]

              or as the case may be:

              java -jar -Dsun.java2d.opengl=true [Program Name].jar

              • Thanks Robert!

                Really interesting. Unfortunately I have only 16.7 million colors monitor(s).

                Do you have colorimeter? Maybe you could use dispcalGUI and Argyll CMS to check your screen too.

                • I’d been looking at gray gradient files. The smoothest result was when I opened a GIMP 2.8 created tiff in Darktable and saved it as a 16 bit tiff.

                  Thanks, have now installed dispcalGUI and Argyll CMS. The monitor has some calibration functions of its own, I believe.

                  It will probably take a while for me to work my way through it all.

    13. Just for completeness, it would be great if this guide has a section on uninstalling the Nvidia driver.

    14. I cant get 2.2 right. It says it doesnt find anything:
      chmod +x /home//Downloads/NVNVIDIA-Linux-x86_64-352.63.run

      • chmod +x /home//Downloads/NVNVIDIA-Linux-x86_64-352.63.run.

        For some reasons it posted //

        • Hi,

          Right command is:

          chmod +x /home//Downloads/NVIDIA-Linux-x86_64-352.63.run
          ## OR ##
          chmod +x ~/Downloads/NVIDIA-Linux-x86_64-352.63.run
          • I got it installed now, but i cant watch anything in HD, or play some videos online. And also i cant install flash player(YUM)

            • Nice to hear that you got nVidia drivers installed.

              I can’t help much with this information. I don’t think that this is necessarily nVidia drivers problem? Maybe you are missing some codecs?

              Two easy way to get Flash working on Fedora:
              Install Google Chrome with Pepper Flash

              or if you don’t like Chrome and want Flash to Firefox (or some other browser), then

              Install Adobe flash-plugin

              • Pepper Flash for Firefox:
                add russian fedora free & nonfree repo from http://ru.fedoracommunity.org/repository

                sudo dnf install --nogpgcheck http://mirror.yandex.ru/fedora/russianfedora/russianfedora/free/fedora/russianfedora-free-release-stable.noarch.rpm http://mirror.yandex.ru/fedora/russianfedora/russianfedora/nonfree/fedora/russianfedora-nonfree-release-stable.noarch.rpm

                and install:

                sudo dnf install chromium-pepper-flash freshplayerplugin
1 5 6 7 8 9 127

Leave a Reply to jk Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.