AnotterKiosk icon indicating copy to clipboard operation
AnotterKiosk copied to clipboard

Doesn’t work on NVIDIA GPUs

Open PPPDUD opened this issue 1 year ago • 21 comments
trafficstars

Whenever I try to boot AnotterKiosk on any device with an NVIDIA GPU, it just hangs on a blinking white cursor on a blank, black background.

It boots just fine on non-NVIDIA GPUs, though.

PPPDUD avatar Mar 06 '24 20:03 PPPDUD

Oh, interesting! Yes, this was only tested with Intel & AMD so far.

What's the exact NVIDIA GPU you're trying to use? Maybe this is a case of missing firmware for noveau (if supported).

Manawyrm avatar Mar 06 '24 20:03 Manawyrm

I'm using a custom-built PC with an NVIDIA GEFORCE RTX 2060 SUPER. GRUB works fine, and whenever AnotterKiosk hangs on a blinking cursor, I can see it doing a little bit of disk activity.

Whenever I press the power button, it shuts down as expected.

On Wed, Mar 6, 2024, 3:17 PM Manawyrm @.***> wrote:

Oh, interesting! Yes, this was only tested with Intel & AMD so far.

What's the exact NVIDIA GPU you're trying to use? Maybe this is a case of missing firmware for noveau (if supported).

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-1981709564, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZKYH6OLRUY7TRTBAILYW52WFAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBRG4YDSNJWGQ . You are receiving this because you authored the thread.Message ID: @.***>

PPPDUD avatar Mar 07 '24 16:03 PPPDUD

Hm, interesting. I'll prepare a newer image with a more modern Linux kernel and send you the release link as soon as it's ready.

In the mean time: Are you familiar with SSH keys / can you setup AnotterKiosk with the authorized_keys file, so you can log onto the Kiosk with another computer? This way, we could look at the log files / error messages. 😄

Adding Nvidia support might be a bit tricky, the newest Nvidia GPU I currently have available is a GTX750 (and that works).

Manawyrm avatar Mar 07 '24 16:03 Manawyrm

@PPPDUD OK, I've released AnotterKiosk v0.3.0, which now contains Linux 6.5. With any luck, it has better Nvidia compatibility.

Please give it a shot: https://github.com/Manawyrm/AnotterKiosk/releases/tag/v0.3.0

Manawyrm avatar Mar 07 '24 17:03 Manawyrm

Okay! I'll give it a shot!

On Thu, Mar 7, 2024, 12:15 PM Manawyrm @.***> wrote:

@PPPDUD https://github.com/PPPDUD OK, I've released AnotterKiosk v0.3.0, which now contains Linux 6.5. With any luck, it has better Nvidia compatibility.

Please give it a shot: https://github.com/Manawyrm/AnotterKiosk/releases/tag/v0.3.0

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-1984036404, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZOT5QEQ36YRFH2E2IDYXCOERAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBUGAZTMNBQGQ . You are receiving this because you were mentioned.Message ID: @.***>

PPPDUD avatar Mar 07 '24 18:03 PPPDUD

Update: Still getting a blinking cursor. One time, it gave me a LightDM error, but most of the time it's just the blinking cursor.

PPPDUD avatar Mar 07 '24 19:03 PPPDUD

One time, it gave me a LightDM error

Ah, good info. I've prepared another release. Will send you the link as soon as it's ready.

Manawyrm avatar Mar 07 '24 19:03 Manawyrm

https://github.com/Manawyrm/AnotterKiosk/releases/tag/v0.3.1

I've added a Xorg module for noveau (the open Nvidia driver). Try that image, it might have a better chance of working :)

Manawyrm avatar Mar 07 '24 19:03 Manawyrm

I will soon!

On Thu, Mar 7, 2024 at 2:50 PM Manawyrm @.***> wrote:

https://github.com/Manawyrm/AnotterKiosk/releases/tag/v0.3.1

I've added a Xorg module for noveau (the open Nvidia driver). Try that image, it might have a better chance of working :)

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-1984312188, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZP7LCE2WZU3VGRISBLYXDAHVAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBUGMYTEMJYHA . You are receiving this because you were mentioned.Message ID: @.***>

PPPDUD avatar Mar 07 '24 21:03 PPPDUD

I tested it on the same computer as before, and it's still hanging on the blinking cursor.

On Thu, Mar 7, 2024, 4:18 PM Javier DeLaGarza < @.***> wrote:

I will soon!

On Thu, Mar 7, 2024 at 2:50 PM Manawyrm @.***> wrote:

https://github.com/Manawyrm/AnotterKiosk/releases/tag/v0.3.1

I've added a Xorg module for noveau (the open Nvidia driver). Try that image, it might have a better chance of working :)

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-1984312188, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZP7LCE2WZU3VGRISBLYXDAHVAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBUGMYTEMJYHA . You are receiving this because you were mentioned.Message ID: @.***>

PPPDUD avatar Mar 08 '24 20:03 PPPDUD

Dang... Then we're kinda out of luck.

To do any further troubleshooting we'd need to get some logfiles, which means you'd need to setup SSH. If you've never done this, it might be a bit hard to do.

Want to continue troubleshooting this? What's your main PCs OS?

Manawyrm avatar Mar 08 '24 21:03 Manawyrm

My main PC runs Windows 11, and I've never used SSH before.

I would be willing to do a bit more debugging work with you.

On Fri, Mar 8, 2024, 4:06 PM Manawyrm @.***> wrote:

Dang... Then we're kinda out of luck.

To do any further troubleshooting we'd need to get some logfiles, which means you'd need to setup SSH. If you've never done this, it might be a bit hard to do.

Want to continue troubleshooting this? What's your main PCs OS?

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-1986419908, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZNJBTUFG4XLR4TA4HLYXIR5DAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGQYTSOJQHA . You are receiving this because you were mentioned.Message ID: @.***>

PPPDUD avatar Mar 08 '24 21:03 PPPDUD

Check you this tutorial, then: https://upcloud.com/resources/tutorials/generating-and-using-ssh-keys-with-putty

and generate an SSH key for your PC. Put the storage medium with AnotterKiosk back into your PC and create a new text file called "authorized_keys" with a text editor (notepad, sublime text, vs code, something like that, not word) and put the stuff from PuttyGen in there. Save the key file to your PC, double click it to load it. If you're doing other Linux stuff later, it's useful to have, maybe check out how this works anyway, it's good for security!

Boot that AnotterKiosk media again and then you need to go to your routers webinterface and try to find out which IP address your AnotterKiosk got. Hopefully it's visible somewhere.

Then you can use Putty (instead of Puttygen), set it to "SSH", enter the IP address of the AnotterKiosk and with a lot of luck you can log into the machine. We can then troubleshoot from there.

Manawyrm avatar Mar 08 '24 21:03 Manawyrm

I'm about 95 percent sure I know the problem.

Simply adding nouveau as a kernel extension doesn't work, make sure to add the flags i915.modeset=0 nouveau.modeline=1 has been added to the end of one of your init lines in GRUB (as in, add it to the end of your boot option's command)

Also make sure initramfs was configured properly, you should have added the options to enable nouveau and to disable the intel/i915 drivers to your /etc/dracut.conf file prior to rebuilding the kernel.

It's generally an either or situation, so pressing e instead of enter in GRUB and adding those flags should just work.

BUT MOST IMPORTANTLY, IF YOU PRESS ctrl+alt+any of the first 7 "f-keys" IN LINUX, IT WILL TAKE YOU TO A BLANK LOGIN TERMINAL ON A DIFFERENT TTY, EVEN IF THE SYSTEM APPEARS TO HAVE COMPLETELY HUNG OR X IS FREAKING OUT. TRY IT ANYTIME, ITS INSTANTANEOUS, AND THE X SESSION GENERALLY RUNS ON F7, SO YOU CAN QUICKLY CHANGE BACK. LINUX BASICALLY STARTS UP 7 DIFFERENT TERMINALS AT BOOTTIME, X IS RUNNING ON TTY7/f7, AND THE OTHER SESSIONS ARE ALWAYS THERE IF YOU NEED THEM

Sorry for the all caps, but I felt it was super important to give this helpful info. SSH is definitely not the way to go AT ALL in this situation lol. You can get the logs, or kill X and then restart it from one of the other TTYs.

It saved me when I was young and learning Linux.

chrisdlees avatar Apr 01 '24 22:04 chrisdlees

Simply adding nouveau as a kernel extension doesn't work

That would be a problem...

add the flags i915.modeset=0 nouveau.modeline=1

I cannot add those flags, as it would break i915 (all Intel GPUs, so 90% of users).

/etc/dracut.conf

No dracut is involved here, this is a Debian-based system, not ArchLinux 😃

SSH is definitely not the way to go AT ALL in this situation lol.

Yes, it is, because there's no other way in. 😄 There are no VTYs and there is no password for either root or the user account. This system is meant to be used as a kiosk, in the worst case being accessible to the public.

I'm not quite sure what the actual issue here is, but without logs it's all a bit of useless guesswork. The system is also somewhat special because it's entirely read-only. This might also cause issues (and those would really only be visible in some log).

You've made a very good point, though: It's possible that AnotterKiosk just initializes the internal GPU (if present) and outputs video there. @PPPDUD Connect your monitor to the internal GPU / to the video outputs on the mainboard. It's possible that the output is on those.

Manawyrm avatar Apr 04 '24 10:04 Manawyrm

Do you mean the video outputs provided by the motherboard on the back of my PC? If so, I'm already connected to them.

On Thu, Apr 4, 2024 at 6:14 AM Manawyrm @.***> wrote:

Simply adding nouveau as a kernel extension doesn't work

That would be a problem...

add the flags i915.modeset=0 nouveau.modeline=1

I cannot add those flags, as it would break i915 (all Intel GPUs, so 90% of users).

/etc/dracut.conf

No dracut is involved here, this is a Debian-based system, not ArchLinux 😃

SSH is definitely not the way to go AT ALL in this situation lol.

Yes, it is, because there's no other way in. 😄 There are no VTYs and there is no password for either root or the user account. This system is meant to be used as a kiosk, in the worst case being accessible to the public.

I'm not quite sure what the actual issue here is, but without logs it's all a bit of useless guesswork. The system is also somewhat special because it's entirely read-only. This might also cause issues (and those would really only be visible in some log).

You've made a very good point, though: It's possible that AnotterKiosk just initializes the internal GPU (if present) and outputs video there. @PPPDUD https://github.com/PPPDUD Connect your monitor to the internal GPU / to the video outputs on the mainboard. It's possible that the output is on those.

— Reply to this email directly, view it on GitHub https://github.com/Manawyrm/AnotterKiosk/issues/12#issuecomment-2036767156, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZTWPZILMIMPAERRSXUQI63Y3URYJAVCNFSM6AAAAABEJWWD52VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZWG43DOMJVGY . You are receiving this because you were mentioned.Message ID: @.***>

PPPDUD avatar Apr 05 '24 20:04 PPPDUD

Do you mean the video outputs provided by the motherboard on the back of my PC? If so, I'm already connected to them.

Wait... You have a Nvidia 2060 and you're connected to your mainboards output instead of the Nvidia GPU?! You definitely shouldn't do that, not even on Windows. That looses a lot of performance (in games, etc.) and causes several other disadvantages.

... switch your monitor to the Nvidia then, play some games on Windows and enjoy tons of free performance? :laughing:

Manawyrm avatar Apr 05 '24 20:04 Manawyrm

Do you mean the video outputs provided by the motherboard on the back of my PC? If so, I'm already connected to them.

Wait... You have a Nvidia 2060 and you're connected to your mainboards output instead of the Nvidia GPU?! You definitely shouldn't do that, not even on Windows. That looses a lot of performance (in games, etc.) and causes several other disadvantages.

... switch your monitor to the Nvidia then, play some games on Windows and enjoy tons of free performance? 😆

Hmm.. never heard of the performance impact before. Can you send me some links that support this theory?

PPPDUD avatar Apr 05 '24 21:04 PPPDUD

Hmm.. never heard of the performance impact before

lol :) After your GPU is done rendering a frame, your CPU has to actively go ahead and copy the image data over PCIe into the framebuffer of your Intel GPU. This will also lead to frame tearing in many cases. The added load on the CPU and PCIe bus will lead to worse frame timings. Your system memory will also have to deliver the full frame rate to each attached display, which can eat into your memory bandwidth:

2 Monitors * 3840px * 2160px * 4 (32bit colors) * 60fps = 3981312000 Bytes/s
3981312000 Bytes/s / 1024 / 1024 = 3796 MByte/s 

So having 2 4k monitors at 60fps wastes at least 4 GByte/s of your system memory throughput. A DDR4 dual-channel system has about 50 GByte/s in total. 8% loss, just for having 2 monitors connected. This is without the video driver/OS copying any video data from a running game (which will eat up even more bandwidth).

Some reddit threads: https://www.reddit.com/r/buildapc/comments/uq0a6o/dedicated_gpu_running_through_motherboard_plug/ https://www.reddit.com/r/buildapc/comments/oftwe3/wrong_hdmi_port_for_4_years_only_realised/ https://www.reddit.com/r/pcmasterrace/comments/5n6ln5/turns_out_im_just_an_idiot_this_whole_time_i/

From the first one:

There a performance hit. On my system (1080ti/UHD630) I get around 20% less FPS plugged into the MB. 

This seems about right.

Manawyrm avatar Apr 05 '24 22:04 Manawyrm

@Manawyrm I feel bad for making so many assumptions, I hope you can forgive my dick-ish-ness... But on a seperate note, have you considered a debug flag for pre-boot time? Maybe even have the flag be chosen by the admin, to be set in a config file, thereby making it so a member of the public couldn't just google it. I dunno, just spitballing.... Unrelated, are you taking pull requests/do you have a roadmap or anything? I kinda feel like I should contribute as penance for being a jerk haha {EDIT} Ah, I dont know how I missed the planned features section of the readme.md. So I guess the question is now just about if you take pulls.

chrisdlees avatar May 03 '24 00:05 chrisdlees