More
referral
Increase your income with Hive. Invite your friends and earn real cryptocurrency!

How I Got Hive Fully Functional on a ASUS TUF DASH F15 Laptop

Hello All,
I am posting here to help folks who may want to run Hive.OS on their laptop. I am a huge fan of Hive.os. I have just a tiny personal mining farm, but one of my rigs is a ASUS Laptop with a 3070 that was unstable in Windows making it a pain in the butt to mine on. Here is how I got it running on Hive.os and up to par with what I had in Windows 10, but more stable and easier to manage on Hive.

1.) Getting X Server To Start
I initially ran into issues with XServer not starting. I managed to pretty easily resolve this when I checked my xorg.conf file in /etc/X11/xorg.conf file and saw the PCI bus of my GPU was incorrect. The PCI bus in lspci showed 0000:00:02.0 (integrated) and 0000:01:00.0 for my 3070 Max Q, however the xorg.conf file showed 00:00:02 and 00:01:0 incorrectly. I hard coded the correct PCI bus addresses in /hive/bin/xorg-conf

2.) Getting Nvidia-OC working
Pretty much caused by the same issue as the incorrect PCI address above. I updated /hive/sbin/gpu-detect and added the following sed one liner where it was calling lspci:
list=lspci | grep -E "$GPU_DETECT_STRING"
ā†’
list=lspci | grep -E "$GPU_DETECT_STRING" | sed s/0000://

I also added the same sed statement to the lspci line right above this one. This may make the first fix I did above not necessary but I didnā€™t confirm.

Updated line 258 in nvidia-oc: removed -q parameter for the fan information because of an error querying for the fan speed which is not available in the laptop.

3.) Changed Lid Close Behavior:
Followed the guide here to allow me to run the laptop with the lid closed and additional fan I have blowing down on it:

4.) Downclock the CPU: Since I dual mine ETH and XMR I needed to downclock the CPU. I Followed the guide here to downclock the CPU. Initially the CPU was using the default ā€˜ondemandā€™ scaling_governor, however, this was causing the CPU to turbo boost to 3600 MHz and 95 centigrade. I updated the scaling_max_frequency to 3000000 (make sure to choose a valid value of the available frequencies) to downlock the CPU to 3000 MHz and am running at 72C now.
https://wiki.archlinux.org/title/CPU_frequency_scaling#Tuning_the_ondemand_governor

Windows utilities allows you to scale the wattage the Turbo boost is allowed to use (I found about 22Watts in windows 10 was best), but I am not sure how to get that working and it appears to require MSR updates in Linux.

3 Likes

Thank you for the info.
I have the same laptop. I will try yo follow your instructions.
Did you overclock it? What was your settings?
How did you control the interior fan?
Lot of questions :slight_smile:
I will try this settings soon. I hope it is easy to do.
Best regards

On the GPU I have core clock speed fixed at 540MHz (+340) and Memory 6699 MHz(+1399). 50.87 MH/s for ETH. Itā€™s much more stable than windows which would not keep the core clock fixed at this downclock speed using 95W and would require me to manually turn off/on the OC every day.

It seems on Linux controlling the GPU fan speed is not possible yet unfortunately, so it runs by default in Silent mode it seems. On Windows you can not control it either but only set the fan mode to turbo using Armory Crate. At first I was running the laptop upside down on a wooden desk, with a USB Desk Fan blowing on the air intakes and getting about 66 Celsius. However I have now removed the plastic casing from the bottom of the laptop and have the fan blowing directly on the GPU, getting 65C on the GPU and 72C on the CPU mining XMR (Monero) @ 2.86Kh/s.

It does seem the CPU Fan speed may be controllable though I have not done that yet. Here is the article that shows how to do it:
https://wiki.archlinux.org/title/fan_speed_control

I created the following shell script to downclock my CPU to keep the temps cool.
#!/bin/bash
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
echo performance > /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor
echo 3000000 > /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq
cat /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq

cat /proc/cpuinfo | grep MHz

Hey, maybe it only works on msi, but give isw a try

Overclocking 3080 on laptops works up to 67.33MH/s

1 Like

Hello, Ryan. Thanks for sharing your tips. Iā€™m new to linux and I donā€™t know how to make these adjustments. Would you be able to help me?
Thank you!

Ryan, can you upload an image of your hiveos? It will help us a lot!
Tks!

@sloth49 thank you for the help. Iā€™ve got an Asus laptop with Nvidia 3070 GPU as well. Following your instructions is my first time with Linux. I got Ubuntu on a USB and hiveos on a separate USB. Boot into Ubuntu and use the terminal command line, sudo gedit /file/path to make edits with root authority on hive USB. It took me a couple days to learn that much so you can see Iā€™m totally new.

I have a question: In step 1, I found where my bus id is also wrong and went to edit xorg-conf as you mentioned, but I am not sure on the details of hard coding the bus id. What lines and arguments did you modify to get X server to start?

I can confirm getting Nvidia-oc working as described in step 2 is not enough to also get X server to start and thus be able to oc without errors.

Thanks again, and any help from any source is much appreciated.

Nice job making it this far Demjing. Here is a screenshot of what my xorg.conf looks like on my laptop.

Let me know if you have any more questions. This is at the very bottom of my xorg.conf.

BTW the laptop is still running great. I removed the battery now and dusted the fans out, it took the GPU temp down to ~62 c.

Is that a max-p or max-q?

Hey Michael,
I am happy to help answer questions but I can not teach you how to use Linux :slight_smile: Watch some videos to learn the basics then ask me any questions.

Thanks,
Ryan

Hello. Iā€™ve done first 3 steps, but unfortunately it looks like X Server starts on another screen(?). The hive boots and stucks at:
Starting Hive Console TTY1
Started Hive

Does hard coding means anything more than editing xorg.conf file (is the yellow highlight kind of coded somewhere)? Because after the reboot, the changes are lost, even though the file is read only even for the owner.

Itā€™s my first time i worked with Ubuntu today, so donā€™t blame me for lame questions :wink:

Hi sloth49. I got X Server working with your post. Now, about getting nvidia-oc working, in the file /hive/sbin/gpu-detect, I have this lines:
if [[ ā€œ$2ā€ == ā€œAMDā€ ]]; then
list=lspci | grep -E "$GPU_DETECT_STRING" | grep "AMD" | grep -vE "$GPU_AMD_INTERNAL"
elif [[ ā€œ$2ā€ == ā€œNVIDIAā€ ]]; then
list=lspci | grep -E "$GPU_DETECT_STRING" | grep "NVIDIA" | grep -vE "$GPU_NVIDIA_INTERNAL"
else
list=lspci | grep -E "$GPU_DETECT_STRING"
fi
I changed as you said, using the sed pipe, but leaving the others, and Iā€™ve had no luck. Any thoughts?
Thanks!

This is the error I get:
Thu Nov 4 23:56:02 EET 2021

Detected 1 NVIDIA cards

GPU BUS ID : 01
CLOCK : 200
MEM : 6000
PLIMIT : 95
FAN : 0

FORCE P0 STATE: 0

ERROR: Error resolving target specification ā€˜ā€™ (No targets match target
specification), specified in query ā€˜GPUMemoryTransferRateOffsetā€™.

(exitcode=1)

=== GPU 0, 01:00.0 GeForce RTX 3060 Laptop GPU 5946 MB, PL: 0 W, 0 W, 0 W === 23:56:02
SET GPU CLOCKS: 0 MHz
(exitcode=3)
Max Perf mode: 4
ERROR: Error resolving target specification ā€˜gpu:0ā€™ (No targets match
target specification), specified in assignment
ā€˜[gpu:0]/GPUGraphicsClockOffset[4]=200ā€™.
(exitcode=100)

Use nvidia-oc delay to apply OC with delay (300 secs)
Thanks a lot.

Same Problem here on asus tuf f15 Laptop:

[OK] Stated Hive Console on TTY1.
[OK] Started Hive.

Thats it - nothing.
I conā€™t switch Terminals with Alt+F5 - itā€™s just stuck.

Do I unerstand correctly that editing Hive xorg.conf file from a second Ubuntu USB Stick will do the trick?

UPDATE:

I did boot Ubuntu 20.04 on second usb stick - X comes up just fine - I mounted the Hive stick to /tmp/hive and did:

root@ubuntu:/tmp/hive# lspci |grep -i vga

0000:00:02.0 VGA compatible controller: Intel Corporation Device 9a68 (rev 01)
0000:01:00.0 VGA compatible controller: NVIDIA Corporation Device 25a5 (rev a1)

root@ubuntu:/tmp/hive# grep BusID etc/X11/xorg.conf

BusID          "PCI:0:0:2"
BusID          "PCI:0:1:0"

I switched it for the GPU to:

root@ubuntu:/tmp/hive# grep BusID etc/X11/xorg.conf

BusID          "PCI:0:2:0"
BusID          "PCI:0:1:0"

and rebooted via Hive in best hope ā€¦ BUT - Still stuck at same output:

[OK] Stated Hive Console on TTY1.
[OK] Started Hive.

any other idea?

The weird thing is that Ubuntu 20.04 is running fine on the Laptop and PhoenixMiner (and others I guess) work fine.

can you overclock in ubuntu 20.04? What about your MH? I got 40.50 tops in hiveos, thanks to this:

Hey Tornetto - I didnā€™t try much in Ubuntu as I would prefer HiveOS - how did you get HiveOS to Boot on your ASUS TUF LAptop? Any Tip would be helpful

I just boot from usb, it worked just like that. I didnā€™t do anything special. What is your problem? I got stucked too, but it works from the web console.

Well - I got it working now - the problem was WIFI or letā€™s say me relying on wifi on my other laptops.
I was used to boot Hive from USB - then setup Wifi via console and then join the rig to my account.
On the TUF15 the x-server is not working , and I canā€™t switch to the shell either - so no way to setup wifi.

I now connected it via rj45 cable and voila - it sets ip via DHCP and default user:1 ssh login is possible - yeah :slight_smile:

Turns out the WIFI chip is not supported by HIVE wifi drivers at the moment - which is fine for me - Iā€™ll stay with ethernet cable for now :slight_smile:

This topic was automatically closed 416 days after the last reply. New replies are no longer allowed.