xrandr does not show HDMI at all - nvidia

I have a laptop (Asus N55SF) with NVIDIA GT555M GPU, with Elementary OS installed (based on Ubuntu).
I have Bumblebee installed, with NVIDIA drivers, which works. (optirun glxspheres has higher fps than just glxspheres)
When I connect a display to the VGA adapter, everything works fine. However, when I try to connect a HDMI device, nothing happens. The HDMI port works on Windows 7 and 8, so hardware failure can't be it.
The weird thing is, when I run xrandr, I get the following output:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1920x1080 60.0*+ 59.9
1680x1050 60.0 59.9
1600x1024 60.2
1400x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1360x768 59.8 60.0
1152x864 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
There is no HDMI device listed using xrandr! I searched the web, tried some other drivers, but I really have no clue what to do next.
Someone who might know what the problem is here?

Although this is an old question, the answer will help probably more people. That xrandr does not list your device often signifies a problem with the driver.
Use the hardware lister to check your hardware;
sudo lshw -C video
You will find that if there is something wrong with the driver that there is a display, but that it is unclaimed:
*-display UNCLAIMED
The reason why your driver isn't working can be manifold. In my case I used a new (apparently yet unsupported) 4.1.0 kernel and the nvidia-346 driver was silently failing in the Ubuntu GUI. Reinstalling it on the command-line with apt-get showed that the compilation failed to insert the module in the kernel. Rolling back to 3.19.0 solved the problem.
PS: In your case you should've used optirun xrandr. HDMI will not be available if the NVIDIA graphical card is not in use.

Same was happening with me. I tried to update and downgrade nvidia drivers but couldn't solve the issue. The reason might be here that your nvidia driver cannot work properly because secure boot might be enabled in the bios settings.
I also checked the gpu properties by sudo lshw -C video
and it showed *-display UNCLAIMED for my nvidia gpu.
Then I tried this and it worked for me-
Switch to nvidia gpu.
Power off the system and enter the bios settings. Find and disable 'secure boot' which I found in security settings in bios.
Reboot to linux.
Switch to nvidia gpu again just in case.
Now xrandr should show all the display output ports.
My gpu - GTX 1650. nvidia-driver version - 460
My laptop - Asus rog strix g(g351gt)

Recently I had run into the same problem when I upgraded my windows 10 to 11(running a dual boot with Kubuntu 20.04). That had changed the secure boot settings. I had to disable that and re-install the Nvidia drivers to get it working again.
Kubuntu 20.04 running on Acer Nitro 5.

Related

Run NVIDIA for GPGPU, Intel for graphics simultaneously

I have a laptop running Ubuntu 18.04 with both Intel and NVIDIA graphics cards
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1)
I would like to use the Intel card for my actual graphics display, and my NVIDIA card for simultaneously running GPGPU things (e.g. TensorFlow models, other CUDA stuff, OpenCL). Is this possible? How would I go about this?
Ideally, I'd be able to turn the NVIDIA GPU on and off easily, so that I can just turn it on when I need to run something on it, and turn it off after to save power.
Currently, I have it set up with nvidia-prime so that I can switch between one card or the other (I need to reboot in between). However, if I've loaded the Intel card for graphics (prime-select intel), then the NVIDIA kernel drivers never get loaded and I can't access the NVIDIA GPU (nvidia-smi doesn't work).
I tried loading the NVIDIA kernel module with sudo modprobe nvidia when running the graphics on Intel, but I get ERROR: could not insert 'nvidia': No such device.
Yes, this is indeed possible. It is called "Nvidia Optimus" and means that the integrated Intel GPU is used by default to save power and the dedicated Nvidia GPU is used only for high-performance applications. Here are guides on how to set it up in Linux:
The Ultimate Guide to Setting Up Nvidia Optimus on Linux
archlinux: Nvidia Optimus
Short answer: You can give a try to my modified version of prime-select, which adds an 'hybrid' profile (graphics on Intel, TensorFlow and other CUDA stuff on Nvidia GPU). https://github.com/lperez31/prime-select-hybrid
Long answer:
I came around the same issue and found several blogs talking about different solutions, but I wanted a more straightforward solution, and I didn't want to have to switch between profiles each time I needed TensorFlow to run on Nvidia GPU.
When setting the 'intel' profile, prime-select blacklists three modules: nvidia, nvidia-drm and nvidia-modeset. It also removes the three aliases to these modules. Thus, when running in intel profile, the sudo modprobe nvidia command should fail. Indeed, if the alias would not have been removed, this command should do the trick.
In order to use Intel for graphics and Nvidia GPU for TensorFlow, the 'hybrid' profile in the modified version of prime-select above blacklists nvidia-drm and nvidia-modeset modules, but not nvidia module. Thus nvidia drivers are loaded, but as nvidia-drm (Display Rendering Manager) is not loaded, the graphics remain on Intel GPU.
If you don't want to use my version of prime-select, you could just edit /usr/bin/prime-select and comment the two following lines:
blacklist nvidia
alias nvidia off
With these lines commented, nvidia-smi command should run even in 'intel' profile, you should be able to use CUDA stuff on Nvidia GPU and your graphics will use Intel.

Raspberry Pi 3B+ Wlan issues

I've bought a Raspberry Pi 3B+(more precisely: the starter kit ABOX Raspberry Pi 3 B+ Kit) and installed Raspbian on it. I connected the Raspberry with the internet by using it's wlan adapter and I tried it also with a Fritzbox Wlan Stick N. The problem is that whenever I need to use the internet connection on both devices both are slowed down dramatically.
The strange thing is that my smartphone seems not to be affected nor affects any of the other connections. This only happens when my main computer (Windows 10) and my Raspberry are trying to use some service on the internet at the same time
Can anyone help me with this? Any help is appreciated
I had the same problem with my RPI, and it turned out to be the Power Management feature.
You can try disabling it:
sudo iwconfig wlan0 power off
If it worked, you can add this command to your rc.local file

Is it possible to run some script on BeagleBone Black while linux is booting?

I want to show some kind of loading screen on LCD display while beagleBone is booting linux.
Is it possible?
thanx
Plymouth is how Fedora and Ubuntu splash screens work.
According to Arch Linux, Plymouth requires Kernel Mode Setting or an applicable buffer, so assuming that you have the DRM modesetting capabilities (see Plymouth link below) you could evaluate cross-compiling from source.
https://www.freedesktop.org/wiki/Software/Plymouth/

centos 7 do not show login screen, startx fails with "xauth: file /home/user/.serverauth.xxxx does not exist"

For some unknown reasons, my NVIDIA driver does not work after installing caffe (I might do "yum update" during caffe installation).
So I re-installed NVIDIA driver, it works properly. But Centos 7 does not show login screen after reboot. The X sever is running, the default is graphical.target.
I also tried to "startx" or "sudo startx", and both shows "xauth: file /home/user/.serverauth.xxxx does not exist"
Is there any suggestion for this problem? Thanks.

How to run GPGPU inside docker image with different from host kernel and GPU driver version

I have machine with several GPUs. My idea is to attach them to different docker instances in order to use that instances in CUDA (or OpenCL) calculations.
My goal is to setup docker image with quite old Ubuntu and quite old AMD video drivers (13.04). Reason is simple: upgrade to newer version of driver will broke my OpenCL program (due to buggy AMD linux drivers).
So question is following. Is it possible to run docker image with old Ubuntu, old kernel (3.14 for example) and old AMD (fglrx) driver on fresh Arch Linux setup with fresh kernel 4.2 and newer AMD (fglrx) drivers in repository?
P.S. I tried this answer (with Nvidia cards) and unfortunately deviceQuery inside docker image doesn't see any CUDA devices (as It happened with some commentors of original answer)...
P.P.S. My setup:
CPU: Intel Xeon E5-2670
GPUs:
1 x Radeon HD 7970
$ lspci -nn | grep Rad
83:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] [1002:6798]
83:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT HDMI Audio [Radeon HD 7970 Series] [1002:aaa0]
2 x GeForce GTX Titan Black
With docker you rely on virtualization on Operating System level. That means you use the same kernel in all containers. If you wish to run different kernels for each container, you'll probably have to use system-level virtualization, e.g., KVM, VirtualBox. If your setup supports Intel's VT-d, you can pass the GPU as a PCIe device to the container(better terminology in this case is, Virtual Machine).

Resources