You are not logged in.
Pages: 1
Topic closed
Hello guys. I'm wondering if it's possible to run both an AMD and an NVIDIA GPU in the same system at the same time. I'm currently using a single HD7970GHz, however I'll be working on a CUDA project very soon, so I'm thinking of getting a GTX750Ti, as to be able to at least compile and run the application. I want the AMD card to drive the desktop while the NVIDIA one would only be used for computing. So far I haven't found much information on the topic, apart from a 2012 article (http://streamcomputing.eu/blog/2011-10- … -on-linux/) which suggests that the configuration I'd be going for is possible, while a primary NVIDIA card and an AMD for computation is not.
I'd appreciate it if anyone who has done this, or knows whether it can be done, could confirm that the setup is still possible. (Or that it is not, if that is the case.)
Last edited by stesim (2014-04-07 19:11:34)
Offline
Not currently.
There was a topic on the exact same question.
Offline
systemis :
check https://bbs.archlinux.org/viewtopic.php?id=174166 , there's a post in it from user carneiro who planned to try that.
He hasn't posted results, but you could try contacting him directly.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I've seen that topic, unfortunately, as you said, neither of the guys has posted any results. Additionally those are their last posts on the forum as well, so I doubt I'd get an answer, but I may try. I'm surprised by the lack of information on the topic, as I thought there would be more people with mixed GPUs. I guess most of those are gamers using cheap NVIDIA cards for PhysX in Windows games.
Offline
I actually have a AMD and a Nvidia GPU in my machine, but I highly doubt my configuration will help you. What I do with them is KVM VGA-Passthrough.
I'd be interested in running them both in the same OS and actually tried yesterday, but all I could produce was various errors. This one from dmesg seemed funny
[59174.799291] <3>[fglrx:hal_read_VBIOS] *ERROR* Invalid AMD VBIOS at bus 6!
[59174.799296] <3>[fglrx:hal_init_gpu] *ERROR* Failed to read VBIOS!
[59174.799298] <6>[fglrx] device open failed with code -1
i'm sorry for my poor english wirting skills…
Offline
Unfortunately VGA passthrough won't help me in this case. When you tried running both GPUs in the same OS, which one was driving the desktop? Judging by the error messages I'd say it was the NVIDIA card, which seems to be the more difficult configuration. The other way around at least used to be possible as described in the article I referred to in my original post. As far I can see, it was as simple as installing the drivers in the right order and removing some NVIDIA specific glx libs. I'd love to give it a try if only I had an NVIDIA GPU around.
Offline
The dmesg errors are specific to the proprietary drivers right? Surely it's possible to at least get through the module loading stage if they are radeon and nouveau.
6EA3 F3F3 B908 2632 A9CB E931 D53A 0445 B47A 0DAB
Great things come in tar.xz packages.
Offline
Would it work with Open Source and PRIME?
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
I was able to get my hands on an NVIDIA GPU for a couple of hours and got it running alongside my AMD GPU. Not only did it work, but getting it to do so was surprisingly easy. In case anyone else needs the same setup, here is the configuration I had and how I got it working:
Primary GPU: AMD HD 7970 GHz (on PCIe slot 1, monitor connected), Driver: Catalyst 13.12 from 'catalyst-total' AUR package
Secondary GPU: NVIDIA GTX 560 Ti (no monitor connected), Driver: 334.21 Beta, manual install
1. Download NVIDIA drivers from their website.
2. Stop X (by stopping your display manager).
3. Remove existing GPU drivers. If installed using pacman, force removal ('dd' option) despite existing dependencies.
4. Manually install the NVIDIA driver. When asked, do not generate xorg.conf!
5. (Re)move the libglx.so* files from /usr/lib/xorg/modules/extensions/
6. (Re)move the OpenGL libraries installed by the NVIDIA driver. To identify them, attempt to install fglrx using pacman. Doing so will result in multiple error messages complaining about already existing files. (Re)move those to be able to install fglrx.
7. Install fglrx.
8. Generate xorg.conf using aticonfig.
9. Reboot.
Both OpenCL and CUDA applications run on the NVIDIA GPU. OpenCL works on the AMD card as before.
Edit: It is actually possible to accomplish this much easier:
The AMD catalyst driver can be installed as usual (I'm still using the catalyst-total AUR package). All you need to do then is manually install the NVIDIA driver (from their website) using the --no-opengl-files option.
Whichever method was used, the NVIDIA kernel module needs to be updated after each kernel update (run the driver installer using the -K option).
Last edited by stesim (2014-10-16 21:06:19)
Offline
Wow... I'm surprised you managed it with proprietary drivers...
Here's the killer question: Are you successfully using them at the same time?
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
I was in a desktop environment displayed by the AMD card, running OpenCL / CUDA applications on the NVIDIA GPU (as in, the computation was done on the NVIDIA GPU, any GUI is still handled by AMD). I did not try running OpenCL applications on both cards at the same time, but I don't see why that wouldn't work. I also tried OpenGL applications to make sure that those run fine, and they do (on the AMD GPU of course).
It is not the same as the PRIME / Bumblebee solutions for switching between an IGP and a discrete GPU, as I had to remove the NVIDIA OpenGL libraries. The NVIDIA card is used for computation only, and all I need for that is its driver to be recognized by the CUDA / OpenCL platforms.
Offline
I am currently running an AMD cars using the radeon driver connected to the display, and an NVIDIA Quadro card I intend to use for CUDA.
With the current Archlinux packages, I had to remove mesa-libgl in favor of nvidia-libgl, which gives me no OpenGL on the desktop powered by the radeon driver.
There is an option in the NVIDIA driver installer, --no-opengl-files, which should install the driver without libgl (if I understand correctly). But that would mean a bunch of crap I need to do when updating my system.
So, what I did is the following: install the nvidia, nvidia-utils, opencl-nvidia, and cuda packages. Remove nvidia-libgl (ignoring dependencies) and install mesa-libgl instead.
# pacman -S nvidia nvidia-utils opencl-nvidia cuda
# pacman -Rdd nvidia-libgl
# pacman -S mesa-libgl
I have functional OpenGL on my AMD card using the radeon driver, and nvidia-smi shows my NVIDIA GPU. I have yet to test running CUDA stuff on it though.
So I guess this is the same as stesim did, and I can expect CUDA stuff to work just fine.
Offline
Thank you so much for this! Used the equivalent technique on Ubuntu 15.10 and it worked like a charm.
I was able to get my hands on an NVIDIA GPU for a couple of hours and got it running alongside my AMD GPU. Not only did it work, but getting it to do so was surprisingly easy. In case anyone else needs the same setup, here is the configuration I had and how I got it working:
Primary GPU: AMD HD 7970 GHz (on PCIe slot 1, monitor connected), Driver: Catalyst 13.12 from 'catalyst-total' AUR package
Secondary GPU: NVIDIA GTX 560 Ti (no monitor connected), Driver: 334.21 Beta, manual install1. Download NVIDIA drivers from their website.
2. Stop X (by stopping your display manager).
3. Remove existing GPU drivers. If installed using pacman, force removal ('dd' option) despite existing dependencies.
4. Manually install the NVIDIA driver. When asked, do not generate xorg.conf!
5. (Re)move the libglx.so* files from /usr/lib/xorg/modules/extensions/
6. (Re)move the OpenGL libraries installed by the NVIDIA driver. To identify them, attempt to install fglrx using pacman. Doing so will result in multiple error messages complaining about already existing files. (Re)move those to be able to install fglrx.
7. Install fglrx.
8. Generate xorg.conf using aticonfig.
9. Reboot.Both OpenCL and CUDA applications run on the NVIDIA GPU. OpenCL works on the AMD card as before.
Edit: It is actually possible to accomplish this much easier:
The AMD catalyst driver can be installed as usual (I'm still using the catalyst-total AUR package). All you need to do then is manually install the NVIDIA driver (from their website) using the --no-opengl-files option.Whichever method was used, the NVIDIA kernel module needs to be updated after each kernel update (run the driver installer using the -K option).
Offline
You really didn't need to open an account to necrobump a topic because you managed to get something working on another distribution..
Closing.
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
Pages: 1
Topic closed